説明

オーディオ符号化/復号化方法、システム及びノイズレベルの推定方法

【課題】良好的に符号化されていない周波数領域係数を再建するように、オーディオ符号化/復号化方法、システム及びノイズレベル推定方法を提供する。
【解決手段】ノイズレベル推定方法は、符号化待ちのオーディオ信号の周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定する。計算して得られるパワースペクトルにより、ゼロビットの符号化サブバンドのオーディオ信号のノイズレベルを推定する。該ノイズレベルは、復号化する場合に、ノイズ充填と周波数帯コピーとのエネルギーの比例を制御することに用いられ、そのなか、ゼロビットの符号化サブバンドとは、分配されたビット数がゼロとする符号化サブバンドである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オーディオ符号化/復号化技術に関し、特に、符号化待ちのの符号サブバンドに対して周波数スペクトル再建を行うオーディオ符号化/復号化方法、システム及びノイズレベルの推定方法に関する。
【背景技術】
【0002】
オーディオ符号化技術は、例えば、デジタルオーディオラジオ、インタネットにおける音楽配信及びオーディオ通信などのマルチメディア応用技術の核心であり、これらの応用が極にオーディオエンコーダの圧縮性能の向上により有利を得ていることになっている。自覚オーディオエンコーダがロッシー変換領域符号化の一種類として、現在の主流のオーディオエンコーダになっている。一般には、符号化ビットレートの制限により、オーディオ符号化の際、部分の周波数領域係数或いは周波数成分が符号化できなくなって、符号化待ちのサブバンドの周波数スペクトル成分をより良好的に回復するために、従来のオーディオコーデックは、常にノイズ充填或いは周波数帯コピーの方法を利用して符号化待ちのサブバンドの周波数スペクトル成分を再建する。G.722.1Cはノイズ充填の方法、HE-AAC-V1は周波数帯コピー技術、G.719ノイズ充填及び簡単な周波数帯コピーの結合の方法を採用する。ノイズ充填を採用する方法は、良好的に符号化待ちのサブバンドの周波数スペクトルエンベロープ及びサブバンドの内の音調、ノイズ成分を回復できない。HE-AAC-V1の周波数帯コピー方法は、符号化前のオーディオ信号に周波数スペクトル分析を行う必要があり、高周波成分の信号に対して音調及びノイズ推定を行い、パラメータを取り出し、さらにオーディオ信号にダウンサンプリングした後、AACエンコーダにより符号化し、その運算の複雑度が高く、且つ比較的に多いパラメータ情報を復号化端に送信し、多数の符号化ビットを占めると共に、さらに符号化遅延を増加する場合もある。G.719のコピー方案が簡単すぎので、良好的に符号化待ちのサブバンドの周波数スペクトルエンベロープ及びサブバンドの内の音調及びノイズ成分を回復できない。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明が解決しようとする技術問題は良好的に符号化されていない周波数領域係数を再建するように、オーディオ符号化/復号化方法、システム及びノイズレベル推定方法を提供することである。
【課題を解決するための手段】
【0004】
前記の技術問題を解決するために、本発明はノイズレベル推定方法を提供し、該方法は、
ノイズレベル推定方法であって、
符号化待ちのオーディオ信号の周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定すること、
計算して得られるパワースペクトルにより、ゼロビットの符号化サブバンドオーディオ信号のノイズレベルを推定し、該ノイズレベルは、復号化する場合に、ノイズ充填と周波数帯コピーとのエネルギーの比例を制御することに用いられ、その中、ゼロビットの符号化サブバンドとは、分配されたビット数がゼロである符号化サブバンドを指すことを含む。
さらに、
前記ゼロビットの符号化サブバンドオーディオ信号のノイズレベルとは、ゼロビットの符号化サブバンドにおいて推定して得られるノイズ成分パワーとゼロビットの符号化サブバンドにおいて推定して得られる音調成分パワーとの比の値である。
さらに、
符号化待ちのオーディオ信号のMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定し、第iフレームの周波数ポイントkのパワー計算式が
【0005】
【数1】

【0006】
であり、そのなか、i=0の場合、
【0007】
【数2】

【0008】
が第iフレームの第k個の周波数ポイントに推定して得られるパワー値を表し、
【0009】
【数3】

【0010】
が第iフレームの第kの周波数ポイントのMDCT係数を表し、λが単極平滑化フィルタのフィルタ係数である。
さらに、
符号化待ちのオーディオ信号の周波数領域係数を1つまたは複数のノイズ充填サブバンドに分割し、推定される符号化待ちのオーディオ信号のパワースペクトルによってある有効ノイズ充填サブバンドのノイズレベルを計算する過程は、具体的に、
該有効ノイズ充填サブバンドにおけるすべてまたは部分のゼロビット符号化サブバンドのすべての周波数領域係数のパワーの平均値を計算して、平均パワー
【0011】
【数4】

【0012】
を得るステップと、
該有効ノイズ充填サブバンドのすべてまたは部分のゼロビット符号化サブバンドにおけるパワーPi(k)が平均パワー
【0013】
【数5】

【0014】
より大きいのすべての周波数領域係数のパワーの平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビット符号化サブバンドの音調成分平均パワー
【0015】
【数6】

【0016】
を得るステップと、
該有効ノイズ充填サブバンドのすべてまたは部分のゼロビット符号化サブバンドにおけるパワーPi(k)が平均パワー
【0017】
【数7】

【0018】
より小さいまたは等しいのすべての周波数領域係数のパワーPi(k)の平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビット符号化サブバンドのノイズ成分平均パワー
【0019】
【数8】

【0020】
を得るステップと、
ノイズ成分平均パワー
【0021】
【数9】

【0022】
と音調成分平均パワー
【0023】
【数10】

【0024】
との比の値
【0025】
【数11】

【0026】
を計算し、該有効ノイズ充填サブバンドのノイズレベルを得るステップとを含み、
そのなか、有効ノイズ充填サブバンドとは、ゼロビット符号化サブバンドを含むノイズ充填サブバンドである。
【0027】
上記技術問題を解決するため、本発明はまたオーディオ符号化方法を提供し、該方法は、
A、符号化待ちのオーディオ信号のMDCT周波数領域係数を複数の符号化サブバンドに分割し、各符号化サブバンドの振幅エンベロープ値を量子化符号化し、振幅エンベロープ符号化ビットを得るステップと、
B、各符号化サブバンドにたいしてビットを分配し、且つ非ゼロビットの符号化サブバンドを量子化符号化し、MDCT周波数領域係数符号化ビットを得るステップと、
C、符号化待ちのオーディオ信号のMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定し、さらにゼロビット符号化サブバンドオーディオ信号のノイズレベルを推定し、且つ量子化符号化し、ノイズレベル符号化ビットを得るステップと、そのなか、該ノイズレベルは、復号化する場合、ノイズ充填と周波数帯コピーとのエネルギーの比例を制御することに用いられ、ゼロビット符号化サブバンドとは、分配されたビット数がゼロとする符号化サブバンドであり、
D、各符号化サブバンドの振幅エンベロープの符号化ビット、周波数領域係数符号化ビット及びノイズレベル符号化ビットをマルチプレックスとパッケージしてから、復号化端に送信するステップとを含む。
さらに、
ステップCの中において、前記ゼロビット符号化サブバンドオーディオ信号のノイズレベルとは、ゼロビット符号化サブバンドの内に推定して得られたノイズ成分パワーとゼロビット符号化サブバンドの内に推定して得られた音調成分パワーとの比の値である。
さらに、
符号化待ちのオーディオ信号のMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定し、第iフレームの周波数ポイントkのパワー推定の計算方法が
【0028】
【数12】

【0029】
そのなか、i=0の場合、
【0030】
【数13】

【0031】
が第iフレームの第k個の周波数ポイントに推定して得られたパワー値を表し、
【0032】
【数14】

【0033】
が第iフレームの第k個の周波数ポイントのMDCT係数を表し、λが単極平滑化フィルタのフィルタ係数である。
さらに、
ステップBの中に、符号化待ちのオーディオ信号の周波数領域係数を1つ或いは複数のノイズ充填サブバンドに分割して、各符号化サブバンドにビットを分配した後、有効ノイズ充填サブバンドにビットを分配し、ステップCの中に、推定された符号化待ちのオーディオ信号のパワースペクトルによりある有効ノイズ充填サブバンドのノイズレベルを計算する過程は、具体的に、
該有効ノイズ充填サブバンドにおけるすべて或いは部分のゼロビット符号化サブバンドのすべての周波数領域係数の平均値を計算し、平均パワー
【0034】
【数15】

【0035】
を得るステップと、
該有効ノイズ充填サブバンドのすべて或いは部分のゼロビット符号化サブバンドの中に、パワーPi(k)が平均パワー
【0036】
【数16】

【0037】
より大きいすべての周波数領域係数のパワーの平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビット符号化サブバンドの音調成分平均パワー
【0038】
【数17】

【0039】
を得るステップと、
該有効ノイズ充填サブバンドのすべて或いは部分のゼロビット符号化サブバンドの中に、パワーPi(k)が平均パワー
【0040】
【数18】

【0041】
より小さいまたは等しいすべての周波数領域係数のパワーPi(k)の平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビット符号化サブバンドのノイズ成分平均パワー
【0042】
【数19】

【0043】
を得るステップと、
ノイズ成分平均パワー
【0044】
【数20】

【0045】
と音調成分平均パワー
【0046】
【数21】

【0047】
との比の値
【0048】
【数22】

【0049】
を計算し、該有効ノイズ充填サブバンドのノイズレベルを得るステップとを含み、
その中、有効ノイズ充填サブバンドとは、ゼロビット符号化サブバンドを含むノイズ充填サブバンドである。
さらに、
ノイズ充填サブバンドを分割する時、均一に分割、或いは人の耳の聴覚特性によって非均一に分割し、1つのノイズ充填サブバンドが1つ或いは複数の符号化サブバンドを含む。
さらに、
ステップBの中に、すべての有効ノイズ充填サブバンドにビットを分配し、或いは、1つ或いは複数の低周波数の有効ノイズ充填サブバンドをスキップし、後続の高周波数の有効ノイズ充填サブバンドにビットを分配し、ステップCの中に、ビットを分配した有効ノイズ充填サブバンドのノイズレベルを計算し、ステップDの中に、該分配されたビットによってノイズレベル符号化ビットをマルチプレックスとパッケージする。
さらに、
各有効ノイズ充填サブバンドが同じビット数を分配し、或いは聴覚特性によって違うビット数を分配する請求項8に記載の方法。
【0050】
以上の技術問題を解決するため、本発明はまたオーディオ復号化方法を提供し、該方法は、
A2、復号化待ちのビットストリームにおける各振幅エンベロープ符号化ビットを復号化逆量子化し、各符号化サブバンドの振幅エンベロープを得るステップと、
B2、各符号化サブバンドにビットを分配し、ノイズレベル符号化ビットを復号化逆量子化してゼロビット符号化サブバンドのノイズレベルを得て、周波数領域係数符号化ビットを復号化逆量子化して非ゼロビットの符号化サブバンドの周波数領域係数を得るステップと、
C2、ゼロビット符号化サブバンドを周波数帯コピーし、且つ各ゼロビットの符号化サブバンドの振幅エンベロープによって該符号化サブバンドの全体のエネルギー充填レベルを制御し、該ゼロビットの符号化サブバンドのノイズレベルによってノイズ充填と周波数帯コピーとのエネルギーの比例を制御し、再建されたゼロビットの符号化サブバンドの周波数領域係数を得るステップと、
D2、非ゼロビットの符号化サブバンドの周波数領域係数と再建されたゼロビットの符号化サブバンドの周波数領域係数に対して逆修正離散コサイン変換(IMDCT)を行い、最終のオーディオ信号を得るステップとを含む。
さらに、
ステップC2の中に、周波数帯コピーの時、MDCT周波数領域係数の中にオーディオ信号のある音調の所在の位置を捜索し、0周波数ポイントから音調位置までの周波数ポイントの帯域幅を周波数帯コピー周期として、且つ0周波数ポイントの後へcopyband_offset個の周波数ポイントを偏移する処から音調位置の周波数ポイントが後へ前記copyband_offset個の周波数ポイントを偏移する処までの周波数段域をソース周波数段域として、ゼロビットの符号化サブバンドを周波数帯コピーし、ゼロビットの符号化サブバンドの内部の最高周波数が捜索された音調の周波数よりも小さい場合、該ゼロビットの符号化サブバンドがノイズ充填のみを採用して周波数スペクトルを再建する。
さらに、
ステップC2の中に、
第1周波数段域の周波数領域係数に対して絶対値或いは平方値を取得して、平滑化フィルタを行い、
平滑化フィルタの結果によって、第1周波数段域フィルタ出力値の最大極値の所在の位置を捜索し、該最大極値の所在の位置をある音調の所在の位置とする。
さらに、
該第1周波数段域の周波数領域係数に対して絶対値を取得し、平滑化フィルタを行う計算式が以下のようであり、
【0051】
【数23】

【0052】
或いは、該第1周波数段域の周波数領域係数平方値に対して平滑化フィルタを行う計算式が
【0053】
【数24】

【0054】
であって、そのなか、μが平滑化フィルタ係数であり、
【0055】
【数25】

【0056】
が第iフレームの第k個周波数ポイントのフィルタ出力値を表し、
【0057】
【数26】

【0058】
が第iフレームの第k個周波数ポイントの復号化された後のMDCT係数であり、且つi=0の場合、
【0059】
【数27】

【0060】
である。
さらに、
前記第1周波数段域は周波数スペクトルの統計特性によって確定されたエネルギーが比較的に集中する低周波数の周波数段域であり、その中、低周波数とは、半分の信号総帯域幅より小さい周波数スペクトル成分である。
さらに、
直接に第1周波数段域の対応する周波数領域係数のフィルタ出力値中から最初の最大値を捜索し、該最大値を第1周波数段域フィルタ出力値の最大極値とする方法によってフィルタ出力値の最大極値を確定する。
さらに、
以下の方法を採用してフィルタ出力値の最大極値を確定し、
該第1周波数段域の中の一段域を第2周波数段域とし、第2周波数段域が対応する周波数領域係数のフィルタ出力値において最初の最大値を捜索し、該最初の最大値が対応する周波数領域係数の位置によって異なる処理を行い、
a.該最初の最大値が第2周波数段域最低周波数の周波数領域係数のフィルタ出力値である場合、該第2周波数段域最低周波数の周波数領域係数のフィルタ出力値を第1周波数段域における一つ前のより低い周波数の周波数領域係数のフィルタ出力値と比較して、次第に前へ比較し続け、現在の周波数領域係数のフィルタ出力値が一つ前の周波数領域係数のフィルタ出力値より大きい場合、該現在の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、或いは、比較を続け、第1周波数段域の最低周波数の周波数領域係数のフィルタ出力値が次の周波数領域係数のフィルタ出力値より大きいことを得た場合、第1周波数段域の最低周波数の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、
b.該最初の最大値が第2周波数段域最高周波数の周波数領域係数のフィルタ出力値であると、該第2周波数段域最高周波数の周波数領域係数のフィルタ出力値を第1周波数段域における次のより大きい周波数の周波数領域係数のフィルタ出力値と比較して、次第に後へ比較し続け、現在の周波数領域係数のフィルタ出力値が次の周波数領域係数のフィルタ出力値よりも大きい場合、該現在の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、或いは、比較を続け、第1周波数段域の最高周波数の周波数領域係数のフィルタ出力値が一つ前の周波数領域係数のフィルタ出力値よりも大きいことを得る場合、第1周波数段域の最高周波数の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、
c.該最初の最大値が第2周波数段域最低周波数と最高周波数の間の周波数領域係数のフィルタ出力値であると、該最初の最大値が対応する周波数領域係数が音調の所在の位置であり、即ち、該最初の最大値が最終に確定された最大極値である。
さらに、
ステップC2の中に、ゼロビット符号化サブバンドに対して周波数帯コピーする場合、先ず、ソース周波数段域及び周波数帯コピーを行う必要があるゼロビット符号化サブバンドの開始シリアルナンバにより該ゼロビットの符号化サブバンドのソース周波数段域コピー開始シリアルナンバを計算し、周波数帯コピー周期を周期とし、ソース周波数段域コピー開始シリアルナンバから始めにソース周波数段域の周波数領域係数を周期的にゼロビット符号化サブバンドにコピーする。
さらに、
ステップC2の中に、ゼロビット符号化サブバンドに対して周波数帯コピーする場合、先ず、ソース周波数段域及び周波数帯コピーを行う必要があるゼロビット符号化サブバンドの開始シリアルナンバにより該ゼロビットの符号化サブバンドのソース周波数段域コピー開始シリアルナンバを計算し、周波数帯コピー周期を周期とし、ソース周波数段域コピー開始シリアルナンバから始めにソース周波数段域の周波数領域係数を周期的にゼロビット符号化サブバンドにコピーする。
さらに、
ステップC2の中に該ゼロビット符号化サブバンドのソース周波数段域コピー開始シリアルナンバを計算する方法は、
周波数領域係数を再建することが必要があるゼロビット符号化サブバンドの開始MDCT周波数領域係数の周波数ポイントのシリアルナンバーを得て、且つfillband_start_freqとし、音調が対応する周波数ポイントのシリアルナンバをTonal_posとし、Tonal_posに1を加えてコピー周期copy_periodを得て、周波数帯コピー偏移をcopyband_offsetとし、fillband_start_freqの値に循環にcopy_periodを差し引いて、該値がソース周波数段域のシリアルナンバの値区間に位置するまでにして、該値がソース周波数段域コピー開始シリアルナンバであり、copy_pos_modとする。
さらに、
ステップC2の中に、周波数帯コピー周期を周期として、ソース周波数段域コピー開始シリアルナンバからソース周波数段域の周波数領域係数を周期的にゼロビットの符号化サブバンドにコピーする方法は、
ソース周波数段域コピー開始シリアルナンバを開始とする周波数領域係数を順次に後へfillband_start_freqを開始位置とするゼロビットの符号化サブバンドにコピーし、ソース周波数段域コピーの周波数ポイントがTonal_pos+copyband_offset周波数ポイントに達するまでにして、再び第copyband_offset個の周波数ポイントから開始する周波数領域係数を続けて後へ該ゼロビットの符号化サブバンドにコピーし、そのように続け、現在のゼロビットの符号化サブバンドのすべての周波数領域係数の周波数帯コピーを完成するまで行うことである。
されに、
ステップC2の中に、以下の方法を採用してゼロビットの符号化サブバンドコピーされた後得られた周波数領域係数に対して、エネルギー調整を行う、
ゼロビットの符号化サブバンドの周波数帯コピーされた後得られた周波数領域係数の振幅エンベロープを計算し、
【0061】
【数28】

【0062】
とし、
コピー後得られた周波数領域係数に対してエネルギー調整を行う一般式が
【0063】
【数29】

【0064】
であり、
その中、
【0065】
【数30】

【0066】
はゼロビットの符号化サブバンドrのエネルギー調整された後の周波数領域係数を表し、
【0067】
【数31】

【0068】
はゼロビットの符号化サブバンドrがコピーされた後得られた周波数領域係数を表し、
【0069】
【数32】

【0070】
はゼロビットの符号化サブバンドrがコピーされた後得られた周波数領域係数
【0071】
【数33】

【0072】
の振幅エンベロープであり、rms(r)はゼロビットの符号化サブバンドrの符号化された前の周波数領域係数の振幅エンベロープであり、振幅エンベロープの量子化指数の逆量子化から得られ、
【0073】
【数34】

【0074】
は、ゼロビットの符号化サブバンドrの周波数帯コピーのエネルギー制御スケール因子であり、その値がゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのノイズレベルにより決定され、具体的な計算式が以下のようであり、
【0075】
【数35】

【0076】
【数36】

【0077】
が充填エネルギースケール因子であり、全体の充填エネルギーのゲインを調整することに用いられ、その値の範囲が(0、1)であり、
【0078】
【数37】

【0079】
が復号化逆量子化により得られたノイズ充填サブバンドjのノイズレベルであり、その中、jがゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのシリアルナンバである。
さらに、
ステップC2の中に、以下の一般式によりエネルギー調整された後の周波数領域係数に対してノイズ充填を行い、
【0080】
【数38】

【0081】
その中、
【0082】
【数39】

【0083】
はゼロビットの符号化サブバンドrの再建周波数領域係数を表し、
【0084】
【数40】

【0085】
は、ゼロビットの符号化サブバンドrのエネルギー調整された後の周波数領域係数を表し、rms(r) はゼロビットの符号化サブバンドrの符号化前の周波数領域係数の振幅エンベロープであり、振幅エンベロープの量子化指数の逆量子化により得られ、
【0086】
【数41】

【0087】
がランダム位相生成器であり、ランダム位相値を生成し、その戻り値が+1または-1であり、
【0088】
【数42】

【0089】
がゼロビットの符号化サブバンドrのノイズレベル制御スケール因子であり、その値がゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのノイズレベルにより決定され、具体的な計算式が以下のようであり、
【0090】
【数43】

【0091】
その中、
【0092】
【数44】

【0093】
が充填エネルギースケール因子であり、全体の充填エネルギーのゲインを調整することに用いられ、その値の範囲が(0、1)であり、
【0094】
【数45】

【0095】
は復号化逆量子化により得られたノイズ充填サブバンドjのノイズレベルであり、その中、jがゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのシリアルナンバである。
さらに、
ステップB2の中に、各符号化サブバンドに対してビット分配をした後、符号化サブバンドを複数のノイズ充填サブバンドに分割し、有効ノイズ充填サブバンドに対してビット分配を行い、ステップC2の中に、ビットを分配された有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドに対し周波数帯コピーを行い、コピーされた周波数領域係数のエネルギーレベル及びノイズ充填のエネルギーレベルを制御し、ビットが分配されていない有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドに対してノイズ充填を行い、その中、有効ノイズ充填サブバンドとは、ゼロビットの符号化サブバンドを含むノイズ充填サブバンドである。
【0096】
以上の技術問題を解決するため、本発明はまたオーディオ符号化システムを提供し、該システムは修正離散コサイン変換(MDCT)ユニット、振幅エンベロープ計算ユニット、振幅エンベロープ量子化及び符号化ユニット、ビット分配ユニット、周波数領域係数符号化ユニット及びビットストリームマルチプレクサ(MUX)を含み、該システムは、さらにノイズレベル推定ユニットを含み、その中には、
MDCTユニットは、オーディオ信号に対して逆修正離散コサイン変換を行い、周波数領域係数を変換することに用いられるものであり、
振幅エンベロープ計算ユニットは、前記MDCTユニットに接続し、前記MDCTにより生成した周波数領域係数を複数の符号化サブバンドに分割し、且つ各符号化サブバンドの振幅エンベロープ値を計算することに用いられるものであり、
振幅エンベロープ量子化及び符号化ユニットは、前記振幅エンベロープ計算ユニットに接続し、各符号化サブバンドの振幅エンベロープ値を量子化及び符号化を行い、各符号化サブバンドの振幅エンベロープの符号化ビットを生成することに用いられるものであり、
ビット分配ユニットは、前記振幅エンベロープ量子化及び符号化ユニットに接続し、各符号化サブバンドにビットを分配することに用いられるものであり、
周波数領域係数量子化符号化ユニットは、MDCTユニット、ビット分配ユニット及び振幅エンベロープ量子化及び符号化ユニットに接続し、各符号化サブバンドにおけるすべての周波数領域係数に対し正規化、量子化及び符号化処理を行い、周波数領域係数符号化ビットを生成することに用いられるものであり、
ノイズレベル推定ユニットは、MDCTユニット及ビット分配ユニットに接続し、符号化待ちのオーディオ信号のMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定し、さらに、ゼロビットの符号化サブバンドのオーディオ信号のノイズレベルを推定し、量子化符号化してノイズレベル符号化ビットを得ることに用いられ、その中、該ノイズレベルが復号化している場合にノイズ充填と周波数帯コピーとのエネルギーの比例を制御することに用いられるものであり、
ビットストリームマルチプレクサ(MUX)は、前記振幅エンベロープ量子化及び符号化ユニット、周波数領域係数符号化ユニット及びノイズレベル推定ユニットに接続し、各符号化サブバンドの符号化ビット及び周波数領域係数の符号化ビットをマルチプレックスし復号化端に送信することに用いられるものである。
さらに、
前記ゼロビットの符号化サブバンドのオーディオ信号のノイズレベルとは、ゼロビットの符号化サブバンド内推定して得られたノイズ成分パワーとゼロビットの符号化サブバンド推定して得られた音調成分パワーとの比の値である。
さらに、
前記ノイズレベル推定ユニットは、具体的に、
符号化待ちのオーディオ信号のMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定することに用いられるパワースペクトル推定モジュールと、
前記パワースペクトル推定モジュールに接続し、前記パワースペクトル推定モジュールが推定したパワースペクトルによりゼロビットの符号化サブバンドオーディオ信号のノイズレベルを推定することに用いられるノイズレベル計算モジュールと、
前記ノイズレベル計算モジュールに接続し、前記ノイズレベル計算モジュールが計算したノイズレベルに対して量子化符号化し、ノイズレベル符号化ビットを得ることに用いられるノイズレベル符号化モジュールとを含む。
さらに、
前記パワースペクトル推定モジュールが以下の一般式を採用して第iフレームの周波数ポイントkのパワーを推定し、一般式が
【0097】
【数46】

【0098】
であり、そのなか、i=0の場合、
【0099】
【数47】

【0100】
は、第iフレームの第k個の周波数ポイントの推定して得られたパワー値を表し、
【0101】
【数48】

【0102】
は、第iフレームの第k個の周波数ポイントのMDCT係数を表し、λは、単極ポール平滑化フィルタのフィルタ係数である。
さらに、
符号化待ちのオーディオ信号の周波数領域係数を1つまたは複数のノイズ充填サブバンドに分割し、前記ノイズレベル計算モジュールの機能は、具体的に、該有効ノイズ充填サブバンドにおけるすべてまたは部分のゼロビットの符号化サブバンドのすべての周波数領域係数パワーの平均値を計算し、平均パワー
【0103】
【数49】

【0104】
を得ることに用いられることと、該有効ノイズ充填サブバンドのすべてまたは部分のゼロビットの符号化サブバンドにおけるパワーPi(k)が平均パワー
【0105】
【数50】

【0106】
よりも大きいすべての周波数領域係数のパワーの平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドの音調成分平均パワー
【0107】
【数51】

【0108】
を得ることに用いられることと、該有効ノイズ充填サブバンドのすべてまたは部分のゼロビットの符号化サブバンドにおけるパワーPi(k)が平均パワー
【0109】
【数52】

【0110】
より小さいまたは等しいすべての周波数領域係数のパワーPi(k)の平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドのノイズ成分平均パワー
【0111】
【数53】

【0112】
を得ることに用いられることと、ノイズ成分平均パワー
【0113】
【数54】

【0114】
と音調成分平均パワー
【0115】
【数55】

【0116】
との比の値を計算し、該有効ノイズ充填サブバンドのノイズレベルを得ることに用いられることとを含み、
その中、有効ノイズ充填サブバンドとは、ゼロビットの符号化サブバンドを含むノイズ充填サブバンドである。
さらに、
前記ノイズレベル推定ユニットは、さらにノイズレベル計算モジュール及びノイズレベル符号化モジュールに接続し、すべての有効ノイズ充填サブバンドにビットを分配し、または1つまたは複数の低周波数の有効ノイズ充填サブバンドをスキップ、後続の比較的に高周波数の有効ノイズ充填サブバンドにビットを分配し、及びノイズレベル計算モジュール及びノイズレベル符号化モジュールに通知することに用いられるビット分配モジュールを含み、
前記ノイズレベル計算モジュールはビットを分配されたノイズ充填サブバンドのみに対してノイズレベルを計算し、
前記ノイズレベル符号化モジュールは、ビット分配モジュールが分配したビットを利用して前記ノイズレベルに対して量子化符号化を行う。
【0117】
以上の技術問題を解決するため、本発明はまたオーディオ復号化システムを提供し、該システムは、ビットストリームデマルチプレクサ(DeMUX)、符号化サブバンド振幅エンベロープ復号化ユニット、ビット分配ユニット、周波数領域係数復号化ユニット、周波数スペクトル再建ユニット、逆修正離散コサイン変換(IMDCT)ユニットを含み、その中には、
前記DeMUXは、復号化待ちのビットストリームの中から振幅エンベロープ符号化ビット、周波数領域係数符号化ビット及びノイズレベル符号化ビットを分離することに用いられるものであり、
前記振幅エンベロープ復号化ユニットは、前記DeMUXに接続し、前記ビットストリームデマルチプレクサが出力した振幅エンベロープ符号化ビットに対して復号化を行い、各符号化サブバンドの振幅エンベロープ量子化指数を得ることに用いられるものであり、
前記ビット分配ユニットは、前記振幅エンベロープ復号化ユニットに接続し、ビットの分配を行い、各符号化サブバンドにおける各の周波数領域係数に分配された符号化ビット数を得ることに用いられるものであり、
周波数領域係数復号化ユニットは、振幅エンベロープ復号化ユニット及びビット分配ユニットに接続し、符号化サブバンドに対して復号化、逆量子化及び逆正規化を行い、周波数領域係数を得ることに用いられるものであり、
ノイズレベル復号化ユニットは、前記ビットストリームデマルチプレクサ及びビット分配ユニットに接続し、ノイズレベル符号化ビットに対して復号化逆量子化を行い、ノイズレベルを得ることに用いられるものであり、
前記周波数スペクトル再建ユニットは、前記ノイズレベル復号化ユニット、周波数領域係数復号化ユニット、振幅エンベロープ復号化ユニット及びビット分配ユニットに接続し、ゼロビットの符号化サブバンドに対して周波数帯コピーを行い、振幅エンベロープ復号化ユニットが出力した振幅エンベロープにより該符号化サブバンドの全体のエネルギー充填レベルを制御し、ノイズレベル復号化ユニットが出力したノイズレベルによりノイズ充填と周波数帯コピーとのエネルギーの比例を制御し、再建のゼロビットの符号化サブバンドの周波数領域係数を得ることに用いられるものであり、
IMDCTユニットは、前記周波数スペクトル再建ユニットに接続し、ゼロビットの符号化サブバンドの周波数スペクトル再建を完成した後の周波数領域係数に対してIMDCTを行い、オーディオ信号を得ることに用いられるものである。
さらに、
前記周波数スペクトル再建ユニットは、次第に接続する周波数帯コピーサブユニット、エネルギー調整サブユニット及びノイズ充填サブユニットを含み、その中には、
周波数帯コピーサブユニットは、ゼロビットの符号化サブバンドに対して周波数帯コピーを行うことに用いられるものであり、
エネルギー調整サブユニットは、ゼロビットの符号化サブバンドが周波数帯コピーされた後得られた周波数領域係数の振幅エンベロープ(sbr_rms(r)とする)を計算し、及び、ノイズレベル復号化ユニットが出力したノイズレベルによりコピーされた後得られた周波数領域係数に対してエネルギー調整を行い、エネルギー調整の一般式が
【0118】
【数56】

【0119】
であることに用いられるものであり、
その中、
【0120】
【数57】

【0121】
はゼロビットの符号化サブバンドrのエネルギー調整された後の周波数領域係数を表し、
【0122】
【数58】

【0123】
はゼロビットの符号化サブバンドrがコピーされた後得られた周波数領域係数を表し、
【0124】
【数59】

【0125】
はゼロビットの符号化サブバンドrがコピーされた後得られた周波数領域係数
【0126】
【数60】

【0127】
の振幅エンベロープであり、rms(r)はゼロビットの符号化サブバンドrの符号化された前の周波数領域係数の振幅エンベロープであり、振幅エンベロープの量子化指数の逆量子化から得られ、
【0128】
【数61】

【0129】
は、ゼロビットの符号化サブバンドrの周波数帯コピーのエネルギー制御スケール因子であり、その値がゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのノイズレベルにより決定され、具体的な計算式が以下のようであり、
【0130】
【数62】

【0131】
【数63】

【0132】
が充填エネルギースケール因子であり、全体の充填エネルギーのゲインを調整することに用いられ、その値の範囲が(0、1)であり、
【0133】
【数64】

【0134】
は復号化逆量子化により得られたノイズ充填サブバンドjのノイズレベルであり、その中、jがゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのシリアルナンバであり、
ノイズ充填サブユニットは、ノイズレベル復号化ユニットが出力したノイズレベルによりエネルギー調整された後の周波数領域係数に対してノイズ充填を行い、ノイズ充填の一般式が
【0135】
【数65】

【0136】
であることに用いられるものであり、
その中、
【0137】
【数66】

【0138】
はゼロビットの符号化サブバンドrの再建周波数領域係数を表し、
【0139】
【数67】

【0140】
は、ゼロビットの符号化サブバンドrのエネルギー調整された後のコピー周波数領域係数を表し、rms(r) はゼロビットの符号化サブバンドrの符号化前の周波数領域係数の振幅エンベロープであり、振幅エンベロープの量子化指数の逆量子化により得られ、
【0141】
【数68】

【0142】
がランダム位相生成器であり、ランダム位相値を生成し、その戻り値が+1または-1であり、
【0143】
【数69】

【0144】
がゼロビットの符号化サブバンドrのノイズレベル制御スケール因子であり、その値がゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのノイズレベルにより決定され、具体的な計算式が以下のようであり、
【0145】
【数70】

【0146】
その中、
【0147】
【数71】

【0148】
が充填エネルギースケール因子であり、全体の充填エネルギーのゲインを調整することに用いられ、その値の範囲が(0、1)であり、
【0149】
【数72】

【0150】
は復号化逆量子化により得られたノイズ充填サブバンドjのノイズレベルであり、その中、jがゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのシリアルナンバである。
さらに、
前記周波数帯コピーサブユニットは、次第に接続する音調位置捜索モジュール、周期及びソース周波数段域計算モジュール、ソース周波数段域コピー開始シリアルナンバ計算モジュール及び周波数帯コピーモジュールを含み、その中には、
音調位置捜索モジュールは、MDCT周波数領域係数においてオーディオ信号のある音調の所在位置を捜索することに用いられるものであり、
周期及びソース周波数段域計算モジュールは、音調の所在位置によりコピーに用いる周波数帯コピー周期及びソース周波数段域を確定することに用いられ、該周波数帯コピー周期が0周波数ポイントから音調位置までの周波数ポイントの帯域幅であり、前記ソース周波数段域 は、0周波数ポイントが後へ周波数帯コピー偏移copyband_offsetを偏移する周波数ポイントから音調位置の周波数ポイントが後へ前記copyband_offsetを偏移する周波数ポイントまでの周波数段域であり、
ソース周波数段域コピー開始シリアルナンバ計算モジュールは、ソース周波数段域及び周波数帯コピーを行う必要があるゼロビットの符号化サブバンドの開始シリアルナンバにより該ゼロビットの符号化サブバンドのソース周波数段域コピー開始シリアルナンバを計算することに用いられるものであり、
前記周波数帯コピーモジュールは、周波数帯コピー周期を周期とし、ソース周波数段域コピー開始シリアルナンバからソース周波数段域の周波数領域係数周期性をゼロビットの符号化サブバンドにコピーし、ゼロビットの符号化サブバンドの内の最高周波数が捜索して得られた音調の周波数より小さい場合、該周波数ポイントがただノイズ充填を採用して周波数スペクトル再建を行うことに用いられるものである。
【0151】
さらに、
前記音調位置捜索モジュールは、以下の方法を採用して音調の所在位置を捜索する。第1周波数段域のMDCT周波数領域係数に対して絶対値または平方値を取って、平滑化フィルタを行い、平滑化フィルタの結果により、第1周波数段域フィルタ出力値の最大極値の所在の位置を捜索し、該最大極値が所在している位置が、即ち、音調の所在位置である。
【0152】
さらに、
前記音調位置捜索モジュールが該第1周波数段域のMDCT周波数領域係数に対して絶対値を取って、平滑化フィルタを行う計算式が
【0153】
【数73】

【0154】
であり、
或いは、該第1周波数段域の周波数領域係数平方値に対して平滑化フィルタの計算が
【0155】
【数74】

【0156】
であり
そのなか、μが平滑化フィルタ係数であり、
【0157】
【数75】

【0158】
が第iフレームの第k個の周波数ポイントのフィルタ出力値であり、
【0159】
【数76】

【0160】
が第iフレームの第k個の周波数ポイントの復号化後のMDCT係数であり、且つi=0の場合、
【0161】
【数77】

【0162】
とする。
【0163】
さらに、
前記第1周波数段域は、周波数スペクトルの統計特性により確定されたエネルギーが比較的に集中している低周波数の周波数段域であり、その中、低周波数とは、1/2の信号総帯域幅より小さい周波数スペクトル成分である。
【0164】
さらに、
前記音調位置捜索モジュール計算モジュールは、直接に第1周波数段域が対応する周波数領域係数のフィルタ出力値の中から最初の最大値を捜索し、該最大値を第1周波数段域フィルタ出力値の最大極値とする。
【0165】
さらに、
前記音調位置捜索モジュールは、フィルタ出力値の最大極値を確定する時、該第1周波数段域の中の一段域を第2周波数段域として、先ず、第2周波数段域が対応する周波数領域係数のフィルタ出力値の中から最初の最大値を捜索し、そして該最初の最大値が対応する周波数領域係数の位置により異なる処理を行い、
a.該最初の最大値が第2周波数段域最低周波数の周波数領域係数のフィルタ出力値であると、該第2周波数段域最低周波数の周波数領域係数のフィルタ出力値を第1周波数段域における一つ前のより低い周波数の周波数領域係数のフィルタ出力値と比較して、次第に前へ比較し続け、現在の周波数領域係数のフィルタ出力値が一つ前の周波数領域係数のフィルタ出力値より大きい場合、該現在の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、或いは、比較し続けて、第1周波数段域の最低周波数の周波数領域係数のフィルタ出力値が次の周波数領域係数のフィルタ出力値より大きい場合、第1周波数段域の最低周波数の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、
b.該最初の最大値が第2周波数段域最高周波数の周波数領域係数のフィルタ出力値である場合、該第2周波数段域最高周波数の周波数領域係数のフィルタ出力値を第1周波数段域における次のより高い周波数の周波数領域係数のフィルタ出力値と比較して、次第に後へ比較し続け、現在の周波数領域係数のフィルタ出力値が次の周波数領域係数のフィルタ出力値より大きい場合、該現在の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、或いは、比較して第1周波数段域の最高周波数の周波数領域係数のフィルタ出力値が一つ前の周波数領域係数のフィルタ出力値より大きい場合、第1周波数段域の最高周波数の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、
c.該最初の最大値が第2周波数段域最低周波数と最高周波数の間の周波数領域係数のフィルタ出力値であると、該最初の最大値が対応する周波数領域係数が音調の所在の位置であり、即ち、該最初の最大値が最終に確定された最大極値である請求項33に記載のシステム。
【0166】
さらに、
前記ソース周波数段域コピー開始シリアルナンバ計算モジュールは、周波数帯コピーを行う必要があるゼロビットの符号化サブバンドのソース周波数段域コピー開始シリアルナンバの計算過程は、現在に周波数領域係数を再建することが必要があるゼロビットの符号化サブバンドの開始周波数ポイントのシリアルナンバを得て、fillband_start_freqとし、音調が対応する周波数ポイントのシリアルナンバをTonal_posとし、Tonal_posに1を加えてコピー周期copy_periodを得て、ソース周波数段域開始シリアルナンバをcopyband_offsetとし、fillband_start_freqの値に循環にcopy_periodを減って、該値がソース周波数段域のシリアルナンバの値区間に位置するまでして、該値がソース周波数段域コピー開始シリアルナンバであり、copy_pos_modとする。
【0167】
さらに、
周波数帯コピーモジュールが周波数帯コピーを行う場合、ソース周波数段域コピー開始シリアルナンバを開始とする周波数領域係数を順次に後へfillband_start_freqを開始位置とするゼロビットの符号化サブバンドにコピーしつづけ、ソース周波数段域コピーの周波数ポイントがTonal_pos+copyband_offset周波数ポイントに達した後、再び第copyband_offset個の周波数ポイントから開始する周波数領域係数を続けて後へ該ゼロビットの符号化サブバンドにコピーし、そのように続け、現在のゼロビットの符号化サブバンドのすべての周波数領域係数コピーを完成するまで行う。
【0168】
さらに、
前記ビット分配ユニットは、
すべての有効ノイズ充填サブバンドにビットを分配し、または1つまたは複数の低周波数の有効ノイズ充填サブバンドをスキップし、後続の比較的に高周波数の有効ノイズ充填サブバンドにビットを分配することにさらに用いられ、
前記エネルギー調整サブユニットは、周波数帯コピーされた後得られた周波数領域係数にエネルギー調整を行い、
前記ノイズ充填サブユニットは、エネルギー調整された後の周波数領域係数、及びビットを分配しないノイズ充填サブバンドにおけるゼロビットの符号化サブバンドにノイズ充填を行う。
【発明の効果】
【0169】
本発明は、符号化端でMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定し、推定して得られるパワースペクトルによりゼロビットの符号化サブバンドオーディオ信号のノイズレベルを推定し、ノイズレベル情報を符号化した後、復号化端に送信し、復号化端のノイズ充填と周波数帯コピーとのエネルギーの比例を制御することに用いられ、復号化端が復号化して符号化MDCT周波数領域係数が得られた後、周波数帯コピー及びノイズ充填の方法を採用して未符号化の符号化サブバンドに対して周波数領域係数の再建を行い、その中に、ノイズ充填と周波数帯コピーとのエネルギーの比例が符号化端から送信したノイズレベル符号化ビットにより制御する。該方法は、良好的に未符号化の符号化サブバンドの周波数スペクトルエンベロープ及び内部の音調ノイズ成分を回復でき、良好的な主観的な聞く効果を得ることになる。
【図面の簡単な説明】
【0170】
【図1】本発明のオーディオ符号化方法の模式図である。
【図2】本発明によるノイズ充填サブバンドの内におけるゼロビットの符号化サブバンドのノイズレベル符号化ビット獲得のプロセス模式図である。
【図3】本発明によりノイズレベル計算のプロセス模式図である。
【図4】本発明のオーディオ復号化方法の模式図である。
【図5】本発明による周波数スペクトル再建のプロセス模式図である。
【図6】本発明によるオーディオ符号化システムの構造模式図である。
【図7】本発明によるノイズレベル推定ユニットのモジュール構造模式図である。
【図8】本発明によるオーディオ復号化システムの構造模式図である。
【図9】本発明による周波数スペクトル再建ユニットのモジュール構造模式図である。
【図10】本発明の実施例のビットストリームの構成模式図である。
【発明を実施するための形態】
【0171】
本発明の主旨は、符号化端においてMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定して、得られるパワースペクトル推定することでゼロビットの符号化サブバンドオーディオ信号のノイズレベルを推定し、ノイズレベル情報を符号化した後、復号化端に送信し、復号化端のノイズ充填と周波数帯コピーとのエネルギーの比例を制御することに用いられ、復号化端において復号化してコードMDCT周波数領域係数が得られた後、周波数帯コピー及びノイズ充填の方法を採用して未符号化の符号化サブバンドに対して周波数領域係数の再建を行い、その中に、ノイズ充填と周波数帯コピーとのエネルギーの比例が符号化端から送信してきたノイズレベル符号化ビットにより制御される。該方法は、良好的に未符号化の符号化サブバンドの周波数スペクトルエンベロープ及び内部の音調ノイズ成分を回復でき、良好的な主観的な聞く効果を得られる。
【0172】
本発明における周波数領域係数とは、MDCT周波数領域係数である。
【0173】
以下、符号化方法、復号化方法、符号化システム及び復号化システムに分け、本発明に対して詳細的に説明する。
【0174】
一、符号化方法
本発明のオーディオ符号化方法は以下のステップを含む。
【0175】
A、符号化待ちのオーディオ信号のMDCT周波数領域係数を複数の符号化サブバンドに分割し、各符号化サブバンドの振幅エンベロープ値を量子化符号化し、振幅エンベロープの符号化ビットを得る。
【0176】
符号化サブバンドを分割している場合、前記MDCTの変換した後の周波数領域係数を複数の等間隔の符号化サブバンドに分け、或いは、聴覚認知特性に従って複数の非均一符号化サブバンドに分割する。
【0177】
B、各符号化サブバンドに対してビットを分配し、且つ非ゼロビットの符号化サブバンドを量子化符号化し、MDCT周波数領域係数の符号化ビットを得る。
【0178】
各符号化サブバンドに対してビットを分配した後、ある符号化サブバンドに分配されたビット数がゼロであると、該符号化サブバンドに対して量子化符号化しなく、本発明には、該符号化サブバンドをゼロビットの符号化サブバンドまたは未符号化の符号化サブバンドをお呼び、他の符号化サブバンドを非ゼロビットの符号化サブバンドと呼ぶ。
【0179】
如何な方法を採用して各符号化サブバンドに対して正規化、量子化及び符号化をすることは、本発明が注目している重点ではない。
【0180】
C、符号化待ちのオーディオ信号のMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定し、さらにはゼロビットの符号化オーディオ信号のノイズレベルを推定し、且つ量子化符号化し、ノイズレベル符号化ビットを得て、そのなか、該ノイズレベル符号化ビットは、復号化する場合、ノイズ充填と周波数帯コピーとのエネルギーの比例を制御することに用いられる。
【0181】
前記ゼロビットの符号化サブバンドオーディオ信号のノイズレベルとは、ゼロビットの符号化サブバンドの内において推定して得られたノイズ成分パワーとゼロビットの符号化サブバンドにおいて推定して得られた音調成分パワーとの比の値である。
【0182】
D、各符号化サブバンドの前記振幅エンベロープの符号化ビット、前記周波数領域係数の符号化ビット及びノイズレベル符号化ビットをマルチプレックスとパッケージしてから、復号化端に送信する。
【0183】
以下、図面を参考して、本発明のオーディオ符号化方法に詳細的な説明を行う。
【0184】
実施例1-符号化方法
図1は、本発明の実施例におけるオーディオ符号化方法の構造模式図である。本実施例おいて、フレーム長さが20ms、サンプリングレートが32kHzであるオーディオストリームを例として具体的に本発明のオーディオ符号化方法を説明する。他のフレーム長さ及びサンプリングレートの場合にも、本発明の方法が同様に適用する。図1のように、該方法が以下のステップを含む。
【0185】
101:符号化待ちのオーディオストリームにMDCT(Modified Discrete Cosine Transform、修正離散コサイン変換)を実施し、N個の周波数領域サンプリングポイントにおける周波数領域係数を得る。
【0186】
本ステップの具体的な実現方式は以下のようにしてもよい。
【0187】
現在のフレームのN点時間領域サンプリング信号x(n)と前の1つのフレームのN点時間領域サンプリング信号xold(n)とを2N点時間領域サンプリング信号x(n)(xはバー付き)に組成し、2N点の時間領域サンプリング信号が次の式で表す。
【0188】
【数78】

【0189】
【数79】

【0190】
に対してMDCT変換を実施し、以下の周波数領域係数を得る。
【0191】
【数80】

【0192】
その中、w(n)は、正弦窓関数であり、表現式が以下のようである。
【0193】
【数81】

【0194】
フレーム長さが20msで、サンプリングレートが32kHzである場合、640個の周波数領域係数を得る。他のフレーム長さ及びサンプリングレートも同様に相応の周波数領域係数の個数Nを計算できる。
【0195】
102: N個の周波数領域係数を複数の符号化サブバンドに分け、各の符号化サブバンドの振幅エンベロープを計算する。
【0196】
本実施例において非均一サブバンド分割を採用し、各のサブバンドの周波数領域振幅エンベロープを計算する(振幅エンベロープと略称する)。
【0197】
本ステップが以下のサブステップを採用して実現できる。
【0198】
102a:処理する必要がある周波数帯範囲における周波数領域係数をL個のサブバンドに分ける(符号化サブバンドとも言う)。
【0199】
本実施例において、処理する必要がある周波数帯範囲は、0〜13.6kHzで、人の耳の自覚特性に応じて非均一サブバンド分割をしてもよく、表1には、1つの具体的な分割方式を挙げている。
【0200】
表1には、0〜13.6kHz周波数帯範囲における周波数領域係数を28個の符号化サブバンドに分割し、即ち、L=28、それに、13.6kHz以上の周波数領域係数を0とする。
【0201】
102b:以下の一般式により各符号化サブバンドの振幅エンベロープを計算する。
【0202】
【数82】

【0203】
その中、LIndex(j)とHIndex(j)がそれぞれ第j個の符号化サブバンドの開始周波数ポイントと終了周波数ポイントを表し、その具体的な数値が表1のようである。
【0204】
表1 周波数領域非均一サブバンド分割方式の実例
【0205】
【表1】

【0206】
103:各符号化サブバンドの振幅エンベロープに対して量子化及び符号化を行い、振幅エンベロープの量子化指数及び振幅エンベロープの量子化指数符号化ビット(即ち振幅エンベロープの符号化ビット)を得る。
【0207】
以下の一般式(5)を採用して一般式(4)により計算して得られた各符号化サブバンド振幅エンベロープに対して量子化を行い、各符号化サブバンド振幅エンベロープの量子化指数を得る。
【0208】
【数83】

【0209】
その中、
【0210】
【数84】

【0211】
は切り捨てる(round down)ことを表し、Thq(0)が第1の符号化サブバンドの振幅エンベロープ量子化指数であり、その範囲を [−5, 34]の内に制限し、即ち
【0212】
【数85】

【0213】
の時、
【0214】
【数86】

【0215】
とし、
【0216】
【数87】

【0217】
の時、
【0218】
【数88】

【0219】
とする。
【0220】
量子化指数により重建された量子化振幅エンベロープが
【0221】
【数89】

【0222】
である。
【0223】
6ビットにより第1の符号化サブバンドの振幅エンベロープ量子化指数に対して符号化し、即ち、6ビットを消耗する。
【0224】
各符号化サブバンドの振幅エンベロープ量子化指数の間の差分計算値が以下の一般式を採用して計算する。
【0225】
【数90】

【0226】
振幅エンベロープに対して以下の修正を行い、ΔTh(j)の範囲が[−15, 16]の内に保証するためである。
【0227】
【数91】

【0228】
場合、
【0229】
【数92】

【0230】
とし、
【0231】
【数93】

【0232】
場合、
【0233】
【数94】

【0234】
とする。
【0235】
【数95】

【0236】
に対してハフマン(Huffman)符号化をし、それに、この時消耗されたビット数(ハフマン符号化ビット・Huffman coded bitsと言う)を計算する。この時のハフマン符号化ビットが一定に分配されたビット数(在本実施例中(L−1)×5より大きい)よりも大きくまたは等しくとする場合、自然符号化方式を採用して
【0237】
【数96】

【0238】
に対して符号化し、それに、振幅エンベロープハフマン符号フラグFlag_huff_rms = 0とし、さもないと、ハフマン符号を利用して
【0239】
【数97】

【0240】
に対して符号化し、それに、振幅エンベロープハフマン符号フラグFlag_huff _rms = 1とする。振幅エンベロープ量子化指数の符号化ビット(即振幅エンベロープ差分値の符号化ビット)及び振幅エンベロープハフマン符号フラグがMUXの中に送信される必要がある。
【0241】
104:各符号化サブバンドの重要性により各符号化サブバンドに対してビットを分配する。
【0242】
先にコードレート歪み理論及び符号化サブバンド振幅エンベロープ情報により各符号化サブバンドの重要性の最初値を計算し、そして、各サブバンドの重要性により各サブバンドに対してビット分配を行い、本ステップが以下のサブステップにより実現できる。
【0243】
104a:単一の周波数領域係数のビット消耗平均値を計算する。
【0244】
20msフレーム長さから提供できる総体のビット数bits_availableにおいて、サイド情報が消耗したビット数bit_sides、ノイズ充填サブバンドのノイズレベル情報予約ビットbits_noiseband及び符号化サブバンド振幅エンベロープが消耗したビット数bits_Thを除去して、残した周波数領域係数符号化に使用できるビット数bits_leftを得て、即ち、
bits_left = bits_available−bit_sides −bits_Th−bits_noiseband (7)である。
【0245】
ノイズ充填サブバンドのノイズレベル情報予約ビットbits_noisebandがノイズ充填サブバンドのノイズレベル符号化ビットために予約したビットであり、ノイズ充填サブバンドのビット分配を完成した後、また残りビットがあると、残したノイズ充填サブバンドノイズレベル情報予約ビットbits_noisebandをビット分配修正に用いられる。
【0246】
サイド情報は、振幅エンベロープハフマン符号フラグFlag_huff_rms、周波数領域係数ハフマン符号フラグFlag_huff_plvq、及び反復回数countのビットを含む。Flag_huff_rmsは、サブバンド振幅エンベロープにハフマン符号を使用したかを標記するために使用され、Flag_huff_plvqは、周波数領域係数に対してベクトル量子化及び符号化しているときハフマン符号を使用したかどうかを標記するために使用され、反復回数countは、ビット分配修正している時の反復回数を標記するために使用される(後続のステップ中の記載を参考)。
【0247】
104b:各符号化サブバンドがビット分配においての重要性最初値を計算する。
【0248】
rk(j)で第j個の符号化サブバンドがビット分配に用いられる時の重要性を表す。
【0249】
104c:各符号化サブバンドの重要性により各符号化サブバンドにビット分配を行う。
【0250】
具体的な説明は以下のようである。
【0251】
先ず、各rk(j)において最大値の所在の符号化サブバンドを探して、該符号化サブバンドの番号がjkであるとし、そして、該符号化サブバンドにおける各周波数領域係数の符号化ビット数を増加し、該符号化サブバンドの重要性を下げて、同時に該サブバンド符号化に用いる消耗したビット総数
【0252】
【数98】

【0253】
を計算し、最後にすべての符号化サブバンドが消耗したビット数の総和sum(bit_band_used (j)), j=0,…,L-1を計算し、消耗されたビット数の総和がビット制限条件下の最大値を提供できることを満足するまで、前記の過程を繰り返す。
【0254】
ビット分配数とは、1つの符号化サブバンドにおいて単一の周波数領域係数が分配されたビット数である。1つの符号化サブバンドが消耗されたビット数とは、該符号化サブバンドにおける単一の周波数領域係数の分配ビット数に該符号化サブバンドに含まれた周波数領域係数の数を掛ける個数である。
【0255】
本実施例において、ビット分配数が0である符号化サブバンドに対して分配されたビットの歩幅が1個のビットであり、ビットが分配された後、重要性が低下した歩幅は1であり、ビット分配数が0以上且つ閾値5以下の符号化サブバンドに対してビット分配を追加している時のビット分配の歩幅が0.5個のビットであり、ビット追加分配した後、重要性が低下した歩幅も0.5であり、ビット分配数が閾値5より大きくまたは等しくとする符号化サブバンドに対してビット追加分配する時のビット分配歩幅が1であり、ビット追加分配した後、重要性が低下した歩幅も1である。
【0256】
本ステップにおけるビット分配方法が以下の擬似コードで表す。
【0257】
region_bit(j)=0、
【0258】
【数99】

【0259】
とし、
符号化サブバンド0,1,…,L−1に対して、
{
【0260】
【数100】

【0261】
を探し、
region_bit(jk)<5と、
{
region_bit(jk)=0と、
region_bit(jk) = region_bit(jk) + 1とし、
bit_band_used(jk) = region_bit(jk) * BandWidth(jk)を計算し、
rk(jk) = rk(jk) − 1とし、
さもないと、region_bit(jk)>=1と、
region_bit(jk) = region_bit(jk) + 0.5とし、
bit_band_used(jk) = region_bit(jk) * BandWidth(jk)*0.5を計算し、
rk(jk) = rk(jk) −0.5とし、
}
さもないと、region_bit(jk)>=5と、
{
region_bit(jk) = region_bit(jk) + 1とし、
【0262】
【数101】

【0263】
とし、
bit_band_used(jk) = region_bit(jk)×BandWidth(jk)を計算し、
}
bit_used_all = sum(bit_band_used(j)) j=0,1,…,L−1を計算し、
bit_used_all < bits_left − 24と、戻し、各符号化サブバンドにおいて再びjkを探し、循環にビット分配値を計算し、その中、24が符号化サブバンド幅の最大値である。
【0264】
さもないと、循環を終了させ、ビット分配値を計算し、この時のビット分配値を出力する。
【0265】
}
最後に、符号化サブバンドの重要性により、残りの24個未満のビットを以下の原則により要求を満足する符号化サブバンドに分配し、優先にビットが1と分配された符号化サブバンドにおいて、各の周波数領域係数に0.5個のビットを分配し、同時に該符号化サブバンドの重要性0.5を下げ、さもないと、ビット分配が0であるサブバンドにおける各周波数領域係数に1個のビットを分配し、同時に、該符号化サブバンドの重要性1を下げ、bit_left−bit_used_all < 4までにして、ビット分配を終了。
【0266】
その中、MaxBitが符号化サブバンドにおいて単一の周波数領域係数に分配できる最大の符号化ビット数である。本実施例おいてMaxBit=9を採用する。この値がコーデックのコーディングレートにより適当に調整できる。region_bit(j)が第j個の符号化サブバンドにおいて単一の周波数領域係数に分配されたビット数である。
【0267】
105:ステップ104のビット分配の結果に基づいて、内部にゼロビットの符号化サブバンドを含有する有効ノイズ充填サブバンドにビットを分配し、MDCT周波数領域係数によりオーディオ信号のパワースペクトルを推算し、推定して得られたパワースペクトルに基づいて有効ノイズ充填サブバンドのノイズレベルを推定し、該ノイズレベル情報に対して量子化符号化を行い、ノイズ充填サブバンドのノイズレベル符号化ビットを得る。
【0268】
N個のMDCT周波数領域係数を1つのノイズ充填サブバンドと見なしてもよく、均一に分割してもよく、或いは人の耳の聴覚特性により複数のノイズ充填サブバンドに分割する。1つのノイズ充填サブバンドは、1つ或いは複数の符号化サブバンドを含む。
【0269】
本発明には、内部にゼロビットの符号化サブバンドを含むノイズ充填サブバンドを有効ノイズ充填サブバンドと言う。
【0270】
ノイズ充填サブバンドのビット分配を行う時、すべての有効ノイズ充填サブバンドにビットを分配してもよく、1つまたは複数の低周波数の有効ノイズ充填サブバンドをスキップし、後続の比較的に高周波の有効ノイズ充填サブバンドにビットを分配してもよく、それに対応して、復号化している時に、該ビットを分配していない低周波数の有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドに対してホワイトノイズ充填の方式を採用して、周波数スペクトル再建を行う。
【0271】
それぞれの有効ノイズ充填サブバンドに同じビット数を分配し、或いは人の耳が各のサブバンドに対する聴覚特性により異なるビット数を分配する。後に、有効ノイズ充填サブバンドのノイズレベル符号化ビットを得た後、該ビットをマルチプレックスとパッケージする。
【0272】
106:非ゼロビットの符号化サブバンドのベクトルに対して量子化及び符号化を行い、周波数領域係数の符号化ビットを得る。
【0273】
107:符号化ストリームを構造する。
【0274】
図10は、本発明の実施例の符号化ストリーム構成模式図である。先ず、サイド情報をFlag_huff_rms、Flag_huff_plvq及びcountの順序でビットストリームマルチプレクサMUXに書き込み、そして、符号化サブバンド振幅エンベロープ符号化ビットをMUXに書き込み、そして、ノイズレベル符号化ビットをMUXに書き込み、そして、周波数領域係数の符号化ビットをMUXに書き込み、最後に前記の順序で書き上げた符号化ストリームを復号化端に送信する。
【0275】
以下、図面を参考してN個のMDCT周波数領域係数を複数のノイズ充填サブバンドに分割し、且つ第2の有効ノイズ充填サブバンドのビット分配から例としてステップ105に詳細的な説明を行う。
【0276】
図2のように、ノイズ充填サブバンドの内におけるゼロビットの符号化サブバンドのノイズレベル符号化ビットを得る過程は、具体的に、以下のステップを含む。
【0277】
201:符号化サブバンドを複数のノイズ充填サブバンドに分割し、符号化サブバンドのビットの分配結果により、有効ノイズ充填サブバンドにビットを分配する。
【0278】
処理する必要がある周波数帯範囲における周波数領域係数を人の耳の聴覚特性により非均一に複数のサブバンドに分割し、ノイズ充填サブバンドと言って、1つのノイズ充填サブバンドには、1つまたは複数の符号化サブバンドを含む。
【0279】
ひとつの実例の具体的な分割方式実例が表2を参考する。
【0280】
表2 ノイズ充填サブバンドの非均一サブバンド分割方式実例
【0281】
【表2】

【0282】
以上の表2には、ノイズ充填サブバンドは、符号化サブバンド周波数に基づいて低から高までの順序で配列されるものである。
【0283】
ノイズ充填サブバンドノイズレベル情報予約ビットは、シリアルナンバ0以外の各ノイズ充填サブバンドに2つのビットを予約したら、総予約ビット数がノイズ充填サブバンドの個数に1を減って2を掛けるものである。
【0284】
ビット分配している時、シリアルナンバが0であるノイズ充填サブバンドにビットを分配しなく、即ち、符号化ビットを占めなく、相応的に、復号化している時、シリアルナンバが0であるノイズ充填サブバンドに対して、内部にゼロビットの符号化サブバンドを有すると、ホワイトノイズ充填方法を採用してゼロビットの符号化サブバンドの周波数領域係数に対して周波数スペクトル再建を行い、詳しいことは、ステップ504を参考し、シリアルナンバが1であるノイズ充填サブバンドから該ノイズ充填サブバンドの内部にはゼロビットの符号化サブバンドを有するかを判断し、該ノイズ充填サブバンドにゼロビットの符号化サブバンドを有すると、該ノイズ充填サブバンドに2つのビットを分配し、該ノイズ充填サブバンドの内におけるゼロビットの符号化サブバンドのノイズレベル情報を表すことに用いられ、ノイズ充填サブバンドのノイズレベル情報予約ビットbits_noisebandに2を減る。すべてのノイズ充填サブバンドのビット分配を完成した後、残りのノイズレベル情報予約ビットbits_noisebandをビット分配修正に用いる。
【0285】
本ステップにおいて、ノイズ充填サブバンドビット分配方法が以下の擬似コードで表してもよい。
【0286】
Nregion_bitflag (j-1)がノイズ充填サブバンドjのビット分配フラグであり、1がビットを分配したことを表し、0がビットを分配していないことを表す。
【0287】
Nregion_bitflag (j-1)=0、j=1,2,L,L_noise-1とし、
ノイズ充填サブバンドのビット分配の残りビットnoiseband_remain_bits = 0とし、
ノイズ充填サブバンド j = 1, 2, ……L_noise-1に対して、
{ region = NLIndex(j), NLIndex(j)+1,……NHIndex(j)とし、
すべてのregionに対して、
{
region_bit(region)=0と、
{
Nregion_bit(Nregion) = 1とし、
bits_noiseband = bits_noiseband − 2;
現在の循環から飛び出し、
}
}
}
noiseband_remain_bits = bits_noiseband、
ノイズ充填サブバンドに分配された各ビットを順序に配列すると、後に記載されるノイズレベル符号化ビットである。
【0288】
以上はノイズ充填サブバンドに対してビット分配を行う過程であり、勿論、直接に各ノイズ充填サブバンドに特定の数量(例えば2ビット)のビットを予約もできる。
【0289】
202:表2のノイズ充填サブバンドの分割方式に基づいて、MDCT係数によりシリアルナンバが1、2、3、4である4つのノイズ充填サブバンドの信号のパワースペクトルを推算する。
【0290】
第iフレームの周波数ポイントkのパワーを推定する計算方法は、式(13)のようである。
【0291】
【数102】

【0292】
その中、i=0の場合、
【0293】
【数103】

【0294】
は、第iフレームの第k個の周波数ポイントが推定して得られたパワー値を表す。
【0295】
【数104】

【0296】
は、第iフレームの第k個の周波数ポイントのMDCT係数であり、λは、単極平滑化フィルタのフィルタ係数であり、その中の1つの実例には
【0297】
【数105】

【0298】
である。
【0299】
MDCTによりパワースペクトルの推定を行う原理が以下のように導出する。
【0300】
下式は、長度が2Mである信号xの角周波数ω所の離散時間フーリエ変換(DTFT)を表す。
【0301】
【数106】

【0302】
0と2πの間の2M個の均一に区切る周波数においてDTFTサンプリングを行う。該サンプリングを経てる変換を離散フーリエ変換(DFT)と言って、下式に周波数ポイントk所のDFTを提供する。
【0303】
【数107】

【0304】
半周波数ポイントの偏移を利用してDTFTに対してサンプリングを行い、変位離散フーリエ変換(SDFT)を生成するためである。
【0305】
【数108】

【0306】
実際信号x(n)にウィンドウを加えた後のSDFTが以下のようである。
【0307】
【数109】

【0308】
式(2)によりMDCT周波数領域係数
【0309】
【数110】

【0310】

【0311】
【数111】

【0312】
であり、M=Nとし、式(2)を再び書いていると、以下のようである。
【0313】
【数112】

【0314】
SDFTとMDCTが同じウィンドウ様式を採用し、x(n)=x(バー付き)(n)とし、
実際信号x(n)のMDCTとSDFTの間の関係が以下の一般式のように表す。
【0315】
【数113】

【0316】
即ち、MDCTが余弦により調整するSDFTの幅さで表示してもよく、該余弦がSDFTの角度関数である。
【0317】
オーディオ信号の連続反復のウィンドウブロックを加えたSDFTにより信号のパワースペクトルを推定し、信号xの変換長さが2Mであると、下式には、周波数ポイントk且つブロックt所の短時間変位離散フーリエ変換STSDFTを提供する。
【0318】
【数114】

【0319】
Hはブロックのジャンプ長である。また、H=Mと、STSDFTとMDCTが同じジャンプ長を有する。
【0320】
STSDFTを利用して多数のブロックtにおいて
【0321】
【数115】

【0322】
の平方幅さを平均することにより信号のパワースペクトルを推定し、下式により、長さがTであるブロックの移動平均値を計算し、パワースペクトルに対する時間変化の推定を生成する。
【0323】
【数116】

【0324】
MDCTとSDFTの計算関係により、ある仮設条件において、
【0325】
【数117】

【0326】
により近似に
【0327】
【数118】

【0328】
を得る。定義は以下のようである。
【0329】
【数119】

【0330】
式(18)により下式が得られる。
【0331】
【数120】

【0332】
ブロックにおいて
【0333】
【数121】

【0334】

【0335】
【数122】

【0336】
が相対的に独立に共同変化すると(該仮設が多数のオーディオ信号に対して真である。)、以下の式が得られる。
【0337】
【数123】

【0338】
さらに、総体的に
【0339】
【数124】

【0340】
がT個のブロックにおいて均一に0と2πの間に分布し、且つTが相対的に大きくと仮設すると、均一分布の位相角度を有する余弦平方の希望値が1/2であるので、以下の式が得られる。
【0341】
【数125】

【0342】
よって、MDCTにより推定するパワースペクトルがSTSDFTにより推定されたパワースペクトルの約半分であることを発見できる。
【0343】
符号化計算の低遅延の要求で、単極平滑化フィルタを選択してパワースペクトル推定を行い、
【0344】
【数126】

【0345】
において、ブロックtがiで表し、下付き文字とし、
【0346】
【数127】

【0347】
がPi(k)としてもよく、ブロックの長さを1つのフレームオーディオ信号の長さと定めた場合、iがフレームの番号を表し、最終の推定した計算方法が式(13)のようであり、式(13)は、本発明におけるパワースペクトル推定に用いる計算方法である。
【0348】
203:式(13)で推定したパワースペクトルにより、各のビットが分配されたノイズ充填サブバンドにおけるゼロビットの符号化サブバンドノイズレベルを計算する。
【0349】
図3のように、ノイズレベルを計算する具体的な過程は、以下のステップである。
【0350】
ステップ301:該ノイズ充填サブバンドにおけるすべてまたは部分のゼロビットの符号化サブバンドのすべての周波数領域係数のパワーの平均値を計算し、平均パワー
【0351】
【数128】

【0352】
を得る。
【0353】
ステップ302:該ノイズ充填サブバンドにおけるすべてまたは部分のゼロビットの符号化サブバンドにおけるパワーが平均パワーより大きい周波数領域係数を該ノイズ充填サブバンドにおける音調成分と認識し、該有効ノイズ充填サブバンドのすべてまたは部分のゼロビットの符号化サブバンドにおけるパワーが平均パワー
【0354】
【数129】

【0355】
より大きいのすべての周波数領域係数のパワーの平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドの音調成分平均パワー
【0356】
【数130】

【0357】
を得る。
【0358】
ステップ303:該ノイズ充填サブバンドにおけるすべてまたは部分のゼロビットの符号化サブバンド中のパワーが平均パワーより小さくまたは等しくとする周波数領域係数を該ノイズ充填サブバンドにおけるノイズ成分と認識し、該有効ノイズ充填サブバンドにおけるすべてまたは部分のゼロビットの符号化サブバンドの中のパワーが平均パワー
【0359】
【数131】

【0360】
より小さくまたは等しくとするすべての周波数領域係数のパワーの平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドのノイズ成分平均パワー
【0361】
【数132】

【0362】
を得る。
【0363】
ステップ304:ノイズ成分平均パワー
【0364】
【数133】

【0365】
と音調成分平均パワー
【0366】
【数134】

【0367】
との比の値
【0368】
【数135】

【0369】
を計算し、その値が該有効ノイズ充填サブバンドのノイズレベルである。
【0370】
ノイズレベルに対して量子化符号化した後、ノイズレベル符号化ビットを得る。
【0371】
【数136】

【0372】
が量子化符号化された後、
【0373】
【数137】

【0374】
を得る。ノイズレベルを量子化符号化完成した後、各のビットが分配されたノイズ充填サブバンドのノイズレベル符号化ビットをサブバンドのシリアルナンバにより低から高まで配列し、全体の有効ノイズ充填サブバンドのノイズレベル符号化ビットを得る。
【0375】
その中の1つの非均一量子化を採用する実例が表3のように表す。
【0376】
表3 ノイズ信号比率非均一量子化実例
【0377】
【表3】

【0378】
該有効ノイズ充填サブバンドのノイズレベルも該ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドのノイズレベルであり、該ノイズレベルが
【0379】
【数138】

【0380】
で表示できるほか、音調成分平均パワー
【0381】
【数139】

【0382】
とノイズ成分平均パワー
【0383】
【数140】

【0384】
との比の値で表示できる。
【0385】
二、復号化方法
本発明のオーディオ復号化方法は、符号化方法の逆の過程であって、
A、復号化待ちのビットストリームにおける各振幅エンベロープ符号化ビットを復号化し、各符号化サブバンドの振幅エンベロープ量子化指数を得ること、
B、各符号化サブバンドにビットを分配し、ノイズレベル符号化ビットを復号化逆量子化し、ゼロビットの符号化サブバンドのノイズレベルを得て、周波数領域係数符号化ビットを復号化逆量子化し、非ゼロビットの符号化サブバンドの周波数領域係数を得ること、
C、ゼロビットの符号化サブバンドを周波数帯コピーし、復号化待ちのビットストリームにおける各ゼロビットの符号化サブバンドの振幅エンベロープによって該符号化サブバンドの全体のエネルギー充填レベルを制御し、該ゼロビットの符号化サブバンドのノイズレベルによってノイズ充填と周波数帯コピーとのエネルギーの比例を制御し、再建したゼロビットの符号化サブバンドの周波数領域係数を得ること、
D、非ゼロビットの符号化サブバンドの周波数領域係数と再建したゼロビットの符号化サブバンドの周波数領域係数を逆修正離散コサイン変換(IMDCT)し、最終のオーディオ信号を得ること、を含む。
【0386】
図4は本発明の実施例におけるオーディオ復号化方法の構造模式図である。図4に示すように、該方法は、以下のステップを含み、
401:各振幅エンベロープ符号化ビットを復号化し、各符号化サブバンドの振幅エンベロープ量子化指数を得て、
符号化端から送信してきた符号化ビットストリームの中から(即ちビットストリームデマルチプレクサDeMUXから)1フレームの符号化ビットを取り出し、符号化ビットを取り出した後、先ず、サイド情報を復号化し、次に、振幅エンベロープハフマン符号フラグFlag_huff_rmsの値によって該フレームの中の各振幅エンベロープ符号化ビットをハフマン復号化或は直接に復号化し、各符号化サブバンドの振幅エンベロープ量子化指数Thq(j)、j=0,…,L−1を得る。
【0387】
402:各符号化サブバンドにビットを分配し、有効ノイズ充填サブバンドにビットを分配し、
各符号化サブバンドの振幅エンベロープ量子化指数によって各符号化サブバンドの重要性最初値を算出し、符号化サブバンド重要性を利用して各符号化サブバンドにビットを分配し、符号化サブバンドのビット分配数を得て、復号化端のビット分配方法と符号化端のビット分配方法は完全に同様である。ビットを分配する過程に、ビット分配歩幅及びビットを分配後の符号化サブバンド重要性が低下した歩幅は変化している。
【0388】
前記ビット分配の過程を完成した後、符号化端のビット分配修正反復回数count値と各符号化サブバンドの重要性によって、符号化サブバンドを再びcount回のビット分配修正を行い、次に、ビット分配の全過程が終了する。
【0389】
ビット分配と修正を行なう過程中に、ビット分配数が0である符号化サブバンドにビットを分配する際のビット分配歩幅とビット分配修正の歩幅は1つのビットであり、ビット分配及びビット分配修正した後の重要性が低下した歩幅が1であり、ビット分配数が0より大きい且つある閾値より小さい符号化サブバンドにビットを追加分配する際のビット分配歩幅とビット分配修正の歩幅は0.5のビットであり、ビット分配及びビット分配修正した後の重要性が低下の歩幅も0.5であり、ビット分配数が該閾値より大きいまたは等しい符号化サブバンドにビットを追加分配する際のビット分配歩幅とビット分配修正しの歩幅は1であり、ビット分配及びビット分配修正した後の重要性が低下した歩幅も1であり、
符号化サブバンドを複数のノイズ充填サブバンドに分割し、符号化サブバンドのビット分配結果によって、有効ノイズ充填サブバンドにビットを分配し、ノイズ充填サブバンドの分割方法及びノイズ充填サブバンドのビット分配方法は符号化方法と同様で、ここで省略する。
【0390】
403:ノイズレベル符号化ビットを復号化逆量子化し、ゼロビットの符号化サブバンドのノイズレベルを得て、及び周波数領域係数符号化ビットを復号化逆量子化し、MDCT周波数領域係数を得て、
404:ゼロビットの符号化サブバンドを周波数帯コピーし、ゼロビットの符号化サブバンドの振幅エンベロープによって該符号化サブバンドの全体充填エネルギーレベルを制御し、該符号化サブバンドの所在のノイズ充填サブバンドのノイズレベルによって、各ゼロビットの符号化サブバンド周波数帯コピー及びノイズ充填エネルギーの比例を制御し、再建したゼロビットの符号化サブバンドの周波数領域係数を得て、
該ステップの詳しい過程は以下の図5に説明する。
【0391】
ビットを分配した有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドを周波数帯コピーし、コピーした後得られる周波数領域係数のエネルギーレベルとノイズ充填のエネルギーレベルを制御し、ビットを分配していない有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドをノイズ充填する。
【0392】
405:周波数スペクトル再建した後の周波数領域係数をIMDCT(Inverse Modified Discrete Cosine Transform、逆修正離散コサイン変換)し、最終のオーディオ出力信号を得る。
【0393】
以下、図5を参照しながら、ステップ404を詳細に説明する。
【0394】
図5に示すように、ステップ404は具体的に、
ステップ501:有効ノイズ充填サブバンドのゼロビットの符号化サブバンドを周波数帯コピーし、
MDCT周波数領域係数中で、オーディオ信号のある音調の所在位置を捜索し、0周波数ポイントから音調位置の周波数ポイントまでの帯域幅を周波数帯コピー周期とし、0周波数ポイントが後へcopyband_offset個周波数ポイント偏移から音調位置が後へ前記copyband_offset個の周波数ポイント偏移までの周波数段域を周波数帯コピーソース周波数段域とし、ゼロビットの符号化サブバンドを周波数帯コピーする。周波数帯コピーを行なう必要があるゼロビットの符号化サブバンド内部の最高周波数が捜索した音調の周波数より小さいと、該周波数ポイントはノイズ充填だけで周波数スペクトルの再建を行なう。
【0395】
周波数領域係数は周波数が低から高まで配列することに従って、後へ偏移し、即ち、周波数が高い場所へ偏移する。
【0396】
以下で該周波数帯コピー方法について詳細に説明する。
【0397】
a、MDCT周波数領域係数中でオーディオ信号のある音調の所在位置を捜索し、
本発明が好ましい音調の所在位置を捜索する方法は、MDCT周波数領域係数を平滑化フィルタすることである。低周波数のある特定周波数段域のMDCT周波数領域係数を絶対値或は平方値を取り、平滑化フィルタを行い、平滑化フィルタの結果によって、フィルタ出力値の最大極値の所在位置を捜索し、該最大極値の所在位置を音調の所在位置とする。
【0398】
本発明におけるオーディオ信号の音調とは、オーディオ信号の基音或は基音のある倍音を意味している。
【0399】
ここでいう特定の周波数段域は周波数スペクトル特性によって確定されたエネルギーが比較的に集中する周波数段域でもよく、第1周波数段域と言われる。ここの低周波数とは、1/2の信号総帯域幅より小さい周波数スペクトル成分である。
【0400】
ここの周波数領域係数はステップ403で復号化後のMDCT周波数領域係数であり、周波数が低から高まで配列する。
【0401】
該第1周波数段域の周波数領域係数に対し絶対値を取り得て、平滑化フィルタを行なう計算式が以下のようであり、
【0402】
【数141】

【0403】
或いは、該第1周波数段域の周波数領域係数平方値に対し平滑化フィルタを行う計算式が以下のようであり、
【0404】
【数142】

【0405】
その中、μは平滑化フィルタ係数であり、その値の範囲が(0、1)であり、その値が0.125を取ってもよい。
【0406】
【数143】

【0407】
は第iフレームの第k個の周波数ポイントのフィルタ出力値を表し、
【0408】
【数144】

【0409】
は第iフレームの第k個の周波数ポイント復号化後のMDCT係数であり、且つ、i=0であると、
【0410】
【数145】

【0411】
とする。
【0412】
第1周波数段域フィルタ出力値の最大極値の所在位置を捜索する方法は、以下のような2種類があって、
(1)直接に第1周波数段域が対応する周波数領域係数のフィルタ出力値から最初の最大値を捜索し、該最大値を第1周波数段域フィルタ出力値の最大極値として、対応の周波数ポイントのシリアルナンバを最大極値(即ち音調)の位置とし、
(2)最大極値を捜索する際に、該第1周波数段域のある一部を第2周波数段域として、第2周波数段域が対応する周波数領域係数のフィルタ出力値から最初の最大値を捜索し、該最初の最大値を第1周波数段域フィルタ出力値の最大極値として、対応の周波数ポイントのシリアルナンバを最大極値(即ち音調)の位置とする。
【0413】
第2周波数段域の起点位置は第1周波数段域の起点より大きい必要があり、第2周波数段域の終点位置は第1周波数段域の終点より小さい必要があり、好ましくは、第1周波数段域と第2周波数段域の中の周波数係数の個数は8より小さくない。
【0414】
捜索した最初の最大値が対応する周波数領域係数がオーディオ信号の音調の所在位置ではないことを防止するために、音調位置捜索を行なう際に、先ず、該第2周波数段域のフィルタ出力値の中から最初の最大値を捜索し、該最初の最大値が対応する周波数領域係数の位置により異なる処理を行なう。
【0415】
(a)該最初の最大値が第2周波数段域最低周波数の周波数領域係数のフィルタ出力値であると、該第2周波数段域最低周波数の周波数領域係数のフィルタ出力値を第1周波数段域におけるひとつ前のより低い周波数の周波数領域係数のフィルタ出力値と比較して、次第に前へ比較し続け、現在の周波数領域係数のフィルタ出力値がひとつ前の周波数領域係数のフィルタ出力値より大きい場合、該現在の周波数領域係数が音調の所在位置であることと考えられ、即ち、該現在の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、或いは、比較しつづけて、第1周波数段域の最低周波数の周波数領域係数のフィルタ出力値が次のひとつの周波数領域係数のフィルタ出力値より大きい場合、第1周波数段域の最低周波数の周波数領域係数が音調の所在位置であることと考えられ、即ち、第1周波数段域の最低周波数の周波数領域係数のフィルタ出力値が最終に確定された最大極値である。
【0416】
(b)該最初の最大値が第2周波数段域最高周波数の周波数領域係数のフィルタ出力値であると、該第2周波数段域最高周波数の周波数領域係数のフィルタ出力値を第1周波数段域における次のひとつのより大きい周波数の周波数領域係数のフィルタ出力値と比較して、次第に後へ比較し続け、現在の周波数領域係数のフィルタ出力値が次のひとつの周波数領域係数のフィルタ出力値より大きい場合、現在の周波数領域係数が音調の所在位置であることと考えられ、即ち、該現在の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、或いは、比較しつづけて第1周波数段域の最高周波数の周波数領域係数のフィルタ出力値がひとつ前の周波数領域係数のフィルタ出力値よりも大きい場合、第1周波数段域の最高周波数の周波数領域係数が音調の所在の位置であることと考えられ、即ち、第1周波数段域の最高周波数の周波数領域係数のフィルタ出力値が最終に確定された最大極値である。
【0417】
(c)該最初の最大値が第2周波数段域最低周波数と最高周波数の間の周波数領域係数のフィルタ出力値であると、該最初の最大値が対応する周波数領域係数が音調の所在の位置であり、即ち、該最初の最大値が最終に確定された最大極値である。
【0418】
以下、第1周波数段域の周波数領域係数が第24個から第64個までのMDCT周波数領域係数であり、第2周波数段域の周波数領域係数が第33個から第56個までのMDCT周波数領域係数であることを例をとして、オーディオ信号位置を確定する方法を説明する。
【0419】
第33から第56個までのMDCT周波数領域係数のフィルタ出力値の中から、その最大値を捜索し、最大値が第33個の周波数領域係数に対応すると、第3 2個の周波数領域係数の検波出力結果が第33個の周波数領域係数のより大きいか否かを判断し、YESと、前へ比較し続け、第31個の周波数領域係数の検波出力結果が第32の周波数領域係数のより大きいか否かを判断し、このような方法に従って、次第に前へ比較し続け、現在の周波数領域係数のフィルタ出力値がひとつ前のものより大きくなるまで、或は、第24個の周波数領域係数のフィルタ出力値が第25個周波数領域係数のフィルタ出力値より大き場合、現在の周波数領域係数或は第24個の周波数領域係数が音調の位置である。
【0420】
最大値が56であると、類似の方法によって、次第に後へ捜索しつづけ、現在の周波数領域係数のフィルタ出力値が次のひとつものより大きい場合、該現在の周波数領域係数が音調の位置であり、或は捜索しつづけて、第64個の周波数領域係数のフィルタ出力値を捜索し、且つその値は第63個の周波数領域係数のフィルタ出力値より大きい場合、該第64個の周波数領域係数が音調の位置であり、
最大値が33〜56の間にあると、該最大値が対応する周波数領域係数が音調の位置である。
【0421】
該位置の値をTonal_posとし、即ち、最大極値が対応する周波数ポイントのシリアルナンバである。
【0422】
b、0周波数ポイントから音調位置の周波数ポイントまでの帯域幅を周期とし、0周波数ポイントが後へcopyband_offset個周波数ポイント偏移から音調位置の周波数ポイントが後へ前記copyband_offset個周波数ポイント偏移するまでの周波数段域をソース周波数段とし、ゼロビットの符号化サブバンドに対し周波数帯コピーを行なう。
【0423】
即、ソース周波数段域の周波数ポイントの開始シリアルナンバがcopyband_offsetで、終了シリアルナンバがcopyband_offset+Tonal_posである。
【0424】
本発明において、周波数帯コピー偏移(copyband_offsetとし)の値が予め設定され、copyband_offset≧0とし、予め設定されたcopyband_offset=0の場合、ソース周波数段域が、即ち、0周波数ポイントから音調位置の周波数ポイントまでの周波数段域であり、コピー周波数帯の周波数スペクトルホッピングを低下するために、copyband_offsetをゼロより大きく設定すると、ソース周波数段域は、0周波数ポイントの後へ1つの小範囲(copyband_offsetとし) を偏移する周波数ポイントから最大極値の所在位置の周波数ポイントが後へ1つの同様な小範囲(copyband_offsetとし) を偏移する周波数ポイントまでの周波数段域のMDCT周波数領域係数であり、ある周波数ポイントの以上の有効ノイズ充填サブバンド(例えば、シリアルナンバが1、2、3、4である)内部のゼロビットの符号化サブバンドへの周波数スペクトル充填はいずれもソース周波数段域からコピーする。
【0425】
図2のプロセスに対応して、第1個のノイズ充填サブバンドのゼロビットの符号化サブバンドに対してランダムノイズ充填方法で周波数スペクトル再建を行い、シリアルナンバが1、2、3、4であるノイズ充填サブバンドのゼロビットの符号化サブバンドに対して、周波数領域係数コピーとノイズ充填を合せる方法で周波数スペクトル再建を行なう。
【0426】
周波数帯コピーを行なう際に、先ず、ソース周波数段域と周波数帯コピーを行なう必要があるゼロビットの符号化サブバンドの開始シリアルナンバにより該ゼロビットの符号化サブバンドのソース周波数段域コピー開始シリアルナンバを計算し、次に、周波数帯コピー周期を周期とし、ソース周波数段域コピー開始シリアルナンバからソース周波数段域の周波数領域係数周期性をゼロビットの符号化サブバンドにコピーする。
【0427】
ソース周波数段域コピー開始シリアルナンバを確定する方法は、
まず、コピーする必要がある第1個のゼロビットの符号化サブバンドから初め、周波数領域係数再建する必要があるゼロビットの符号化サブバンドの開始MDCT周波数領域係数の周波数ポイントのシリアルナンバを取得し、fillband_start_freqとし、 音調が対応する周波数ポイントのシリアルナンバをTonal_posとし、周波数帯のコピー周期をcopy_periodとする。copy_period はTonal_posに1を加えるものである。周波数帯コピーする必要があるゼロビットの符号化サブバンド内部の最高周波数は捜索した音調の周波数より小さいと、該周波数ポイントはノイズ充填だけで周波数スペクトル再建を行い、周波数帯コピーを行なわない。周波数帯コピー偏移をcopyband_offsetとし、fillband_start_freqの値を循環にcopy_periodを減り、その値がソース周波数段域のシリアルナンバの値区間になるまでつづけ、該値がソース周波数段域コピー開始シリアルナンバであり、copy_pos_modとする。
【0428】
ソース周波数段域コピー開始シリアルナンバのcopy_pos_modは以下の擬似コード計算方法によって得られ、
copy_pos_mod = fillband_start_freqとし、
copy_pos_modが(Tonal_pos+copyband_offset)よりも大きいと
{
copy_pos_mod = copy_pos_mod - copy_period;
}
計算を完成した後 、copy_pos_modがソース周波数段域コピー開始シリアルナンバである。
【0429】
コピーする際に、ソース周波数段域コピー開始シリアルナンバを開始とする周波数領域係を次第に後へfillband_start_freqを開始とする位置のゼロビットの符号化サブバンドにコピーし、ソース周波数段域コピーした周波数ポイントがTonal_pos+copyband_offset周波数ポイントに到達してから、再び第copyband_offset個の周波数ポイントから始める周波数領域係数を次第に後へ該ゼロビットの符号化サブバンドにコピーし、そのように続け、現在のゼロビットの符号化サブバンドのすべての周波数領域係数の周波数帯コピーを完成するまで行う。
【0430】
周波数帯コピー偏移copyband_ offsetを10とする際に、copy_pos_modから始める周波数帯を周波数低から高まで配列してfillband_start_freqを開始位置とするゼロビットの符号化サブバンドにコピーしつづけ、Tonal_pos+10周波数ポイントに到達後、再び第10個の周波数領域係数からコピーし始め、そのように続け、該ゼロビットの符号化サブバンドのすべての信号はいずれも10からTonal_pos+10までの周波数領域係数中からコピーし、周波数ポイント10からTonal_pos+10までの周波数領域係数は周波数帯コピーのソース周波数段域である。
【0431】
以上の方法によって、シリアルナンバが1、2、3、4であるノイズ充填サブバンドのすべてのゼロビットの符号化サブバンドために周波数スペクトルをコピーする。
【0432】
以上の周波数帯コピー方法の以外に、他の周波数帯コピー方法は同様に本発明に適用され、本発明の実現への影響がない。
【0433】
ステップ502:復号化した得られるノイズレベルによって各のノイズ充填サブバンド内部のゼロビットの符号化サブバンドコピー後得られる周波数領域係数に対しエネルギー調整し、
ゼロビットの符号化サブバンドがコピー後得られる周波数領域係数の振幅エンベロープを計算して、sbr_rms(r)とする。
【0434】
エネルギー調整した後の周波数領域係数の計算式が
【0435】
【数146】

【0436】
であり、
その中、
【0437】
【数147】

【0438】
はゼロビットの符号化サブバンドrのエネルギー調整した後の周波数領域係数を表し、
【0439】
【数148】

【0440】
はゼロビットの符号化サブバンドrコピー後得られる周波数領域係数であり、
【0441】
【数149】

【0442】
は、ゼロビットの符号化サブバンドrコピー後得られる周波数領域係数
【0443】
【数150】

【0444】
の振幅エンベロープ(つまり、その二乗平均平方根である)を表し、rms(r) はゼロビットの符号化サブバンドrの符号化前の周波数領域係数の振幅エンベロープであり、振幅エンベロープ量子化指数により逆量子化して得られ、
【0445】
【数151】

【0446】
はゼロビットの符号化サブバンドrの周波数帯コピーのエネルギー制御比例因子であり、その値はゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのノイズレベルにより決められ、具体的な計算式は以下のように、
【0447】
【数152】

【0448】
であり、
【0449】
【数153】

【0450】
は充填エネルギースケール因子であり、全体の充填エネルギーのゲインを調整することに用いられ、その値の範囲が(0、1)にあり、本実例の中に、その値が0.2を取る。
【0451】
【数154】

【0452】
は復号化逆量子化した得られたノイズ充填サブバンドjのノイズレベルであり、それはノイズレベル符号化ビットによって表3の量子化範囲から逆量子化値を取れ、本実例におけるひとつの実例を表10に示す。
【0453】
表10 ノイズレベル逆量子化値
【0454】
【表4】

【0455】
その中、jはゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのシリアルナンバである。
【0456】
ステップ503:エネルギー調整した後の周波数領域係数にホワイトノイズを重ね合せ、最後の再建周波数領域係数を形成する。
【0457】
周波数領域係数をコピーするエネルギー調整を完成してから、エネルギー調整した後の周波数領域係数にホワイトノイズを重ね合せ、最後の再建周波数領域係数X(バー付き)形成し、
【0458】
【数155】

【0459】
であり、
その中、
【0460】
【数156】

【0461】
はゼロビットの符号化サブバンドrが再建した周波数領域係数を表し、
【0462】
【数157】

【0463】
はゼロビットの符号化サブバンドrのエネルギー調整した後の周波数領域係数を表し、rms(r) はゼロビットの符号化サブバンドrの符号化前の周波数領域係数の振幅エンベロープであり、振幅エンベロープ量子化指数により逆量子化して得られ、
【0464】
【数158】

【0465】
はランダム位相生成器であり、ランダム位相値を生成し、その戻り値は+1または-1であり、
【0466】
【数159】

【0467】
はゼロビットの符号化サブバンドrのノイズレベル制御スケール因子であり、その値はゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのノイズレベルにより決められる。具体的な計算式は以下のように、
【0468】
【数160】

【0469】
であり、
その中、
【0470】
【数161】

【0471】
は充填エネルギースケール因子であり、全体の充填エネルギーのゲインを調整することに用いられ、その値の範囲が(0、1)にあり、本実例の中に、その値が0.2を取る。
【0472】
【数162】

【0473】
は復号化逆量子化して得られたノイズ充填サブバンドjのノイズレベルであり、その中に、jはゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのシリアルナンバである。
【0474】
ビットを分配していない有効ノイズ充填サブバンド(例えば、シリアルナンバが0であるノイズ充填サブバンドである)におけるゼロビットの符号化サブバンドにホワイトノイズ充填を行い、周波数領域係数の再建を実現できることは言うまでもなく、ここで省略する。
【0475】
本発明はさらにノイズレベルの推定方法を提供し、
符号化待ちのオーディオ信号の周波数領域係数によって符号化待ちのオーディオ信号のパワースペクトルを推定することと、
推定して得られたパワースペクトルによってゼロビットの符号化サブバンドオーディオ信号のノイズレベルを推定し、該ノイズレベルは復号化する際にノイズ充填と周波数帯コピーとのエネルギーの比例を制御することに用いられることとを含み、その中、ゼロビットの符号化サブバンドとは、分配したビット数がゼロである符号化サブバンドを意味している。各のゼロビットの符号化サブバンドために1つのノイズレベルを計算してもよく、複数のノイズサブバンドに1つの通用のノイズレベルを計算してもよい。
【0476】
さらに、前記ゼロビットの符号化サブバンドオーディオ信号のノイズレベルとは、ゼロビットの符号化サブバンド推定して得られたノイズ成分パワーとゼロビットの符号化サブバンド内推定して得られた音調成分パワーの比の値を意味している。
【0477】
さらに、符号化待ちのオーディオ信号のMDCT周波数領域係数によって符号化待ちのオーディオ信号のパワースペクトルを推定し、第iフレームの周波数ポイントkのパワー推定の一般式は以下のように、
【0478】
【数163】

【0479】
であり、その中、i=0であると、
【0480】
【数164】

【0481】
であり、
【0482】
【数165】

【0483】
は第iフレームの第k個の周波数ポイントに推定して得られたパワー値を表し、
【0484】
【数166】

【0485】
は第iフレームの第k個の周波数ポイントのMDCT係数を表し、λは単極平滑化フィルタのフィルタ係数である。
【0486】
さらに、符号化待ちのオーディオ信号の周波数領域係数を1つまたは複数のノイズ充填サブバンドに分割し、推定した符号化待ちのオーディオ信号のパワースペクトルによってある有効ノイズ充填サブバンドのノイズレベルを計算する過程は具体的に、
該有効ノイズ充填サブバンドにおいてすべてまたは部分のゼロビットの符号化サブバンドのすべての周波数領域係数のパワーの平均値を計算し、平均パワー
【0487】
【数167】

【0488】
が得られることと、
該有効ノイズ充填サブバンドのすべてまたは部分のゼロビットの符号化サブバンドにおけるパワーPi(k)が平均パワー
【0489】
【数168】

【0490】
より大きいすべての周波数領域係数のパワーの平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドの音調成分平均パワー
【0491】
【数169】

【0492】
が得られることと、
該有効ノイズ充填サブバンドのすべてまたは部分のゼロビットの符号化サブバンドにおけるパワーPi(k)が平均パワー
【0493】
【数170】

【0494】
より小さいまたは等しいすべての周波数領域係数のパワーPi(k)の平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドのノイズ成分平均パワー
【0495】
【数171】

【0496】
が得られることと、
ノイズ成分平均パワー
【0497】
【数172】

【0498】
と音調成分平均パワー
【0499】
【数173】

【0500】
との比の値
【0501】
【数174】

【0502】
を計算し、該有効ノイズ充填サブバンドのノイズレベルが得られることと、含む。
【0503】
その中、有効ノイズ充填サブバンドとは、ゼロビットの符号化サブバンドを含むノイズ充填サブバンドを意味している。
【0504】
三、符号化システム
以上の符号化方法を実現するために、本発明はオーディオ符号化システムをさらに提供し、図6に示すように、該システムは修正離散コサイン変換(MDCT)ユニット、振幅エンベロープ計算ユニット、振幅エンベロープ量子化及び符号化ユニット、ビット分配ユニット、周波数領域係数符号化ユニット、ノイズレベル推定ユニット及びビットストリームマルチプレクサ(MUX)を含み、 そのなか、
MDCTユニットは、オーディオ信号を逆修正離散コサイン変換し、周波数領域係数を変換して生成することに用いられるものである。
【0505】
振幅エンベロープ計算ユニットは、前記MDCTユニットに接続し、前記MDCTにより生成した周波数領域係数を複数の符号化サブバンドに分割し、各符号化サブバンドの振幅エンベロープを計算することに用いられるものであり、
振幅エンベロープ計算ユニットは符号化サブバンドを分割する際に、前記MDCTにより変換した後の周波数領域係数を複数の等間隔の符号化サブバンドに分割し、または聴覚感知特性に従って複数の非均一符号化サブバンドに分割する。
【0506】
振幅エンベロープ量子化及び符号化ユニットは、前記振幅エンベロープ計算ユニットに接続し、各符号化サブバンドの振幅エンベロープ値を量子化と符号化し、各符号化サブバンド振幅エンベロープの符号化ビットを生成することに用いられるものである。
【0507】
ビット分配ユニットは、前記振幅エンベロープ量子化及び符号化ユニットに接続し、ビット分配を行ない、各符号化サブバンドにおける各の周波数領域係数に分配される符号化ビット数をえることに用いられ、
具体的に、ビット分配ユニットは互いに接続する重要性計算モジュール及びビット分配モジュールを含み、そのなか、
重要性計算モジュールは、符号化サブバンド振幅エンベロープ値によって各符号化サブバンド重要性の最初値を計算することに用いられ、
前記ビット分配モジュールは、各符号化サブバンドの重要性によって符号化サブバンドにおけるて各周波数領域係数に対しビット分配することに用いられ、且つ、ビット分配する過程に、ビット分配歩幅及びビット分配した後重要性が低下の歩幅はともに変化している。
【0508】
前記重要性の最初値は最大量子化の信号対雑音比のゲイン条件での最適ビット値と人の耳の自覚特性を符合するスケール因子によって計算され、または各符号化サブバンド振幅エンベロープの量子化指数
【0509】
【数175】

【0510】
或は
【0511】
【数176】

【0512】
であり、その中、μ>0, μとνがともに実数である。
【0513】
前記重要性計算モジュールは前記重要性の最初値を計算する際に、まず、単一の周波数領域係数のビット消耗平均値を計算し、次に、レート歪み理論に従って最大量子化信号の対雑音比のゲイン条件での最適ビット値を計算し、その後、前記ビット消耗平均値及び最適ビット値によって各符号化サブバンドがビット分配における重要性の最初値を計算し、
前記ビット分配モジュールは各符号化サブバンドの重要性によって各符号化サブバンドに対しビット分配し、全ての符号化サブバンドに消耗されたビット数の合計はビット制限条件での最大値を提供できることを満足するまでに、重要性が最大である符号化サブバンドにおける各の周波数領域係数の符号化ビット数を増加し、該符号化サブバンドの重要性を低下する。
【0514】
前記ビット分配モジュールはビット分配する際に、低いビット符号化サブバンドのビット分配歩幅及びビット分配した後の重要性低下歩幅はゼロビットの符号化サブバンドと高いビット符号化サブバンドのビット分配歩幅及びビット分配した後の重要性が低下歩幅より小さい。例えば、前記ビット分配モジュールはビット分配する際に、低いビット符号化サブバンドのビット分配歩幅及びビット分配後の重要性が低下歩幅はともに0.5であり、ゼロビットの符号化サブバンドと高いビット符号化サブバンドのビット分配歩幅及びビット分配後の重要性低下歩幅はともに1である。
【0515】
周波数領域係数量子化符号化ユニットは、MDCTユニット、ビット分配ユニット及び振幅エンベロープ量子化、及び符号化ユニットに接続し、各符号化サブバンドにおける全ての周波数領域係数を正規化し、量子化し、及び符号化処理し、周波数領域係数符号化ビットを生成することに用いられるものである。
【0516】
ノイズレベル推定ユニットは、MDCTユニット及ビット分配ユニットに接続し、符号化待ちのオーディオ信号のMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定し、さらに、ゼロビットの符号化サブバンドのオーディオ信号のノイズレベルを推定し、量子化符号化してノイズレベル符号化ビットを得ることに用いられ、その中、該ノイズレベルは、復号化している場合にノイズ充填及び周波数帯コピーのエネルギーの比例を制御することに用いられるものであり、詳しいことは図7に示すようであり、
前記ゼロビットの符号化サブバンドオーディオ信号のノイズレベルとは、ゼロビットの符号化サブバンド内推定して得られるノイズ成分パワーとゼロビットの符号化サブバンド推定して得られる音調成分パワーとの比の値である。
【0517】
ビットストリームマルチプレクサ(MUX)は、前記振幅エンベロープ量子化及び符号化ユニット、周波数領域係数符号化ユニット及びノイズレベル推定ユニットに接続し、各符号化サブバンドの符号化ビット及び周波数領域係数の符号化ビット及びノイズレベル符号化ユニットをマルチプレックスし復号化端に送信することに用いられるものである。
【0518】
ビットストリームマルチプレクサは符号化後のビットをマルチプレックスとパッケージする順番は順次に振幅エンベロープハフマン符号フラグ、周波数領域係数ハフマン符号フラグ、ビット分配修正反復回数、振幅エンベロープの符号化ビット、周波数領域係数の符号化ビット、及びノイズレベル符号化ビットである。
【0519】
図7に示すように、ノイズレベル推定ユニットは、具体的に、以下のモジュールを含み、
パワースペクトル推定モジュールは、符号化待ちのオーディオ信号のMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定することに用いられるものであり、
前記パワースペクトル推定モジュールが以下の一般式を採用して第iフレームの周波数ポイントkのパワーを推定し、一般式が以下のようである。
【0520】
【数177】

【0521】
そのなか、
【0522】
【数178】

【0523】
の場合、
【0524】
【数179】

【0525】
は、第iフレームの第k個の周波数ポイント推定して得られたパワー値を表し、
【0526】
【数180】

【0527】
は、第iフレームの第k個の周波数ポイントのMDCT係数を表し、λは、単極平滑化フィルタのフィルタ係数である。
【0528】
ノイズレベル計算モジュールは、前記パワースペクトル推定モジュールに接続し、前記パワースペクトル推定モジュールが推定したパワースペクトルによりビットが分配されたノイズ充填サブバンドのオーディオ信号のノイズレベルを推定することに用いられるものである。
【0529】
ノイズレベル符号化モジュールは、前記ノイズレベル計算モジュールに接続し、前記ノイズレベル計算モジュールが計算したノイズレベルに対して量子化符号化し、ノイズレベル符号化ビットを得ることに用いられるものである。
【0530】
さらに、
符号化待ちのオーディオ信号の周波数領域係数を1つまたは複数のノイズ充填サブバンドに分割し、前記ノイズレベル計算モジュールの機能は、具体的に、該有効ノイズ充填サブバンドにおけるすべてまたは部分のゼロビットの符号化サブバンドのすべての周波数領域係数パワーの平均値を計算し、平均パワー
【0531】
【数181】

【0532】
を得ることに用いられることと、該有効ノイズ充填サブバンドのすべてまたは部分のゼロビットの符号化サブバンドにおけるパワーPi(k)が平均パワー
【0533】
【数182】

【0534】
より大きいすべての周波数領域係数のパワーの平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドの音調成分平均パワー
【0535】
【数183】

【0536】
を得ることに用いられることと、該有効ノイズ充填サブバンドのすべてまたは部分のゼロビットの符号化サブバンドにおけるパワーPi(k)が平均パワー
【0537】
【数184】

【0538】
より小さいまたは等しいすべての周波数領域係数のパワーPi(k)の平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドのノイズ成分の平均パワー
【0539】
【数185】

【0540】
を得ることに用いられることと、ノイズ成分平均パワー
【0541】
【数186】

【0542】
と音調成分平均パワー
【0543】
【数187】

【0544】
との比の値を計算し、該有効ノイズ充填サブバンドのノイズレベルを得ることに用いられることとを含む。
【0545】
その中、有効ノイズ充填サブバンドとは、ゼロビットの符号化サブバンドを含むノイズ充填サブバンドである。
【0546】
前記ノイズレベル推定ユニットは、さらにノイズレベル計算モジュール及びノイズレベル符号化モジュールに接続し、すべての有効ノイズ充填サブバンドにビットを分配し、または1つまたは複数の低周波数の有効ノイズ充填サブバンドをスキップし、後続の比較的に高周波数の有効ノイズ充填サブバンドにビットを分配し、及びノイズレベル計算モジュール及びノイズレベル符号化モジュールに通知することに用いられるビット分配モジュールを含み、前記ノイズレベル計算モジュールはただビットを分配したノイズ充填サブバンドに対してノイズレベルを計算し、前記ノイズレベル符号化モジュールは、ビット分配モジュールが分配したビットを利用して前記ノイズレベルに対して量子化符号化を行う。
【0547】
四、復号化システム
以上の復号化方法を実現するために、本発明は更にオーディオ復号化システムを提供し、図8に示すように、該システムは、ビットストリームデマルチプレクサ(DeMUX)、符号化サブバンド振幅エンベロープ復号化ユニット、ビット分配ユニット、周波数領域係数復号化ユニット、周波数スペクトル再建ユニット及び逆修正離散コサイン変換(IMDCT)ユニットを含み、その中で、
ビットストリームデマルチプレクサ(DeMUX)は、復号化待ちのビットストリームの中から振幅エンベロープ符号化ビット、周波数領域係数符号化ビット及びノイズレベル符号化ビットを分離することに用いられるものである。
【0548】
振幅エンベロープ復号化ユニットは、前記ビットストリームデマルチプレクサと接続し、前記ビットストリームデマルチプレクサが出力した振幅エンベロープの符号化ビットに対して復号化を行い、各符号化サブバンドの振幅エンベロープ量子化指数を得ることに用いられるものである。
【0549】
ビット分配ユニットは、前記振幅エンベロープ復号化ユニットに接続し、各符号化サブバンドにビット分配及びゼロビットの符号化サブバンドを含むノイズ充填サブバンドにビットを分配することに用いられるものである。
【0550】
ビット分配ユニットは、重要性計算モジュール、ビット分配モジュール、及びビット分配修正モジュールを含み、その中で、
重要性計算モジュールは符号化サブバンド振幅エンベロープ値によって各符号化サブバンド重要性の最初値を計算することに用いられるものである。
【0551】
前記ビット分配モジュールは各符号化サブバンドの重要性最初値によって、符号化サブバンドにおいて各周波数領域係数をビット分配することに用いられ、且つビット分配する過程に、ビット分配歩幅及びビット分配後の重要性低下の歩幅はともに変化している。
【0552】
ビット分配修正モジュールは、ビット分配を行なった後、符号化端のビット分配修正反復回数count値と各符号化サブバンドの重要性によって符号化サブバンドを再びcount回ビット分配修正することに用いられる。
【0553】
前記ビット分配モジュールはビット分配する際に、低いビット符号化サブバンドのビット分配歩幅及びビット分配し後の重要性が低下歩幅はゼロビットの符号化サブバンドと高いビット符号化サブバンドのビット分配歩幅及びビット分配後の重要性が低下歩幅より小さい。
【0554】
前記ビット分配修正モジュールはビット修正する際に、低いビット符号化サブバンドのビット修正歩幅及びビット修正した後の重要性が低下歩幅はゼロビットの符号化サブバンドと高いビット符号化サブバンドのビット修正歩幅及びビット修正後の重要性低下歩幅より小さい。
【0555】
前記ビット分配ユニットはノイズ充填サブバンドにビットを分配する際に、エンコーダの分配方法によってすべての有効ノイズ充填サブバンドにビットを分配し、または1つまたは複数の低周波数の有効ノイズ充填サブバンドをスキップし、後続の比較的に高周波数の有効ノイズ充填サブバンドにビットを分配する。
【0556】
周波数領域係数復号化ユニットは、振幅エンベロープ復号化ユニットとビット分配ユニットに接続し、符号化サブバンドに対し復号化、逆量子化、及び逆正規化を行い、周波数領域係数が得られることに用いられものである。
【0557】
ノイズレベル復号化ユニットは、前記ビットストリームデマルチプレクサ及びビット分配ユニットに接続し、ノイズレベル符号化ビットに対し復号化逆量子化を行い、ノイズレベルが得られることに用いられものである。
【0558】
周波数スペクトル再建ユニットは、ノイズレベル復号化ユニット、周波数領域係数復号化ユニット、振幅エンベロープ復号化ユニット及びビット分配ユニットに接続し、ゼロビットの符号化サブバンドに対し周波数帯コピーを行い、振幅エンベロープ復号化ユニットが出力した振幅エンベロープにより該符号化サブバンドの全体のエネルギー充填レベルを制御し、ノイズレベル復号化ユニットが出力したノイズレベルによりノイズ充填及び周波数帯コピーのエネルギーの比例を制御し、再建のゼロビットの符号化サブバンドの周波数領域係数を得ることに用いられるものである。
【0559】
逆修正離散コサイン変換(IMDCT)ユニットは、前記周波数スペクトル再建ユニットに接続し、ゼロビットの符号化サブバンドの周波数スペクトル再建を完成した後の周波数領域係数に対してIMDCTを行い、オーディオ信号を得ることに用いられるものである。
【0560】
如図9に示すように、前記周波数スペクトル再建ユニットは、具体的に、次第に接続する周波数帯コピーサブユニット、エネルギー調整サブユニット及ノイズ充填サブユニットを含み、その中で、
周波数帯コピーサブユニットは、ゼロビットの符号化サブバンドに対して周波数帯コピーを行うことに用いられるものである。
【0561】
エネルギー調整サブユニットは、ゼロビットの符号化サブバンド周波数帯コピーされた後得られた周波数領域係数の振幅エンベロープ(sbr_rms(r)とする)を計算し、及び、ノイズレベル復号化ユニットが出力したノイズレベルによりコピーされた後得られた周波数領域係数に対してエネルギー調整を行い、エネルギー調整した後の一般式が
【0562】
【数188】

【0563】
であることに用いられるものである。
【0564】
その中、
【0565】
【数189】

【0566】
はゼロビットの符号化サブバンドrのエネルギー調整された後の周波数領域係数を表し、
【0567】
【数190】

【0568】
はゼロビットの符号化サブバンドrがコピーされた後得られた周波数領域係数を表し、
【0569】
【数191】

【0570】
はゼロビットの符号化サブバンドrがコピーされた後得られた周波数領域係数
【0571】
【数192】

【0572】
の振幅エンベロープであり、rms(r)はゼロビットの符号化サブバンドrの符号化された前の周波数領域係数の振幅エンベロープであり、振幅エンベロープの量子化指数逆量子化から得られ、
【0573】
【数193】

【0574】
は、ゼロビットの符号化サブバンドrの周波数帯コピーのエネルギー制御スケール因子であり、その値がゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのノイズレベルにより決定され、具体的な計算式が以下のようである。
【0575】
【数194】

【0576】
【数195】

【0577】
が充填エネルギースケール因子であり、全体の充填エネルギーのゲインを調整することに用いられ、その値の範囲が(0、1)であり、
【0578】
【数196】

【0579】
は復号化逆量子化により得られたノイズ充填サブバンドjのノイズレベルであり、その中、jがゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのシリアルナンバである。
【0580】
ノイズ充填サブユニットは、ノイズレベル復号化ユニットが出力したノイズレベルによりエネルギー調整された後の周波数領域係数に対してノイズ充填を行い、ノイズ充填の一般式が
【0581】
【数197】

【0582】
であり、
その中、
【0583】
【数198】

【0584】
はゼロビットの符号化サブバンドrの再建周波数領域係数を表し、
【0585】
【数199】

【0586】
は、ゼロビットの符号化サブバンドrのエネルギー調整された後の周波数領域係数を表し、rms(r) はゼロビットの符号化サブバンドrの符号化前の周波数領域係数の振幅エンベロープであり、振幅エンベロープの量子化指数逆量子化により得られ、
【0587】
【数200】

【0588】
がランダム位相生成器であり、ランダム位相値を生成し、その戻り値が+1または-1であり、
【0589】
【数201】

【0590】
がゼロビットの符号化サブバンドrのノイズレベル制御スケール因子であり、その値がゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのノイズレベルにより決定し、具体的な計算式が以下のようである。
【0591】
【数202】

【0592】
その中、
【0593】
【数203】

【0594】
が充填エネルギースケール因子であり、全体の充填エネルギーのゲインを調整することに用いられ、その値の範囲が(0、1)であり、本実施例では値を0.2を取る。
【0595】
【数204】

【0596】
は復号化逆量子化により得られたノイズ充填サブバンドjのノイズレベルであり、その中、jがゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのシリアルナンバである。
【0597】
前記周波数帯コピーサブユニットはビット分配ユニットのビット分配結果によってビットを分配したノイズ充填サブバンドにおけるゼロビットの符号化サブバンドに対し周波数帯コピーし、前記エネルギー調整サブユニットは周波数帯コピー後得られた周波数領域係数に対しエネルギー調整し、前記ノイズ充填サブユニットはエネルギー調整後の周波数領域係数及びビットを分配していないノイズ充填サブバンドにおけるゼロビットの符号化サブバンドに対しノイズ充填する。
【0598】
さらに、図9に示すように、前記周波数帯コピーサブユニットは、次第に接続する音調位置捜索モジュール、周期及びソース周波数段域計算モジュール、ソース周波数段域コピー開始シリアルナンバ計算モジュール、及び周波数帯コピーモジュールを含み、その中、
音調位置捜索モジュールは、MDCT周波数領域係数においてオーディオ信号のある音調の所在位置を捜索することに用いられるものであり、具体的に、第1周波数段域のMDCT周波数領域係数に対し絶対値または平方値を取り得て、平滑化フィルタを行い、平滑化フィルタの結果によって、第1周波数段域フィルタ出力値の最大極値の所在位置を捜索し、該最大極値の所在位置は、即ち音調所在位置である。
【0599】
周期及ソース周波数段域計算モジュールは、音調の所在位置によりコピーに用いる周波数帯コピー周期及びソース周波数段域を確定することに用いられ、該周波数帯コピー周期が0周波数ポイントから音調位置周波数ポイントのまでの帯域幅であり、前記ソース周波数段域は、0周波数ポイントが後へ周波数帯コピー偏移copyband_offsetを偏移する周波数ポイントから音調位置の周波数ポイントが後へ前記copyband_offsetを偏移する周波数ポイントまでの周波数段域である。
【0600】
音調位置の周波数ポイントのシリアルナンバをTonal_posとすると、周波数帯コピー偏移を予め設定し、copyband_offsetの場合、ソース周波数段域の周波数領域係数の開始シリアルナンバがcopyband_offset、終了シリアルナンバがcopyband_offset+Tonal_posである。
【0601】
ソース周波数段域コピー開始シリアルナンバ計算モジュールは、ソース周波数段域及び周波数帯コピーを行う必要があるゼロビットの符号化サブバンドの開始シリアルナンバにより該ゼロビットの符号化サブバンドのソース周波数段域コピー開始シリアルナンバを計算することに用いられるものであり、
前記周波数帯コピーモジュールは、周波数帯コピー周期を周期とし、ソース周波数段域コピー開始シリアルナンバからソース周波数段域の周波数領域係数周期性をゼロビットの符号化サブバンドにコピーすることに用いられ、
周波数帯コピーを行なう必要があるゼロビットの符号化サブバンド内部の最高周波数は捜索した音調の周波数より小さいと、該周波数ポイントはノイズ充填だけを採用して周波数スペクトル再建を行い、周波数帯コピーを行なわない。
【0602】
前記音調位置捜索モジュールは、以下の方法を採用して音調の所在位置を捜索する。第1周波数段域のMDCT周波数領域係数に対して絶対値または平方値を取り得て、平滑化フィルタを行い、平滑化フィルタの結果により、第1周波数段域フィルタ出力値の最大極値の所在の位置を捜索し、該最大極値が所在している位置が、即ち、音調の所在位置である。
【0603】
さらに、
前記音調位置捜索モジュールが該第1周波数段域のMDCT周波数領域係数に対して絶対値を取り得て、平滑化フィルタを行う計算式が以下のようであり
【0604】
【数205】

【0605】
或いは、該第1周波数段域の周波数領域係数平方値に対して平滑化フィルタの計算式が以下のようであり、
【0606】
【数206】

【0607】
その中、μは平滑化フィルタ係数であり、実施例においてその値を0.125とし、
【0608】
【数207】

【0609】
は第iフレームの第k個の周波数ポイントのフィルタ出力値を表し、
【0610】
【数208】

【0611】
は第iフレームの第k個の周波数ポイント復号化した後のMDCT係数であり、且つi=0の場合、
【0612】
【数209】

【0613】
とする。
【0614】
さらに、前記第1周波数段域は、周波数スペクトルの統計特性により確定されたエネルギーが比較的に集中している低周波数の周波数段域であり、その中、低周波数とは、1/2の信号総帯域幅より小さい周波数スペクトル成分である。
【0615】
さらに、前記音調位置捜索モジュール計算モジュールは、直接に第1周波数段域が対応する周波数領域係数のフィルタ出力値において最初の最大値を捜索し、該最大値を第1周波数段域フィルタ出力値の最大極値とする。
【0616】
さらに、前記音調位置捜索モジュールは、フィルタ出力値の最大極値を確定すると、該第1周波数段域の中の一段域を第2周波数段域として、先ず、第2周波数段域が対応する周波数領域係数のフィルタ出力値の中中から最初の最大値を捜索し、さらに該最初の最大値が対応する周波数領域係数の位置により異なる処理を行う。
【0617】
a.該最初の最大値が第2周波数段域最低周波数の周波数領域係数のフィルタ出力値であると、該第2周波数段域最低周波数の周波数領域係数のフィルタ出力値を第1周波数段域における一つ前のより低い周波数の周波数領域係数のフィルタ出力値と比較して、次第に前へ比較し続け、現在の周波数領域係数のフィルタ出力値が一つ前の周波数領域係数のフィルタ出力値よりも大きいばあい、該現在の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、或いは、比較しつづけて、第1周波数段域の最低周波数の周波数領域係数のフィルタ出力値が次の周波数領域係数のフィルタ出力値より大きい場合、第1周波数段域の最低周波数の周波数領域係数のフィルタ出力値が最終に確定された最大極値である。
【0618】
b.該最初の最大値が第2周波数段域最高周波数の周波数領域係数のフィルタ出力値であると、該第2周波数段域における最高周波数の周波数領域係数のフィルタ出力値を第1周波数段域における次のより大きい周波数の周波数領域係数のフィルタ出力値と比較して、次第に後へ比較し続け、現在の周波数領域係数のフィルタ出力値が次の周波数領域係数のフィルタ出力値よりも大きい場合、該現在の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、或いは、比較しつづけて、第1周波数段域の最高周波数の周波数領域係数のフィルタ出力値が一つ前の周波数領域係数のフィルタ出力値よりも大きい場合、第1周波数段域の最高周波数の周波数領域係数のフィルタ出力値が最終に確定された最大極値である。
【0619】
c.該最初の最大値が第2周波数段域最低周波数と最高周波数の間の周波数領域係数のフィルタ出力値であると、該最初の最大値が対応する周波数領域係数が音調の所在の位置であり、即ち、該最初の最大値が最終に確定された最大極値である。
【0620】
さらに、前記ソース周波数段域コピー開始シリアルナンバ計算モジュールは、周波数帯コピーを行う必要があるゼロビットの符号化サブバンドのソース周波数段域コピー開始シリアルナンバを計算の過程は、現在に周波数領域係数を再建する必要があるゼロビットの符号化サブバンドの開始周波数ポイントのシリアルナンバを得て、fillband_start_freqとし、音調が対応する周波数ポイントのシリアルナンバをTonal_posとし、Tonal_posに1を加えてコピー周期copy_periodをとし、ソース周波数段域開始シリアルナンバをcopyband_offsetとし、fillband_start_freqの値に循環にcopy_periodを減りつづけ、該値がソース周波数段域のシリアルナンバの値区間に位置するまでにして、該値がソース周波数段域コピー開始シリアルナンバであり、copy_pos_modとすることを含む。
【0621】
さらに、前記周波数帯コピーモジュールは周波数帯コピーを行なう場合に、具体的に、
ソース周波数段域コピー開始シリアルナンバを開始とする周波数領域係数を順次に後へfillband_start_freqを開始位置とするゼロビットの符号化サブバンドにコピーしつづけ、ソース周波数段域コピーの周波数ポイントがTonal_pos+copyband_offset周波数ポイントに達したあと、再び第copyband_offset個の周波数ポイントから開始とする周波数領域係数を続けて後へ該ゼロビットの符号化サブバンドにコピーし、そのように続け、現在のゼロビットの符号化サブバンドのすべての周波数領域係数コピーを完成するまで行うことを含む。

【特許請求の範囲】
【請求項1】
ノイズレベル推定方法であって、
符号化待ちのオーディオ信号の周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定すること、
計算して得られるパワースペクトルにより、ゼロビットの符号化サブバンドオーディオ信号のノイズレベルを推定し、該ノイズレベルは、復号化する場合に、ノイズ充填と周波数帯コピーとのエネルギーの比例を制御することに用いられ、その中、ゼロビットの符号化サブバンドとは、分配されたビット数がゼロである符号化サブバンドを指すこと、を含むノイズレベル推定方法。
【請求項2】
前記ゼロビットの符号化サブバンドオーディオ信号のノイズレベルとは、ゼロビットの符号化サブバンドにおいて推定して得られるノイズ成分パワーとゼロビットの符号化サブバンドにおいて推定して得られる音調成分パワーとの比の値である請求項1に記載の方法。
【請求項3】
符号化待ちのオーディオ信号のMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定し、第iフレームの周波数ポイントkのパワー計算式が
【数1】

であり、そのなか、i=0の場合、
【数2】

【数3】

が第iフレームの第k個の周波数ポイントに推定して得られるパワー値を表し、
【数4】

が第iフレームの第kの周波数ポイントのMDCT係数を表し、
【数5】

が単極平滑化フィルタのフィルタ係数である請求項1に記載の方法。
【請求項4】
符号化待ちのオーディオ信号の周波数領域係数を1つまたは複数のノイズ充填サブバンドに分割し、推定される符号化待ちのオーディオ信号のパワースペクトルによってある有効ノイズ充填サブバンドのノイズレベルを計算する過程は、具体的に、
該有効ノイズ充填サブバンドにおけるすべてまたは部分のゼロビット符号化サブバンドのすべての周波数領域係数のパワーの平均値を計算して、平均パワー
【数6】

を得るステップと、
該有効ノイズ充填サブバンドのすべてまたは部分のゼロビット符号化サブバンドにおけるパワーPi(k)が平均パワー
【数7】

より大きいのすべての周波数領域係数のパワーの平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビット符号化サブバンドの音調成分平均パワー
【数8】

を得るステップと、
該有効ノイズ充填サブバンドのすべてまたは部分のゼロビット符号化サブバンドにおけるパワーPi(k)が平均パワー
【数9】

より小さいまたは等しいのすべての周波数領域係数のパワーPi(k)の平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビット符号化サブバンドのノイズ成分平均パワー
【数10】

を得るステップと、
ノイズ成分平均パワー
【数11】

と音調成分平均パワー
【数12】

との比の値
【数13】

を計算し、該有効ノイズ充填サブバンドのノイズレベルを得るステップとを含み、
そのなか、有効ノイズ充填サブバンドとは、ゼロビット符号化サブバンドを含むノイズ充填サブバンドである請求項1に記載の方法。
【請求項5】
オーディオ符号化方法であって、
A、符号化待ちのオーディオ信号のMDCT周波数領域係数を複数の符号化サブバンドに分割し、各符号化サブバンドの振幅エンベロープ値を量子化符号化し、振幅エンベロープ符号化ビットを得るステップと、
B、各符号化サブバンドにたいしてビットを分配し、且つ非ゼロビットの符号化サブバンドを量子化符号化し、MDCT周波数領域係数符号化ビットを得るステップと、
C、符号化待ちのオーディオ信号のMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定し、さらにゼロビット符号化サブバンドオーディオ信号のノイズレベルを推定し、且つ量子化符号化し、ノイズレベル符号化ビットを得るステップと、そのなか、該ノイズレベルは、復号化する場合、ノイズ充填と周波数帯コピーとのエネルギーの比例を制御することに用いられ、ゼロビット符号化サブバンドとは、分配されたビット数がゼロとする符号化サブバンドであり、
D、各符号化サブバンドの振幅エンベロープの符号化ビット、周波数領域係数符号化ビット及びノイズレベル符号化ビットをマルチプレックスとパッケージしてから、復号化端に送信するステップとを含む
オーディオ符号化方法。
【請求項6】
ステップCの中において、前記ゼロビット符号化サブバンドオーディオ信号のノイズレベルとは、ゼロビット符号化サブバンドの内に推定して得られたノイズ成分パワーとゼロビット符号化サブバンドの内に推定して得られた音調成分パワーとの比の値である請求項5に記載の方法。
【請求項7】
符号化待ちのオーディオ信号のMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定し、第iフレームの周波数ポイントkのパワー推定の計算方法が
【数14】

そのなか、i=0の場合、
【数15】

【数16】

が第iフレームの第k個の周波数ポイントに推定して得られたパワー値を表し、
【数17】

が第iフレームの第k個の周波数ポイントのMDCT係数を表し、
【数18】

が単極平滑化フィルタのフィルタ係数である請求項5に記載の方法。
【請求項8】
ステップBの中に、符号化待ちのオーディオ信号の周波数領域係数を1つ或いは複数のノイズ充填サブバンドに分割して、各符号化サブバンドにビットを分配した後、有効ノイズ充填サブバンドにビットを分配し、ステップCの中に、推定された符号化待ちのオーディオ信号のパワースペクトルによりある有効ノイズ充填サブバンドのノイズレベルを計算する過程は、具体的に、
該有効ノイズ充填サブバンドにおけるすべて或いは部分のゼロビット符号化サブバンドのすべての周波数領域係数の平均値を計算し、平均パワー
【数19】

を得るステップと、
該有効ノイズ充填サブバンドのすべて或いは部分のゼロビット符号化サブバンドの中に、パワーPi(k)が平均パワー
【数20】

より大きいすべての周波数領域係数のパワーの平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビット符号化サブバンドの音調成分平均パワー
【数21】

を得るステップと、
該有効ノイズ充填サブバンドのすべて或いは部分のゼロビット符号化サブバンドの中に、パワーPi(k)が平均パワー
【数22】

より小さいまたは等しいすべての周波数領域係数のパワーPi(k)の平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビット符号化サブバンドのノイズ成分平均パワー
【数23】

を得るステップと、
ノイズ成分平均パワー
【数24】

と音調成分平均パワー
【数25】

との比の値
【数26】

を計算し、該有効ノイズ充填サブバンドのノイズレベルを得るステップとを含み、
その中、有効ノイズ充填サブバンドとは、ゼロビット符号化サブバンドを含むノイズ充填サブバンドである請求項5に記載の方法。
【請求項9】
ノイズ充填サブバンドを分割する時、均一に分割、或いは人の耳の聴覚特性によって非均一に分割し、1つのノイズ充填サブバンドが1つ或いは複数の符号化サブバンドを含む請求項8に記載の方法。
【請求項10】
ステップBの中に、すべての有効ノイズ充填サブバンドにビットを分配し、或いは、1つ或いは複数の低周波数の有効ノイズ充填サブバンドをスキップし、後続の高周波数の有効ノイズ充填サブバンドにビットを分配し、ステップCの中に、ビットを分配した有効ノイズ充填サブバンドのノイズレベルを計算し、ステップDの中に、該分配されたビットによってノイズレベル符号化ビットをマルチプレックスとパッケージする請求項8に記載の方法。
【請求項11】
各有効ノイズ充填サブバンドが同じビット数を分配し、或いは聴覚特性によって違うビット数を分配する請求項8に記載の方法。
【請求項12】
オーディオ復号化方法であって、
A2、復号化待ちのビットストリームにおける各振幅エンベロープ符号化ビットを復号化逆量子化し、各符号化サブバンドの振幅エンベロープを得るステップと、
B2、各符号化サブバンドにビットを分配し、ノイズレベル符号化ビットを復号化逆量子化してゼロビット符号化サブバンドのノイズレベルを得て、周波数領域係数符号化ビットを復号化逆量子化して非ゼロビットの符号化サブバンドの周波数領域係数を得るステップと、
C2、ゼロビット符号化サブバンドを周波数帯コピーし、且つ各ゼロビットの符号化サブバンドの振幅エンベロープによって該符号化サブバンドの全体のエネルギー充填レベルを制御し、該ゼロビットの符号化サブバンドのノイズレベルによってノイズ充填と周波数帯コピーとのエネルギーの比例を制御し、再建されたゼロビットの符号化サブバンドの周波数領域係数を得るステップと、
D2、非ゼロビットの符号化サブバンドの周波数領域係数と再建されたゼロビットの符号化サブバンドの周波数領域係数に対して逆修正離散コサイン変換(IMDCT)を行い、最終のオーディオ信号を得るステップとを含むオーディオ復号化方法。
【請求項13】
ステップC2の中に、周波数帯コピーの時、MDCT周波数領域係数の中にオーディオ信号のある音調の所在の位置を捜索し、0周波数ポイントから音調位置までの周波数ポイントの帯域幅を周波数帯コピー周期として、且つ0周波数ポイントの後へcopyband_offset個の周波数ポイントを偏移する処から音調位置の周波数ポイントが後へ前記copyband_offset個の周波数ポイントを偏移する処までの周波数段域をソース周波数段域として、ゼロビットの符号化サブバンドを周波数帯コピーし、ゼロビットの符号化サブバンドの内部の最高周波数が捜索された音調の周波数よりも小さい場合、該ゼロビットの符号化サブバンドがノイズ充填のみを採用して周波数スペクトルを再建する請求項12に記載の方法。
【請求項14】
ステップC2の中に、
第1周波数段域の周波数領域係数に対して絶対値或いは平方値を取得して、平滑化フィルタを行い、
平滑化フィルタの結果によって、第1周波数段域フィルタ出力値の最大極値の所在の位置を捜索し、該最大極値の所在の位置をある音調の所在の位置とする請求項12に記載の方法。
【請求項15】
該第1周波数段域の周波数領域係数に対して絶対値を取得し、平滑化フィルタを行う計算式が以下のようであり、
【数27】

或いは、該第1周波数段域の周波数領域係数平方値に対して平滑化フィルタを行う計算式が
【数28】

であって、そのなか、
【数29】

が平滑化フィルタ係数であり、
【数30】

が第iフレームの第k個周波数ポイントのフィルタ出力値を表し、
【数31】

が第iフレームの第k個周波数ポイントの復号化された後のMDCT係数であり、且つi=0の場合、
【数32】

= 0である請求項14に記載の方法。
【請求項16】
前記第1周波数段域は周波数スペクトルの統計特性によって確定されたエネルギーが比較的に集中する低周波数の周波数段域であり、その中、低周波数とは、半分の信号総帯域幅より小さい周波数スペクトル成分である請求項14に記載の方法。
【請求項17】
直接に第1周波数段域の対応する周波数領域係数のフィルタ出力値中から最初の最大値を捜索し、該最大値を第1周波数段域フィルタ出力値の最大極値とする方法によってフィルタ出力値の最大極値を確定する請求項14に記載の方法。
【請求項18】
以下の方法を採用してフィルタ出力値の最大極値を確定し、
該第1周波数段域の中の一段域を第2周波数段域とし、第2周波数段域が対応する周波数領域係数のフィルタ出力値において最初の最大値を捜索し、該最初の最大値が対応する周波数領域係数の位置によって異なる処理を行い、
a.該最初の最大値が第2周波数段域最低周波数の周波数領域係数のフィルタ出力値である場合、該第2周波数段域最低周波数の周波数領域係数のフィルタ出力値を第1周波数段域における一つ前のより低い周波数の周波数領域係数のフィルタ出力値と比較して、次第に前へ比較し続け、現在の周波数領域係数のフィルタ出力値が一つ前の周波数領域係数のフィルタ出力値より大きい場合、該現在の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、或いは、比較を続け、第1周波数段域の最低周波数の周波数領域係数のフィルタ出力値が次の周波数領域係数のフィルタ出力値より大きいことを得た場合、第1周波数段域の最低周波数の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、
b.該最初の最大値が第2周波数段域最高周波数の周波数領域係数のフィルタ出力値であると、該第2周波数段域最高周波数の周波数領域係数のフィルタ出力値を第1周波数段域における次のより大きい周波数の周波数領域係数のフィルタ出力値と比較して、次第に後へ比較し続け、現在の周波数領域係数のフィルタ出力値が次の周波数領域係数のフィルタ出力値よりも大きい場合、該現在の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、或いは、比較を続け、第1周波数段域の最高周波数の周波数領域係数のフィルタ出力値が一つ前の周波数領域係数のフィルタ出力値よりも大きいことを得る場合、第1周波数段域の最高周波数の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、
c.該最初の最大値が第2周波数段域最低周波数と最高周波数の間の周波数領域係数のフィルタ出力値であると、該最初の最大値が対応する周波数領域係数が音調の所在の位置であり、即ち、該最初の最大値が最終に確定された最大極値である請求項14に記載の方法。
【請求項19】
ステップC2の中に、ゼロビット符号化サブバンドに対して周波数帯コピーする場合、先ず、ソース周波数段域及び周波数帯コピーを行う必要があるゼロビット符号化サブバンドの開始シリアルナンバにより該ゼロビットの符号化サブバンドのソース周波数段域コピー開始シリアルナンバを計算し、周波数帯コピー周期を周期とし、ソース周波数段域コピー開始シリアルナンバから始めにソース周波数段域の周波数領域係数を周期的にゼロビット符号化サブバンドにコピーする請求項13に記載の方法。
【請求項20】
ステップC2の中に該ゼロビット符号化サブバンドのソース周波数段域コピー開始シリアルナンバを計算する方法は、
周波数領域係数を再建することが必要があるゼロビット符号化サブバンドの開始MDCT周波数領域係数の周波数ポイントのシリアルナンバーを得て、且つfillband_start_freqとし、音調が対応する周波数ポイントのシリアルナンバをTonal_posとし、Tonal_posに1を加えてコピー周期copy_periodを得て、周波数帯コピー偏移をcopyband_offsetとし、fillband_start_freqの値に循環にcopy_periodを差し引いて、該値がソース周波数段域のシリアルナンバの値区間に位置するまでにして、該値がソース周波数段域コピー開始シリアルナンバであり、copy_pos_modとすることである請求項19に記載の方法。
【請求項21】
ステップC2の中に、周波数帯コピー周期を周期として、ソース周波数段域コピー開始シリアルナンバからソース周波数段域の周波数領域係数を周期的にゼロビットの符号化サブバンドにコピーする方法は、
ソース周波数段域コピー開始シリアルナンバを開始とする周波数領域係数を順次に後へfillband_start_freqを開始位置とするゼロビットの符号化サブバンドにコピーし、ソース周波数段域コピーの周波数ポイントがTonal_pos+copyband_offset周波数ポイントに達するまでにして、再び第copyband_offset個の周波数ポイントから開始する周波数領域係数を続けて後へ該ゼロビットの符号化サブバンドにコピーし、そのように続け、現在のゼロビットの符号化サブバンドのすべての周波数領域係数の周波数帯コピーを完成するまで行うことである請求項19に記載の方法。
【請求項22】
ステップC2の中に、以下の方法を採用してゼロビットの符号化サブバンドコピーされた後得られた周波数領域係数に対して、エネルギー調整を行う、
ゼロビットの符号化サブバンドの周波数帯コピーされた後得られた周波数領域係数の振幅エンベロープを計算し、
【数33】

とし、
コピー後得られた周波数領域係数に対してエネルギー調整を行う一般式が
【数34】

であり、
その中、
【数35】

はゼロビットの符号化サブバンドrのエネルギー調整された後の周波数領域係数を表し、
【数36】

はゼロビットの符号化サブバンドrがコピーされた後得られた周波数領域係数を表し、
【数37】

はゼロビットの符号化サブバンドrがコピーされた後得られた周波数領域係数
【数38】

の振幅エンベロープであり、rms(r)はゼロビットの符号化サブバンドrの符号化された前の周波数領域係数の振幅エンベロープであり、振幅エンベロープの量子化指数の逆量子化から得られ、
【数39】

は、ゼロビットの符号化サブバンドrの周波数帯コピーのエネルギー制御スケール因子であり、その値がゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのノイズレベルにより決定され、具体的な計算式が以下のようであり、
【数40】

【数41】

が充填エネルギースケール因子であり、全体の充填エネルギーのゲインを調整することに用いられ、その値の範囲が(0、1)であり、
【数42】

が復号化逆量子化により得られたノイズ充填サブバンドjのノイズレベルであり、その中、jがゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのシリアルナンバであること請求項12に記載の方法。
【請求項23】
ステップC2の中に、以下の一般式によりエネルギー調整された後の周波数領域係数に対してノイズ充填を行い、
【数43】

その中、
【数44】

はゼロビットの符号化サブバンドrの再建周波数領域係数を表し、
【数45】

は、ゼロビットの符号化サブバンドrのエネルギー調整された後の周波数領域係数を表し、rms(r) はゼロビットの符号化サブバンドrの符号化前の周波数領域係数の振幅エンベロープであり、振幅エンベロープの量子化指数の逆量子化により得られ、
【数46】

がランダム位相生成器であり、ランダム位相値を生成し、その戻り値が+1または-1であり、
【数47】

がゼロビットの符号化サブバンドrのノイズレベル制御スケール因子であり、その値がゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのノイズレベルにより決定され、具体的な計算式が以下のようであり、
【数48】

その中、
【数49】

が充填エネルギースケール因子であり、全体の充填エネルギーのゲインを調整することに用いられ、その値の範囲が(0、1)であり、
【数50】

は復号化逆量子化により得られたノイズ充填サブバンドjのノイズレベルであり、その中、jがゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのシリアルナンバである請求項12に記載の方法。
【請求項24】
ステップB2の中に、各符号化サブバンドに対してビット分配をした後、符号化サブバンドを複数のノイズ充填サブバンドに分割し、有効ノイズ充填サブバンドに対してビット分配を行い、ステップC2の中に、ビットを分配された有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドに対し周波数帯コピーを行い、コピーされた周波数領域係数のエネルギーレベル及びノイズ充填のエネルギーレベルを制御し、ビットが分配されていない有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドに対してノイズ充填を行い、その中、有効ノイズ充填サブバンドとは、ゼロビットの符号化サブバンドを含むノイズ充填サブバンドである請求項13に記載の方法。
【請求項25】
修正離散コサイン変換(MDCT)ユニット、振幅エンベロープ計算ユニット、振幅エンベロープ量子化及び符号化ユニット、ビット分配ユニット、周波数領域係数符号化ユニット及びビットストリームマルチプレクサ(MUX)を含むオーディオ符号化システムであって、
該システムは、さらにノイズレベル推定ユニットを含み、その中には、
MDCTユニットは、オーディオ信号に対して逆修正離散コサイン変換を行い、周波数領域係数を変換することに用いられるものであり、
振幅エンベロープ計算ユニットは、前記MDCTユニットに接続し、前記MDCTにより生成した周波数領域係数を複数の符号化サブバンドに分割し、且つ各符号化サブバンドの振幅エンベロープ値を計算することに用いられるものであり、
振幅エンベロープ量子化及び符号化ユニットは、前記振幅エンベロープ計算ユニットに接続し、各符号化サブバンドの振幅エンベロープ値を量子化及び符号化を行い、各符号化サブバンドの振幅エンベロープの符号化ビットを生成することに用いられるものであり、
ビット分配ユニットは、前記振幅エンベロープ量子化及び符号化ユニットに接続し、各符号化サブバンドにビットを分配することに用いられるものであり、
周波数領域係数量子化符号化ユニットは、MDCTユニット、ビット分配ユニット及び振幅エンベロープ量子化及び符号化ユニットに接続し、各符号化サブバンドにおけるすべての周波数領域係数に対し正規化、量子化及び符号化処理を行い、周波数領域係数符号化ビットを生成することに用いられるものであり、
ノイズレベル推定ユニットは、MDCTユニット及ビット分配ユニットに接続し、符号化待ちのオーディオ信号のMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定し、さらに、ゼロビットの符号化サブバンドのオーディオ信号のノイズレベルを推定し、量子化符号化してノイズレベル符号化ビットを得ることに用いられ、その中、該ノイズレベルが復号化している場合にノイズ充填と周波数帯コピーとのエネルギーの比例を制御することに用いられるものであり、
ビットストリームマルチプレクサ(MUX)は、前記振幅エンベロープ量子化及び符号化ユニット、周波数領域係数符号化ユニット及びノイズレベル推定ユニットに接続し、各符号化サブバンドの符号化ビット及び周波数領域係数の符号化ビットをマルチプレックスし復号化端に送信することに用いられるものであるオーディオ符号化システム。
【請求項26】
前記ゼロビットの符号化サブバンドのオーディオ信号のノイズレベルとは、ゼロビットの符号化サブバンド内推定して得られたノイズ成分パワーとゼロビットの符号化サブバンド推定して得られた音調成分パワーとの比の値である請求項25に記載のシステム。
【請求項27】
前記ノイズレベル推定ユニットは、具体的に、
符号化待ちのオーディオ信号のMDCT周波数領域係数により符号化待ちのオーディオ信号のパワースペクトルを推定することに用いられるパワースペクトル推定モジュールと、
前記パワースペクトル推定モジュールに接続し、前記パワースペクトル推定モジュールが推定したパワースペクトルによりゼロビットの符号化サブバンドオーディオ信号のノイズレベルを推定することに用いられるノイズレベル計算モジュールと、
前記ノイズレベル計算モジュールに接続し、前記ノイズレベル計算モジュールが計算したノイズレベルに対して量子化符号化し、ノイズレベル符号化ビットを得ることに用いられるノイズレベル符号化モジュールとを含む請求項25に記載のシステム。
【請求項28】
前記パワースペクトル推定モジュールが以下の一般式を採用して第iフレームの周波数ポイントkのパワーを推定し、一般式が
【数51】

であり、そのなか、i=0の場合、
【数52】

【数53】

は、第iフレームの第k個の周波数ポイントの推定して得られたパワー値を表し、
【数54】

は、第iフレームの第k個の周波数ポイントのMDCT係数を表し、
【数55】

は、単極ポール平滑化フィルタのフィルタ係数である請求項27に記載のシステム。
【請求項29】
符号化待ちのオーディオ信号の周波数領域係数を1つまたは複数のノイズ充填サブバンドに分割し、前記ノイズレベル計算モジュールの機能は、具体的に、該有効ノイズ充填サブバンドにおけるすべてまたは部分のゼロビットの符号化サブバンドのすべての周波数領域係数パワーの平均値を計算し、平均パワー
【数56】

を得ることに用いられることと、該有効ノイズ充填サブバンドのすべてまたは部分のゼロビットの符号化サブバンドにおけるパワーPi(k)が平均パワー
【数57】

よりも大きいすべての周波数領域係数のパワーの平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドの音調成分平均パワー
【数58】

を得ることに用いられることと、該有効ノイズ充填サブバンドのすべてまたは部分のゼロビットの符号化サブバンドにおけるパワーPi(k)が平均パワー
【数59】

より小さいまたは等しいすべての周波数領域係数のパワーPi(k)の平均値を計算し、該有効ノイズ充填サブバンドにおけるゼロビットの符号化サブバンドのノイズ成分平均パワー
【数60】

を得ることに用いられることと、ノイズ成分平均パワー
【数61】

と音調成分平均パワー
【数62】

との比の値を計算し、該有効ノイズ充填サブバンドのノイズレベルを得ることに用いられることとを含み、
その中、有効ノイズ充填サブバンドとは、ゼロビットの符号化サブバンドを含むノイズ充填サブバンドである請求項27に記載のシステム。
【請求項30】
前記ノイズレベル推定ユニットは、さらにノイズレベル計算モジュール及びノイズレベル符号化モジュールに接続し、すべての有効ノイズ充填サブバンドにビットを分配し、または1つまたは複数の低周波数の有効ノイズ充填サブバンドをスキップ、後続の比較的に高周波数の有効ノイズ充填サブバンドにビットを分配し、及びノイズレベル計算モジュール及びノイズレベル符号化モジュールに通知することに用いられるビット分配モジュールを含み、
前記ノイズレベル計算モジュールはビットを分配されたノイズ充填サブバンドのみに対してノイズレベルを計算し、
前記ノイズレベル符号化モジュールは、ビット分配モジュールが分配したビットを利用して前記ノイズレベルに対して量子化符号化を行う請求項27に記載のシステム。
【請求項31】
ビットストリームデマルチプレクサ(DeMUX)、符号化サブバンド振幅エンベロープ復号化ユニット、ビット分配ユニット、周波数領域係数復号化ユニット、周波数スペクトル再建ユニット、逆修正離散コサイン変換(IMDCT)ユニットを含むオーディオ復号化システムであって、その中には、
前記DeMUXは、復号化待ちのビットストリームの中から振幅エンベロープ符号化ビット、周波数領域係数符号化ビット及びノイズレベル符号化ビットを分離することに用いられるものであり、
前記振幅エンベロープ復号化ユニットは、前記DeMUXに接続し、前記ビットストリームデマルチプレクサが出力した振幅エンベロープ符号化ビットに対して復号化を行い、各符号化サブバンドの振幅エンベロープ量子化指数を得ることに用いられるものであり、
前記ビット分配ユニットは、前記振幅エンベロープ復号化ユニットに接続し、ビットの分配を行い、各符号化サブバンドにおける各の周波数領域係数に分配された符号化ビット数を得ることに用いられるものであり、
周波数領域係数復号化ユニットは、振幅エンベロープ復号化ユニット及びビット分配ユニットに接続し、符号化サブバンドに対して復号化、逆量子化及び逆正規化を行い、周波数領域係数を得ることに用いられるものであり、
ノイズレベル復号化ユニットは、前記ビットストリームデマルチプレクサ及びビット分配ユニットに接続し、ノイズレベル符号化ビットに対して復号化逆量子化を行い、ノイズレベルを得ることに用いられるものであり、
前記周波数スペクトル再建ユニットは、前記ノイズレベル復号化ユニット、周波数領域係数復号化ユニット、振幅エンベロープ復号化ユニット及びビット分配ユニットに接続し、ゼロビットの符号化サブバンドに対して周波数帯コピーを行い、振幅エンベロープ復号化ユニットが出力した振幅エンベロープにより該符号化サブバンドの全体のエネルギー充填レベルを制御し、ノイズレベル復号化ユニットが出力したノイズレベルによりノイズ充填と周波数帯コピーとのエネルギーの比例を制御し、再建のゼロビットの符号化サブバンドの周波数領域係数を得ることに用いられるものであり、
IMDCTユニットは、前記周波数スペクトル再建ユニットに接続し、ゼロビットの符号化サブバンドの周波数スペクトル再建を完成した後の周波数領域係数に対してIMDCTを行い、オーディオ信号を得ることに用いられるものであるオーディオ復号化システム。
【請求項32】
前記周波数スペクトル再建ユニットは、次第に接続する周波数帯コピーサブユニット、エネルギー調整サブユニット及びノイズ充填サブユニットを含み、その中には、
周波数帯コピーサブユニットは、ゼロビットの符号化サブバンドに対して周波数帯コピーを行うことに用いられるものであり、
エネルギー調整サブユニットは、ゼロビットの符号化サブバンドが周波数帯コピーされた後得られた周波数領域係数の振幅エンベロープ(
【数63】

とする)を計算し、及び、ノイズレベル復号化ユニットが出力したノイズレベルによりコピーされた後得られた周波数領域係数に対してエネルギー調整を行い、エネルギー調整の一般式が
【数64】

であることに用いられるものであり、
その中、
【数65】

はゼロビットの符号化サブバンドrのエネルギー調整された後の周波数領域係数を表し、
【数66】

はゼロビットの符号化サブバンドrがコピーされた後得られた周波数領域係数を表し、
【数67】

はゼロビットの符号化サブバンドrがコピーされた後得られた周波数領域係数
【数68】

の振幅エンベロープであり、rms(r)はゼロビットの符号化サブバンドrの符号化された前の周波数領域係数の振幅エンベロープであり、振幅エンベロープの量子化指数の逆量子化から得られ、
【数69】

は、ゼロビットの符号化サブバンドrの周波数帯コピーのエネルギー制御スケール因子であり、その値がゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのノイズレベルにより決定され、具体的な計算式が以下のようであり、
【数70】

【数71】

が充填エネルギースケール因子であり、全体の充填エネルギーのゲインを調
整することに用いられ、その値の範囲が(0、1)であり、
【数72】

は復号化逆量子化により得られたノイズ充填サブバンドjのノイズレベルであり、その中、jがゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのシリアルナンバであり、
ノイズ充填サブユニットは、ノイズレベル復号化ユニットが出力したノイズレベルによりエネルギー調整された後の周波数領域係数に対してノイズ充填を行い、ノイズ充填の一般式が
【数73】

であることに用いられるものであり、
その中、
【数74】

はゼロビットの符号化サブバンドrの再建周波数領域係数を表し、
【数75】

は、ゼロビットの符号化サブバンドrのエネルギー調整された後のコピー周波数領域係数を表し、rms(r) はゼロビットの符号化サブバンドrの符号化前の周波数領域係数の振幅エンベロープであり、振幅エンベロープの量子化指数の逆量子化により得られ、
【数76】

がランダム位相生成器であり、ランダム位相値を生成し、その戻り値が+1または-1であり、
【数77】

がゼロビットの符号化サブバンドrのノイズレベル制御スケール因子であり、その値がゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのノイズレベルにより決定され、具体的な計算式が以下のようであり、
【数78】

その中、
【数79】

が充填エネルギースケール因子であり、全体の充填エネルギーのゲインを調整することに用いられ、その値の範囲が(0、1)であり、
【数80】

は復号化逆量子化により得られたノイズ充填サブバンドjのノイズレベルであり、その中、jがゼロビットの符号化サブバンドrの所在のノイズ充填サブバンドのシリアルナンバである請求項31に記載のシステム。
【請求項33】
前記周波数帯コピーサブユニットは、次第に接続する音調位置捜索モジュール、周期及びソース周波数段域計算モジュール、ソース周波数段域コピー開始シリアルナンバ計算モジュール及び周波数帯コピーモジュールを含み、その中には、
音調位置捜索モジュールは、MDCT周波数領域係数においてオーディオ信号のある音調の所在位置を捜索することに用いられるものであり、
周期及びソース周波数段域計算モジュールは、音調の所在位置によりコピーに用いる周波数帯コピー周期及びソース周波数段域を確定することに用いられ、該周波数帯コピー周期が0周波数ポイントから音調位置までの周波数ポイントの帯域幅であり、前記ソース周波数段域は、0周波数ポイントが後へ周波数帯コピー偏移copyband_offsetを偏移する周波数ポイントから音調位置の周波数ポイントが後へ前記copyband_offsetを偏移する周波数ポイントまでの周波数段域であり、
ソース周波数段域コピー開始シリアルナンバ計算モジュールは、ソース周波数段域及び周波数帯コピーを行う必要があるゼロビットの符号化サブバンドの開始シリアルナンバにより該ゼロビットの符号化サブバンドのソース周波数段域コピー開始シリアルナンバを計算することに用いられるものであり、
前記周波数帯コピーモジュールは、周波数帯コピー周期を周期とし、ソース周波数段域コピー開始シリアルナンバからソース周波数段域の周波数領域係数周期性をゼロビットの符号化サブバンドにコピーし、ゼロビットの符号化サブバンドの内の最高周波数が捜索して得られた音調の周波数より小さい場合、該周波数ポイントがただノイズ充填を採用して周波数スペクトル再建を行うことに用いられるものである請求項31に記載のシステム。
【請求項34】
前記音調位置捜索モジュールは、以下の方法を採用して音調の所在位置を捜索する。第1周波数段域のMDCT周波数領域係数に対して絶対値または平方値を取って、平滑化フィルタを行い、平滑化フィルタの結果により、第1周波数段域フィルタ出力値の最大極値の所在の位置を捜索し、該最大極値が所在している位置が、即ち、音調の所在位置である請求項33に記載のシステム。
【請求項35】
前記音調位置捜索モジュールが該第1周波数段域のMDCT周波数領域係数に対して絶対値を取って、平滑化フィルタを行う計算式が
【数81】

であり、
或いは、該第1周波数段域の周波数領域係数平方値に対して平滑化フィルタの計算が
【数82】

であり
そのなか、
【数83】

が平滑化フィルタ係数であり、
【数84】

が第iフレームの第k個の周波数ポイントのフィルタ出力値であり、
【数85】

が第iフレームの第k個の周波数ポイントの復号化後のMDCT係数であり、且つi=0の場合、
【数86】

= 0とする請求項33に記載のシステム。
【請求項36】
前記第1周波数段域は、周波数スペクトルの統計特性により確定されたエネルギーが比較的に集中している低周波数の周波数段域であり、その中、低周波数とは、1/2の信号総帯域幅より小さい周波数スペクトル成分である請求項33に記載のシステム。
【請求項37】
前記音調位置捜索モジュール計算モジュールは、直接に第1周波数段域が対応する周波数領域係数のフィルタ出力値の中から最初の最大値を捜索し、該最大値を第1周波数段域フィルタ出力値の最大極値とする請求項33に記載のシステム。
【請求項38】
前記音調位置捜索モジュールは、フィルタ出力値の最大極値を確定する時、該第1周波数段域の中の一段域を第2周波数段域として、先ず、第2周波数段域が対応する周波数領域係数のフィルタ出力値の中から最初の最大値を捜索し、そして該最初の最大値が対応する周波数領域係数の位置により異なる処理を行い、
a.該最初の最大値が第2周波数段域最低周波数の周波数領域係数のフィルタ出力値であると、該第2周波数段域最低周波数の周波数領域係数のフィルタ出力値を第1周波数段域における一つ前のより低い周波数の周波数領域係数のフィルタ出力値と比較して、次第に前へ比較し続け、現在の周波数領域係数のフィルタ出力値が一つ前の周波数領域係数のフィルタ出力値より大きい場合、該現在の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、或いは、比較し続けて、第1周波数段域の最低周波数の周波数領域係数のフィルタ出力値が次の周波数領域係数のフィルタ出力値より大きい場合、第1周波数段域の最低周波数の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、
b.該最初の最大値が第2周波数段域最高周波数の周波数領域係数のフィルタ出力値である場合、該第2周波数段域最高周波数の周波数領域係数のフィルタ出力値を第1周波数段域における次のより高い周波数の周波数領域係数のフィルタ出力値と比較して、次第に後へ比較し続け、現在の周波数領域係数のフィルタ出力値が次の周波数領域係数のフィルタ出力値より大きい場合、該現在の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、或いは、比較して第1周波数段域の最高周波数の周波数領域係数のフィルタ出力値が一つ前の周波数領域係数のフィルタ出力値より大きい場合、第1周波数段域の最高周波数の周波数領域係数のフィルタ出力値が最終に確定された最大極値であり、
c.該最初の最大値が第2周波数段域最低周波数と最高周波数の間の周波数領域係数のフィルタ出力値であると、該最初の最大値が対応する周波数領域係数が音調の所在の位置であり、即ち、該最初の最大値が最終に確定された最大極値である請求項33に記載のシステム。
【請求項39】
前記ソース周波数段域コピー開始シリアルナンバ計算モジュールは、周波数帯コピーを行う必要があるゼロビットの符号化サブバンドのソース周波数段域コピー開始シリアルナンバの計算過程は、現在に周波数領域係数を再建することが必要があるゼロビットの符号化サブバンドの開始周波数ポイントのシリアルナンバを得て、fillband_start_freqとし、音調が対応する周波数ポイントのシリアルナンバをTonal_posとし、Tonal_posに1を加えてコピー周期copy_periodを得て、ソース周波数段域開始シリアルナンバをcopyband_offsetとし、fillband_start_freqの値に循環にcopy_periodを減って、該値がソース周波数段域のシリアルナンバの値区間に位置するまでして、該値がソース周波数段域コピー開始シリアルナンバであり、copy_pos_modとすることを含む請求項33に記載のシステム。
【請求項40】
周波数帯コピーモジュールが周波数帯コピーを行う場合、ソース周波数段域コピー開始シリアルナンバを開始とする周波数領域係数を順次に後へfillband_start_freqを開始位置とするゼロビットの符号化サブバンドにコピーしつづけ、ソース周波数段域コピーの周波数ポイントがTonal_pos+copyband_offset周波数ポイントに達した後、再び第copyband_offset個の周波数ポイントから開始する周波数領域係数を続けて後へ該ゼロビットの符号化サブバンドにコピーし、そのように続け、現在のゼロビットの符号化サブバンドのすべての周波数領域係数コピーを完成するまで行う請求項33に記載のシステム。
【請求項41】
前記ビット分配ユニットは、
すべての有効ノイズ充填サブバンドにビットを分配し、または1つまたは複数の低周波数の有効ノイズ充填サブバンドをスキップし、後続の比較的に高周波数の有効ノイズ充填サブバンドにビットを分配することにさらに用いられ、
前記エネルギー調整サブユニットは、周波数帯コピーされた後得られた周波数領域係数にエネルギー調整を行い、
前記ノイズ充填サブユニットは、エネルギー調整された後の周波数領域係数、及びビットを分配しないノイズ充填サブバンドにおけるゼロビットの符号化サブバンドにノイズ充填を行う請求項31に記載のシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−15598(P2013−15598A)
【公開日】平成25年1月24日(2013.1.24)
【国際特許分類】
【出願番号】特願2011−146902(P2011−146902)
【出願日】平成23年6月30日(2011.6.30)
【出願人】(506073915)中興通訊股▲ふん▼有限公司 (105)