以下に、本願の開示するオーディオ符号化装置、オーディオ符号化方法およびオーディオ符号化プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例1に係るシステムの構成を示す図である。図1に示すように、このシステムは、オーディオ符号化装置100と、復号装置20とを有する。オーディオ符号化装置100は、ネットワーク50を介して、復号装置20に接続される。
オーディオ符号化装置100は、外部装置から音信号を取得し、音信号を符号化する装置である。たとえば、オーディオ符号化装置100は、トーンが低域・高域の境界にあることを検出した場合に、低域側のトーンまたは高域側のトーンの一方を抑圧した後、低域符号および高域符号を多重化してストリームを生成する。オーディオ符号化装置100は、ストリームを復号装置20に送信する。ストリームは、符号化ストリームに対応する。
復号装置20は、オーディオ符号化装置100からストリームを受信し、ストリームを復号する装置である。復号装置20の説明は、図37で説明した復号装置20の説明と同様である。
図2は、本実施例1に係るオーディオ符号化装置の構成を示す機能ブロック図である。図2に示すように、このオーディオ符号化装置100は、低域信号抽出部110、高域情報抽出部120、判定部130、低域補正部140、低域符号化部150、高域補正部160、高域符号化部170、多重化部180を有する。たとえば、低域信号抽出部110、高域情報抽出部120、低域補正部140、低域符号化部150、高域補正部160、高域符号化部170は、符号化部に対応する。
低域信号抽出部110は、外部装置から音信号を取得し、音信号の低域に含まれる低域信号を抽出する処理部である。低域信号抽出部110は、低域信号を、低域補正部140に出力する。管理者は、低域の上限周波数を予め設定しておくものとする。
高域情報抽出部120は、外部装置から音信号を取得し、音信号の高域から、高域情報を抽出する処理部である。高域情報抽出部120は、高域情報を、高域補正部160に出力する。高域情報には、包絡電力、トーン周波数、周波数分解能が含まれる。管理者は、高域の下限周波数を予め設定しておくものとする。また、高域の下限周波数は、低域の上限周波数より低い帯域でも良い。
たとえば、高域情報抽出部120は、音信号を周波数スペクトルに変換し、周波数スペクトルの高域側の包絡線の形状を包絡電力として抽出する。高域情報抽出部120は、周波数スペクトルの高域について、電力が閾値以上となる周波数を、トーン周波数として抽出する。周波数分解能は、予め設定されているものとする。
判定部130は、外部装置から音信号を取得し、音信号の低域と高域との境界にトーンが含まれるか否かを判定する処理部である。また、判定部130は、境界にトーンが含まれると判定した場合に、低域のトーンを抑圧するのか、高域のトーンを抑圧するのかを判定する。低域と高域との境界は、低域の上限から高域の下限の間の帯域とする。また、低域の上限から高域の下限の間の帯域の上下に幅を持たせても良い。例えば、「境界の帯の下限−ε〜境界の帯域の上限+ε」としても良い。
図3は、本実施例1に係る判定部の構成を示す機能ブロック図である。図3に示すように、この判定部130は、BPF(Band Pass Filter)131と、トーン検出部132と、補正判定部133とを有する。
BPF131は、音信号のうち、低域と高域との境界付近の音信号を通過させるフィルタである。BPF131を通過した音信号は、トーン検出部132に出力される。
図4は、BPFを説明するための図である。図4において、横軸は周波数に対応する軸であり、縦軸は電力に対応する軸である。低域と高域との境界60を含むように、幅60aのBPFを適用する。幅60aは、低域の上限と、高域の下限を基にして、決定されても良い。たとえば、幅60aを「低域の上限−α〜高域の下限+α」としても良い。また、高域の下限周波数≦低域の下限周波数の場合は、幅60aを「高域の下限−α〜低域の上限+α」としても良い。
ここでは一例として、音信号から、境界付近の音信号を抽出する場合に、BPF131を用いたが、これに限定されるものではない。たとえば、FFT(Fast Fourier Transform)、MDCT(Modified Discrete Cosine Transform)、QMF(Quadrature Mirror Filter)変換等を用いて、境界付近の音信号を抽出しても良い。
トーン検出部132は、境界付近の音信号にトーンが含まれているか否かを判定する処理部である。たとえば、トーン検出部132は、境界付近の音信号を基にして、トーン性を示す数値を算出し、トーン性を示す数値が閾値以上である場合に、トーンが含まれていると判定する。トーン検出部132に関する以下の説明では、境界付近の音信号を、単に音信号と表記する。トーン検出部132は、第1のトーン検出処理または第2のトーン検出処理を実行することで、トーンの有無を検出する。
第1のトーン検出処理の一例について説明する。トーン検出部132は、式(1)に基づいて、音信号のパワースペクトルの平坦性の逆数を、トーン性を示す数値T1として算出する。数値T1が小さいほど、音信号の周波数スペクトルの波形がより平坦であり、トーンが含まれている可能性が低いと言える。式(1)において、X(ω)は、周波数ωに対応する音信号の電力を示す。
トーン検出部132は、数値T1が閾値TH1よりも大きい場合に、音信号にトーンが含まれていると判定する。一方、トーン検出部132は、数値T1が閾値TH1よりも大きくない場合に、音信号にトーンが含まれていないと判定する。
第2のトーン検出処理の一例について説明する。トーン検出部132は、式(2)、(3a)に基づいて、音信号の時間領域に関して、時刻iにおける音信号の値x(i)での自己相関R(j)を求め、自己相関R(j)の最大値を、トーン性を示す数値T2として算出する。トーン検出部132は、数値T2が閾値TH2よりも大きい場合に、音信号にトーンが含まれていると判定する。一方、トーン検出部132は、数値T2が閾値TH2よりも大きくない場合に、音信号にトーンが含まれていないと判定する。
T2=max(R(j))・・・(3a)
トーン検出部132は、第1のトーン検出処理または第2のトーン検出処理を実行し、トーン有りと判定した場合には、トーン有の情報を、補正判定部133に出力する。また、トーン検出部132は、トーン電力を、低域補正部140および高域補正部160に出力する。トーン電力は、低域と高域との境界に存在するトーンの電力である。
一方、トーン検出部132は、トーン無と判定した場合には、トーン無の情報を、補正判定部133に出力する。
補正判定部133は、トーン検出部132から「トーン有」である旨の情報を取得した場合には、符号化条件を取得し、符号化条件を基にして、音信号の低域のトーンを抑圧するのか、高域のトーンを抑圧するのかを判定する処理部である。符号化条件は、たとえば、符号化のビットレートの情報を含む。符号化条件の情報は、管理者が入力しても良いし、補正判定部133に予め設定しておいても良い。
補正判定部133は、符号化条件に含まれるビットレートの値が、閾値以上である場合に、符号化条件が高レートであると判定する。補正判定部133は、高レートであると判定した場合に、高域のトーンを抑圧すると判定し、制御信号を、高域補正部160に出力する。
補正判定部133は、符号化条件に含まれるビットレートの値が、閾値未満である場合に、符号化条件が低レートであると判定する。補正判定部133は、低レートであると判定した場合に、低域のトーンを抑圧すると判定し、制御信号を、低域補正部140に出力する。
図2の説明に戻る。低域補正部140は、判定部130から制御信号を受け付けた場合に、低域信号に含まれる境界のトーン成分を抑圧することで、低域信号を補正する処理部である。低域補正部140は、補正した低域信号を、低域符号化部150に出力する。
低域補正部140は、判定部130から制御信号を受け付けていない場合には、低域信号抽出部110から受け付ける低域信号を、そのまま、低域符号化部150に出力する。
図5は、本実施例1に係る低域補正部の構成を示す機能ブロック図である。図5に示すように、この低域補正部140は、スイッチ141と、抑圧ゲイン算出部142と、平滑化部143と、トーン抑圧部144とを有する。
スイッチ141は、判定部130から取得する制御信号に応じて、低域信号の経路を切り替えるスイッチである。スイッチ141は、制御信号を受け付けていない場合には、端子141aと端子141bとを接続することで、低域信号をそのまま通過させる。スイッチ141は、制御信号を受け付けた場合には、端子141aと端子141cとを接続することで、低域信号を、トーン抑圧部144に入力する。
抑圧ゲイン算出部142は、低域信号のトーンを動的マスキング閾値以下に抑圧するゲインを算出する処理部である。動的マスキング閾値は、抑圧対象のトーンが存在する周波数と、トーン電力との組に応じて決定される閾値である。
図6は、動的マスキング閾値を説明するための図である。図6において、横軸は周波数に対応する軸であり、縦軸は電力に対応する軸である。たとえば、トーンが隣接する場合であっても、トーン電力が動的マスキング閾値未満である場合には、トーンが聞こえなくなる。
トーン65Aの動的マスキング閾値は、閾値66となる。トーン65Aのトーン電力は閾値66以上であるため、トーン65Aの音は聞こえる。一方、トーン65Aのトーン電力を抑圧して、トーン65Bに補正すると、閾値66未満となり、トーン65Bの音は聞こえない。
トーン65Cの動的マスキング閾値は、閾値67となる。トーン65Cのトーン電力は閾値67以上であるため、トーン65Cの音は聞こえる。一方、トーン65Cのトーン電力を抑圧して、トーン65Dに補正すると、閾値67未満となり、トーン65Dの音は聞こえない。
抑圧ゲイン算出部142は、トーンの周波数およびトーン電力と、動的マスキング閾値とを対応づけたテーブルを参照して、動的マスキング閾値を特定する。たとえば、トーンの周波数を、低域と高域との境界の周波数とする。抑圧ゲイン算出部142は、トーン電力と、動的マスキング閾値とを比較して、トーン電力が動的マスキング閾値未満となる抑圧ゲインを特定する。抑圧ゲイン算出部142は、抑圧ゲインを平滑化部143に出力する。
平滑化部143は、低域信号のトーン成分をなだらかに抑圧するために、段階的に大きくする抑圧ゲインを、トーン抑圧部144に出力する処理部である。たとえば、平滑化部143は、抑圧ゲインを初期値から徐々に大きくしていき、最終的に、抑圧ゲインの大きさを、抑圧ゲイン算出部142から通知される抑圧ゲインの大きさになるように調整する。
トーン抑圧部144は、平滑化部143から取得する抑圧ゲインを、トーン成分に乗算することで、境界のトーンを抑圧し、低域信号を補正する処理部である。トーン抑圧部144は、補正した低域信号を、低域符号化部150に出力する。
図7は、本実施例1に係る低域補正部の処理を説明するための図である。図7において、補正前の低域信号の周波数スペクトルを、周波数スペクトル70aとする。補正後の低域信号の周波数スペクトルを、周波数スペクトル70bとする。周波数スペクトル70a,70bの横軸は、周波数に対応する軸であり、周波数スペクトル70a,70bの縦軸は、電力に対応する軸である。
周波数スペクトル70aに示すように、境界にトーン71aがある。トーン71aに対応する動的マスキング閾値を、動的マスキング閾値72とする。トーン抑圧部144は、トーン71aが動的マスキング閾値72未満となるような抑圧ゲインを与えることで、トーン71aを、トーン71bに補正する。これにより、トーン71bが、動的マスキング閾値72未満となり、聞こえなくなるため、音信号の音質が劣化することができる。
図2の説明に戻る。低域符号化部150は、低域補正部から低域信号を取得し、低域信号をビット列に符号化することで、低域符号を生成する処理部である。たとえば、低域符号化部150は、AACに基づいて、符号化を行う。低域符号化部150は、低域符号を、多重化部180に出力する。
高域補正部160は、判定部130から制御信号を受け付けた場合に、高域情報に含まれる境界の包絡電力を抑圧することで、高域情報を補正する処理部である。高域補正部160は、補正した高域情報を、高域符号化部170に出力する。
高域補正部160は、判定部130から制御信号を受け付けていない場合には、高域情報抽出部120から取得する高域情報を、そのまま、高域符号化部170に出力する。
図8は、本実施例1に係る高域補正部の構成を示す機能ブロック図である。図8に示すように、この高域補正部160は、スイッチ161と、抑圧ゲイン算出部162と、平滑化部163と、トーン抑圧部164とを有する。
スイッチ161は、判定部130から取得する制御信号に応じて、高域情報の経路を切り替えるスイッチである。スイッチ161は、制御信号を受け付けていない場合には、端子161aと端子161bとを接続することで、高域情報をそのまま通過させる。スイッチ161は、制御信号を受け付けた場合には、端子161aと端子161cとを接続することで、高域情報を、トーン抑圧部164に入力する。
抑圧ゲイン算出部162は、高域情報に含まれる境界の包絡電力(トーン電力)を動的マスキング閾値以下に抑圧するゲインを算出する処理部である。動的マスキング閾値は、境界の周波数と、境界の包絡電力との組に応じて決定される閾値である。
抑圧ゲイン算出部162は、境界の周波数および境界の包絡電力と、動的マスキング閾値とを対応づけたテーブルを参照して、動的マスキング閾値を特定する。抑圧ゲイン算出部162は、境界の包絡電力と、動的マスキング閾値とを比較して、包絡電力が動的マスキング閾値未満となる抑圧ゲインを特定する。抑圧ゲイン算出部162は、抑圧ゲインを平滑化部163に出力する。
平滑化部163は、包絡電力の値をなだらかに抑圧するために、段階的に大きくする抑圧ゲインを、トーン抑圧部164に出力する処理部である。たとえば、平滑化部163は、抑圧ゲインを初期値から徐々に大きくしていき、最終的に、抑圧ゲインの大きさを、抑圧ゲイン算出部162から通知される抑圧ゲインの大きさになるように調整する。
トーン抑圧部164は、平滑化部163から取得する抑圧ゲインを、境界の包絡電力に乗算することで、高域情報を補正する処理部である。境界の包絡電力を抑制することで、復号装置20で復号される境界のトーンが、動的マスキング閾値未満となる。トーン抑圧部164は、補正した高域情報を、高域符号化部170に出力する。なお、トーン抑圧部164は、高域情報に含まれる包絡電力、トーン周波数、周波数分解能のうち、包絡電力のみ補正し、トーン周波数、周波数分解能の補正は行わないものとする。
図9は、本実施例1に係る高域補正部の処理を説明するための図である。図9において、補正前の包絡電力76aを、周波数スペクトル75a上に示す。補正後の包絡電力76bを、周波数スペクトル75b上に示す。周波数スペクトル75a,75bの横軸は、周波数に対応する軸であり、周波数スペクトル75a,75bの縦軸は、電力に対応する軸である。また、低域と高域との境界を、境界77とする。
たとえば、境界77付近の包絡電力76aに対応する動的マスキング閾値を、動的マスキング閾値78とする。トーン抑圧部164は、境界77の包絡電力76aが、動的マスキング閾値78未満となるように、包絡電力76aを抑圧した包絡電力76bを生成することで、高域情報を補正する。包絡電力76bは、動的マスキング閾値78未満であるため、この包絡電力76bを基に復号される境界のトーン成分が抑えられる。
図2の説明に戻る。多重化部180は、低域符号と、高域符号とを多重化することで、ストリームを生成する処理部である。多重化部180は、ストリームを、ネットワーク50を介して、復号装置20に送信する。
次に、本実施例1に係るオーディオ符号化装置100の判定部130の処理手順について説明する。図10は、本実施例1に係る判定部の処理手順を示すフローチャート(1)である。図10に示すように、オーディオ符号化装置100の判定部130は、トーン性Tを算出する(ステップS101)。ステップS101において、判定部130は、第1のトーン検出処理によりトーン性T1を算出しても良いし、第2のトーン検出処理によりトーン性T2を算出しても良い。
判定部130は、トーン性Tが、閾値THよりも大きいか否かを判定する(ステップS102)。ステップS102において、判定部130は、トーン性T1を算出した場合には、閾値TH1と比較する。判定部130は、トーン性T2を算出した場合には、閾値TH2と比較する。
判定部130は、トーン性Tが閾値THよりも大きい場合には(ステップS102,Yes)、トーン有と判定する(ステップS104)。一方、判定部130は、トーン性Tが閾値THよりも大きくない場合には(ステップS102,No)、トーン無と判定する(ステップS103)。判定部130は、トーン電力を計算する(ステップS105)。
図11は、本実施例1に係る判定部の処理手順を示すフローチャート(2)である。図11に示すように、オーディオ符号化装置100の判定部130は、トーン検出結果が、トーン有りであるか否かを判定する(ステップS201)。判定部130は、トーン検出結果が、トーン有りでない場合には(ステップS201,No)、補正処理を実行しない旨の制御信号を出力する(ステップS202)。なお、ステップS202において、判定部130は、補正処理を実行しないと判定した場合に、制御信号の出力を抑止しても良い。
判定部130は、トーン検出結果が、トーン有りの場合には(ステップS201,Yes)、符号化条件のビットレートが所定値以上であるか否かを判定する(ステップS203)。判定部130は、符号化条件のビットレートが所定値以上である場合には(ステップS203,Yes)、高域補正を行う旨の、制御信号を高域補正部160に出力する(ステップS204)。
判定部130は、符号化条件のビットレートが所定値以上でない場合には(ステップS203,No)、低域補正を行う旨の、制御信号を低域補正部140に出力する(ステップS205)。
次に、本実施例1に係るオーディオ符号化装置100の処理手順の一例について説明する。図12は、本実施例1に係るオーディオ符号化装置の処理手順を示すフローチャートである。図12に示すように、このオーディオ符号化装置100は、音信号を受け付ける(ステップS301)。
オーディオ符号化装置100の低域信号抽出部110は、音信号から低域信号を抽出する(ステップS302)。オーディオ符号化装置100の高域情報抽出部120は、音信号から高域情報を抽出する(ステップS303)。
オーディオ符号化装置100の判定部130は、境界におけるトーンの有無を判定する。判定部130は、トーン有の場合には、低域を補正するのか、高域を補正するのかを判定する(ステップS304)。
オーディオ符号化装置100の低域補正部140は、低域を補正すると判定された場合に、低域信号を補正する(ステップS305)。オーディオ符号化装置100の高域補正部160は、高域を補正すると判定された場合に、高域情報の包絡電力を補正する(ステップS306)。
オーディオ符号化装置100の低域符号化部150は、低域信号を符号化して、低域符号を生成する(ステップS307)。オーディオ符号化装置100の高域符号化部170は、高域情報を符号化して、高域符号を生成する(ステップS308)。
オーディオ符号化装置100の多重化部180は、低域符号と高域符号とを多重化したストリームを生成する(ステップS309)。多重化部180は、ストリームを復号装置20に送信する(ステップS310)。
次に、本実施例1に係るオーディオ符号化装置100の効果について説明する。オーディオ符号化装置100は、トーンが低域・高域の境界にあることを検出した場合に、低域側または高域側のトーンの一方を抑圧した後に、低域符号および高域符号を多重化したストリームを生成する。これにより、音信号の音質が劣化することを抑止することができる。
たとえば、オーディオ符号化装置100は、トーンが境界にあることを検出し、低域信号のトーンを抑圧することで、たとえば、図39のトーン32aが小さくなる。これにより、うなり成分がなくなり、音質劣化を抑止できる。オーディオ符号化装置100は、トーンが境界にあることを検出し、高域情報のトーン(包絡電力)を抑圧することで、たとえば、図39のトーン32bが小さくなる。これにより、うなり成分がなくなり、音質劣化を抑止できる。
オーディオ符号化装置100は、符号化条件のビットレートと閾値との比較により、低域のトーンを抑圧するのか、高域のトーンを抑圧するのかを判定し、判定結果に応じた帯域のトーンを抑圧する。これにより、ビットレートに応じて、音質の劣る方の帯域で、補正を行うことができる。たとえば、ビットレートが高レートの場合には、高域の音質が劣るため、高域を補正する。一方、ビットレートが低レートの場合には、低域の音質が劣るため、低域を補正する。
図13は、本実施例1に係るオーディオ符号化装置の効果を説明するための図である。図13において、スペクトラム81a、時間波形82aは、原音(正解)のスペクトラムおよび時間波形である。一例として、チェンバロの響きが衰退するトーン(16bit、48kHz、mono)を原音として用いた。また、低域と高域との境界を6.7kHzとした。
スペクトラム81b、時間波形82bは、従来の符号化装置10が符号化したストリームを復号装置20が復号した信号に関する、スペクトラムおよび時間波形である。スペクトラム81c、時間波形82cは、オーディオ符号化装置100が符号化したストリームを復号装置20が復号した信号に関する、スペクトラムおよび時間波形である。
スペクトラム81a〜81cの横軸は時間に対応する軸であり、縦軸は周波数に対応する軸である。また、スペクトラム81a〜81cでは、明暗により電力値の大小を表しており、明るい部分は、電力が大きく、暗い部分は、電力が小さい。時間波形82a〜82cの横軸は時間に対応する軸であり、縦軸は振幅に対応する軸である。
スペクトラム81a〜81cを比較、および、時間波形82a〜82cを比較すると、従来技術と比較して、オーディオ符号化装置100の符号化は、ゆらぎが抑えられ、音質劣化を抑止できている。
ところで、図2に示したオーディオ符号化装置100は、低域補正部140および高域補正部160のいずれか一方を有していれば良く、必ずしも、低域補正部140および高域補正部160の双方を有していなくても良い。
たとえば、オーディオ符号化装置100が、低域補正部140を有し、高域補正部160を有していない場合には、境界のトーンが検出される度に、低域補正部140が、低域信号の補正を行う。一方、オーディオ符号化装置100が、低域補正部140を有しておらず、高域補正部160を有している場合には、境界のトーンが検出される度に、高域補正部160が、高域情報の包絡電力の補正を行う。このように構成することで、オーディオ符号化装置100のハードウェア資源を節約しつつ、音信号の劣化を抑止することができる。
実施例6の説明を行う前に、上述した実施例1で説明したオーディオ符号化装置100の問題について説明する。オーディオ符号化装置100により生成された符号化ストリームを復号装置20が復号する際、復号装置20の逆フィルタモードの設定に応じて、図22で説明するように、復号後の音信号の品質が劣化する場合がある。
図22は、オーディオ符号化装置の問題を説明するための図である。図22に示す音信号の周波数スペクトル901は、横軸が周波数に対応する軸であり、縦軸が電力(値)に対応する軸である。周波数スペクトル901の低域と高域との境界902の付近には、トーン903が含まれている。
たとえば、オーディオ符号化装置100は、境界902付近のトーン903を検出すると、低域に含まれるトーン903を抑圧することで、低域信号を補正し、低域信号を符号化した低域符号を生成する。オーディオ符号化装置100は、低域符号と、高域情報を符号化した高域符号とを多重化することで、符号化ストリームを生成し、復号装置20に出力する。
復号装置20は、オーディオ符号化装置100から受信した符号化ストリームを復号することで、周波数スペクトル910を生成することになる。ここで、復号装置20の処理に応じて、周波数スペクトル920が生成される場合がある。周波数スペクトル910,920に関して、横軸は周波数に対応する軸であり、縦軸は電力(値)に対応する軸である。
周波数スペクトル910は、適切に復号された周波数スペクトルであり、境界911の付近にトーン912が含まれている。一方、周波数スペクトル920は、境界921の付近にトーンが含まれておらず、音信号の品質が劣化する。
続いて、周波数スペクトル920の境界921付近において、トーンが生成されない理由について説明する。たとえば、SBR技術を利用する復号装置20には、逆フィルタモードのオン、オフの機能が備わっている。
復号装置20は、逆フィルタモードが「オフ」となっている場合には、周波数スペクトルの低域をそのまま高域に複製して、音信号を生成する。このように、復号装置20が、低域の周波数スペクトルをそのまま高域に複製する処理を行う場合には、図22に示した周波数スペクトル910が生成され、音信号の品質が劣化することはない。
一方、復号装置20は、逆フィルタモードが「オン」となっている場合には、周波数スペクトルの低域を非相関化してから高域に複製して、音信号を生成する。このように、復号装置20が、低域信号を非相関化してから高域を複製すると、高域にトーンが生成されず、図22に示した周波数スペクトル920が生成され、音信号の品質が劣化する。
図23は、低域の信号を非相関化したことによる問題を説明するための図である。図23において、各周波数スペクトル930〜932の横軸は周波数に対応する軸であり、縦軸は電力(値)に対応する軸である。
復号装置20は、周波数スペクトル930の低域を非相関化することで、周波数スペクトル931を生成する。復号装置20は、周波数スペクトル931の帯域931aを選択し、選択した帯域931aの周波数スペクトルを高域に複製することで、周波数スペクトル932を生成する。復号装置20は、周波数スペクトル932に対して包絡調整を行うことで、最終的な周波数スペクトルを復号する。図23で説明したように、低域の信号を非相関化してから高域を複製すると、復号された周波数スペクトルには、高域にトーンが生成されない。
図22および図23で説明した問題を解消するために、本実施例6に係るオーディオ符号化装置は、逆フィルタモードのオン、オフに応じて、低域信号の補正の有無を制御する。たとえば、オーディオ符号化装置は、逆フィルタモードが「オフ」の場合には、低域信号の補正を行うことで、トーンを抑圧する。一方、オーディオ符号化装置は、逆フィルタモードが「オン」の場合には、低域信号の補正を行わないことで、低域信号のトーンを抑圧しない。このように、逆フィルタモードのオン、オフに応じて、トーンの抑圧の制御を行い、復号装置20が復号を行う場合における、音信号の品質劣化の問題を解消する。
図24は、本実施例6に係るシステムの構成を示す図である。図24に示すように、このシステムは、オーディオ符号化装置600と、復号装置700とを有する。オーディオ符号化装置600は、ネットワーク50を介して、復号装置700に接続される。
図25は、本実施例6に係るオーディオ符号化装置の構成を示す機能ブロック図である。図25に示すように、このオーディオ符号化装置600は、符号化部600aと、判定部604と、多重化部609とを有する。符号化部600aは、時間周波数変換部601と、高域情報抽出部602と、高域符号化部603と、低域抽出部605と、低域補正部606と、周波数時間変換部607と、低域符号化部608とを含む。
時間周波数変換部601は、音信号を時間周波数信号に変換する処理部である。時間周波数変換部601は、時間周波数信号を、高域情報抽出部602、判定部604、低域抽出部605に出力する。
たとえば、時間周波数変換部601は、式(3)で定義されるQMF(Quadrature Mirror Filter)フィルタバンクを用いて、音信号s[n]を、周波数信号S[k][n]に変換する。式(3)において、nは時間を表す変数であり、kは周波数を表す変数である。
時間周波数変換部601は、各時間と各周波数の周波数信号Sとを対応づけることで、時間周波数信号L[k][n]を生成する。図26は、時間周波数信号のデータ構造の一例を示す図である。図26において、横軸は時間に対応する軸であり、縦軸は周波数に対応する軸である。時間周波数信号は、時間毎の周波数スペクトルの情報を含む。たとえば、S(0,0)、S(1,0)、・・・S(63,0)は、時間n=0における、周波数と周波数信号Sの値(電力値に相当)との関係を示す周波数スペクトルの情報である。
図25の説明に戻る。高域情報抽出部602は、時間周波数信号の高域から、高域情報を抽出する処理部である。高域情報抽出部602は、抽出した高域情報を、高域符号化部603に出力する。高域情報には、包絡電力、トーン周波数、周波数分解能が含まれる。高域情報を抽出する処理は、実施例1で説明した高域情報抽出部120の処理と同様である。
また、高域情報抽出部602は、時間周波数信号を基にして、復号装置700に設定される逆フィルタモードがオンであるかオフであるかを推定する。高域情報抽出部602は、推定した逆フィルタモードの情報を、低域補正部606に出力する。
高域情報抽出部602は、時間周波数信号のトーン成分の平均値を算出する。トーン成分の平均値を「帯域トーン成分」と表記する。高域情報抽出部602は、帯域トーン成分を用いて、フレーム内の平均電力を計算する。フレームは、時間周波数信号を所定時間毎に分割したデータに対応する。高域情報抽出部602は、前フレームの帯域トーン成分を用いて、現フレームの帯域トーン成分を平滑化する。
高域情報抽出部602は、平滑化された帯域トーン成分と、平均電力とを基にして、逆フィルタモードのオン、オフを判定する。たとえば、高域情報抽出部602は、図27で説明するような閾値比較を行うことで、逆フィルタレベルを判定する。図27は、逆フィルタレベルの判定手順を示すフローチャートである。図27に示す第1〜第4閾値は、事前に設定されているものとする。なお、第1閾値〜第3閾値の大小関係は、第1閾値<第2閾値<第3閾値とする。
図27に示すように、高域情報抽出部602は、帯域トーン成分が第1閾値未満である場合には(ステップS31,No)、逆フィルタレベル=0と判定し(ステップS32)、ステップS38に移行する。
高域情報抽出部602は、帯域トーン成分が第1閾値以上である場合には(ステップS31,Yes)、ステップS33に移行する。高域情報抽出部602は、帯域トーン成分が第2閾値未満である場合には(ステップS33,No)、逆フィルタレベル=1と判定し(ステップS34)、ステップS38に移行する。
高域情報抽出部602は、帯域トーン成分が第2閾値以上である場合には(ステップS33,Yes)、ステップS35に移行する。高域情報抽出部602は、帯域トーン成分が第3閾値未満である場合には(ステップS35,No)、逆フィルタレベル=2と判定し(ステップS36)、ステップS38に移行する。
高域情報抽出部602は、帯域トーン成分が第3閾値以上である場合には(ステップS35,Yes)、逆フィルタレベル=3と判定し(ステップS37)、ステップS38に移行する。
高域情報抽出部602は、平均電力が第4閾値未満であるか否かを判定する(ステップS38)。高域情報抽出部602は、平均電力が第4閾値未満である場合には(ステップS38,Yes)、逆フィルタレベルを0に更新し(ステップS39)、逆フィルタレベルを判定する処理を終了する。一方、高域情報抽出部602は、平均電力が第4閾値以上である場合には(ステップS38,No)、逆フィルタレベルを判定する処理を終了する。
ほとんど無音の信号に対して逆フィルタの処理を行わないようにするため、平均電力が微小な場合には、逆フィルタレベルを「0」に設定する。このため、第4閾値は、微小な値が設定される。
高域情報抽出部602は、図27に示す処理を実行し、逆フィルタレベルが「0」である場合には、逆フィルタモード「オフ」の情報を、低域補正部606に出力する。高域情報抽出部602は、逆フィルタレベルが「1」以上である場合には、逆フィルタモード「オン」の情報を、低域補正部606に出力する。
図25の説明に戻る。高域符号化部603は、高域情報を符号化することで、高域符号を生成する処理部である。高域符号化部603は、高域符号を、多重化部609に出力する。
判定部604は、時間周波数信号を基にして、音信号の低域と高域との境界にトーンが含まれるか否かを判定する処理部である。判定部604は、境界にトーンが含まれると判定した場合には、制御信号を低域補正部606に出力する。判定部604が、音信号の低域と高域との境界にトーンが含まれるか否かを判定する処理は、判定部130の処理と同様である。
低域抽出部605は、時間周波数信号の低域の情報を抽出する処理部である。低域抽出部605は、抽出した低域の情報を、低域補正部606に出力する。管理者は、低域の上限周波数を予め設定しておくものとする。
低域補正部606は、逆フィルタモードの情報および制御信号を基にして、低域補正を行う処理部である。具体的に、低域補正部606は、逆フィルタモードが「オフ」であり、かつ、制御信号を受信した場合(トーンが含まれる場合)に、低域補正を行う。低域補正部606は、時間周波数信号の低域に対して、低域補正を行う。たとえば、低域補正部606は、時間周波数信号の低域に含まれるトーン成分を抑圧することで、低域補正を行う。低域補正部606は、低域補正を行った時間周波数信号を、周波数時間変換部607に出力する。
一方、低域補正部606は、逆フィルタモードが「オン」の場合、または、制御信号を受信しない場合(トーンが含まれない場合)に、低域補正を行わず、時間周波数信号の低域の情報を、周波数時間変換部607に出力する。
図28は、本実施例6に係る低域補正部の処理手順を示すフローチャートである。図28に示すように、低域補正部606は、逆フィルタモードがオンであるか否かを判定する(ステップS50)。低域補正部606は、逆フィルタモードがオンである場合には(ステップS50,Yes)、トーンを抑圧していない時間周波数信号の低域の情報を周波数時間変換部607に出力する(ステップS51)。
一方、低域補正部606は、逆フィルタモードがオフである場合には(ステップS50,No)、制御信号を受信したか否かを判定する(ステップS52)。低域補正部606は、制御信号を受信していない場合には(ステップS52,No)、ステップS51に移行する。
低域補正部606は、制御信号を受信した場合には(ステップS52,Yes)、時間周波数信号の低域に含まれるトーン成分を抑圧する(ステップS53)。低域補正部606は、トーンを抑圧した時間周波数信号の低域の情報を周波数時間変換部607に出力する(ステップS54)。
図25の説明に戻る。周波数時間変換部607は、時間周波数信号を低域信号に変換する処理部である。周波数時間変換部607は、低域信号を、低域符号化部608に出力する。
たとえば、周波数時間変換部607は、式(4)で定義されるフィルタバンクにより、時間周波数信号S’[k][n]を、低域信号slow(n)に変換する。式(4)において、Klow=32、Nlow=128とする。ここで、時間周波数信号S’[k][n]は、低域補正部606により、低域補正が行われた時間周波数信号または、低域補正が行われていない時間周波数信号に対応する。
低域符号化部608は、低域信号をビット列に符号化することで、低域符号を生成する処理部である。たとえば、低域符号化部608は、AACに基づいて、符号化を行う。低域符号化部608は、低域符号を、多重化部609に出力する。
多重化部609は、低域符号と、高域符号とを多重化することで、符号化ストリームを生成する処理部である。多重化部609は、符号化ストリームを、ネットワーク50を介して、復号装置700に送信する。
たとえば、多重化部609は、符号化ストリームを、MPEG−4 ADTS(Audio Data Transport Stream)形式で出力する。図29は、符号化ストリームのデータ構造の一例を示す図である。図29に示すように、符号化ストリーム950は、複数のADTSフレーム951〜954を含む。図示を省略するが、符号化ストリーム950は、ADTSフレーム951〜954以外のADTSフレームを含む。
たとえば、ADTSフレーム952は、ADTSヘッダ960と、RAWデータブロック961とを含む。RAWデータブロック961には、低域符号970と、FILLエレメント971が格納される。また、FILLエレメント971には、高域符号972が格納される。ADTSフレーム951,953,954のデータ構造は、ADTSフレーム952のデータ構造と同様である。
次に、図24に示した復号装置700について説明する。図30は、本実施例6に係る復号装置の構成を示す機能ブロック図である。図30に示すように、この復号装置700は、符号分離部701と、低域復号部702と、分析QMF部703と、高域逆量子化部704と、高域生成部705と、包絡調整部706と、合成部707とを有する。
符号分離部701は、オーディオ符号化装置600から符号化ストリームを受信し、符号化ストリームに含まれる低域符号と、高域符号とを分離する処理部である。符号分離部701は、低域符号を低域復号部702に出力する。符号分離部701は、高域符号を高域逆量子化部704に出力する。
低域復号部702は、低域符号を復号することで、低域信号を生成する処理部である。低域復号部702は、低域信号を分析QMF部703に出力する。
分析QMF部703は、式(3)で定義されるQMFフィルタバンクを用いて、低域信号を、時間周波数信号に変換する処理部である。この時間周波数信号は、各時間の低域の周波数スペクトルに対応する情報である。以下の説明では、低域信号を変換することで得られる時間周波数信号を「低域周波数信号」と表記する。
高域逆量子化部704は、高域符号を復号することで、高域情報を抽出する処理部である。高域逆量子化部704は、抽出した高域情報を、高域生成部705に出力する。高域情報には、包絡電力、トーン周波数、周波数分解能が含まれる。
高域生成部705は、低域周波数信号を基にして、高域信号を生成する処理部である。高域生成部705が生成する高域信号は、時間と周波数との関係を示す高域の周波数スペクトルに対応する情報である。高域生成部705は、高域信号と高域情報とを包絡調整部706に出力する。
以下では、逆フィルタモードがオフの場合の、高域生成部705の処理と、逆フィルタモードがオンの場合の、高域生成部705の処理について説明する。逆フィルタモードのオン、オフは、高域生成部705に予め設定される。
逆フィルタモードが「オフ」の場合の、高域生成部705の処理について説明する。高域生成部705は、低域周波数信号をそのまま高域側に複製することで、高域信号を生成する。
逆フィルタモードが「オン」の場合の、高域生成部705の処理について説明する。高域生成部705は、逆フィルタモードが「オン」の場合には、低域周波数信号に対して、逆フィルタを実行(非相関化を実行)し、逆フィルタを実行した低域周波数信号を高域側に複製することで、高域信号を生成する。高域生成部705が低域周波数信号に対して実行する非相関化は、低域周波数信号に対する補正の一例である。
包絡調整部706は、高域情報に含まれる周波数分解能および包絡電力を基にして、高域信号を調整する処理部である。また、包絡調整部706は、トーン周波数を基にして、高域信号にトーン成分を付与する。包絡調整部706は、調整済みの高域信号を、合成部707に出力する。
合成部707は、分析QMF部703から出力される低域周波数信号と、包絡調整部706から出力される調整済みの高域信号とを合成することで、音信号を復号する処理部である。合成部707は、復号した音信号を出力する。
次に、本実施例6に係るオーディオ符号化装置600の処理手順の一例について説明する。図31は、本実施例6に係るオーディオ符号化装置の処理手順を示すフローチャートである。図31に示すように、オーディオ符号化装置600の時間周波数変換部601は、音信号を受け付ける(ステップS501)。時間周波数変換部601は、音信号に対して時間周波数変換を実行する(ステップS502)。
オーディオ符号化装置600の高域情報抽出部602は、音信号(時間周波数信号)から高域情報を抽出する(ステップS503)。オーディオ符号化装置600の高域符号化部603は高域情報を符号化し、高域符号を生成する(ステップS504)。高域情報抽出部602は、逆フィルタモードのオン、オフを推定する(ステップS505)。
オーディオ符号化装置600の低域抽出部605は、音信号(時間周波数信号)から低域信号を抽出する(ステップS506)。低域補正部606は、補正判定処理を実行する(ステップS507)。ステップS507の補正判定処理の処理手順は、図28で説明した処理手順に対応する。
オーディオ符号化装置600の周波数時間変換部607は、低域信号に対して周波数時間変換を実行する(ステップS508)。低域符号化部608は、低域信号を符号化し、低域符号を生成する(ステップS509)。
オーディオ符号化装置600の多重化部609は、低域符号と高域符号とを多重化した符号化ストリームを生成する(ステップS510)。多重化部609は、符号化ストリームを復号装置700に送信する(ステップS511)。
次に、本実施例6に係る復号装置700の処理手順の一例について説明する。図32は、本実施例6に係る復号装置の処理手順を示すフローチャートである。図32に示すように、復号装置700の符号分離部701は符号化ストリームを受信し、低域符号および高域符号を分離する(ステップS601)。
復号装置700の低域復号部702は、低域符号を復号することで低域信号を生成する(ステップS602)。復号装置700の分析QMF部703は、QMFフィルタバンクを用いて、低域周波数信号を生成する(ステップS603)。
復号装置700の高域逆量子化部704は、高域符号に対して高域逆量子化を行うことで高域情報を生成する(ステップS604)。復号装置700の高域生成部705は、逆フィルタモードがオンであるか否かを判定する(ステップS605)。
高域生成部705は、逆フィルタモードがオフである場合には(ステップS605,No)、ステップS607に移行する。一方、高域生成部705は、逆フィルタモードがオンである場合には(ステップS605,Yes)、低域周波数信号に対する逆フィルタ処理を実行する(ステップS606)。
高域生成部705は、低域周波数信号を複製して高域信号を生成する(ステップS607)。復号装置700の包絡調整部706は、高域情報を基にして高域信号の包絡を調整する(ステップS608)。
復号装置700の合成部707は、低域周波数信号と高域信号とを合成することで、音信号を復号する(ステップS609)。合成部707は、音信号を出力する(ステップS610)。
次に、本実施例6に係るオーディオ符号化装置600の効果について説明する。オーディオ符号化装置600は、逆フィルタモードのオン、オフに応じて、低域信号の補正の有無を制御する。たとえば、オーディオ符号化装置600は、逆フィルタモードが「オフ」の場合には、低域信号の補正を行うことで、トーンを抑圧する。一方、オーディオ符号化装置600は、逆フィルタモードが「オン」の場合には、低域信号の補正を行わないことで、低域信号のトーンを抑圧しない。このように、逆フィルタモードのオン、オフに応じて、トーンの抑圧の制御を行い、復号装置700が復号を行う場合における、音信号の品質劣化の問題を解消する。
オーディオ符号化装置600は、逆フィルタモードが「オフ」の場合には、低域信号の補正を行うことで、トーンを抑圧するので、低域と高域との境界付近に、トーンが複数生成することにより発生するうねりを抑止し、音信号の品質劣化の問題を解消する。
また、オーディオ符号化装置600は、逆フィルタモードが「オン」の場合には、低域信号の補正を行わないことで、低域と高域との境界付近に、トーンが発生しないことによる音声劣化の問題を解消する。
オーディオ符号化装置600は、音信号に含まれるトーン成分の平均値および音信号の平均電力を基にして、逆フィルタモードがオンであるかオフであるかを推定する。これにより、復号装置700側で逆フィルタを実行するか否かを、音信号の特徴に合わせて自動で、推定することができる。
本実施例6に係る復号装置700は、逆フィルタモードのオン、オフに応じて、低域信号の周波数スペクトルを補正(低域に対する逆フィルタを実行)し、補正した低域信号の周波数スペクトルを用いて、高域信号を復号する。上記のように、オーディオ符号化装置600は、逆フィルタモードがオンの場合には、低域信号のトーン成分の補正が行われていないので、逆フィルタモードを実行しても、復号した音信号の境界付近に、トーン成分が残り、音質劣化の問題を解消することができる。
次に、上記実施例に示したオーディオ符号化装置100(200,300,301,400,600)と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図33は、オーディオ符号化装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図33に示すように、コンピュータ500は、各種演算処理を実行するCPU501と、ユーザからのデータの入力を受け付ける入力装置502と、ディスプレイ503とを有する。また、コンピュータ500は、記憶媒体からプログラム等を読み取る読み取り装置504と、外部装置との間でデータの授受を行うインターフェース装置505とを有する。また、コンピュータ500は、各種情報を一時記憶するRAM506と、ハードディスク装置507とを有する。そして、各装置501〜507は、バス508に接続される。
ハードディスク装置507は、判定プログラム507a、符号化プログラム507b、多重化プログラム507cを有する。CPU501は、判定プログラム507a、符号化プログラム507b、多重化プログラム507cを読み出してRAM506に展開する。
判定プログラム507aは、判定プロセス506aとして機能する。符号化プログラム507bは、符号化プロセス506bとして機能する。多重化プログラム507cは、多重化プロセス506cとして機能する。
判定プロセス506aの処理は、判定部130,210,604の処理に対応する。符号化プロセス506bの処理は、低域信号抽出部110、高域情報抽出部120、低域補正部140、入力信号補正部220、低域符号化部150,320、高域補正部160,410、高域符号化部170、符号化部600aの処理に対応する。多重化プロセス506cの処理は、多重化部180,609の処理に対応する。
次に、上記実施例に示した復号装置700と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図34は、復号装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図34に示すように、コンピュータ550は、各種演算処理を実行するCPU551と、ユーザからのデータの入力を受け付ける入力装置552と、ディスプレイ553とを有する。また、コンピュータ550は、記憶媒体からプログラム等を読み取る読み取り装置554と、外部装置との間でデータの授受を行うインターフェース装置555とを有する。また、コンピュータ550は、各種情報を一時記憶するRAM556と、ハードディスク装置557とを有する。そして、各装置551〜557は、バス558に接続される。
ハードディスク装置557は、分離プログラム557a、低域復号プログラム557b、高域生成プログラム557c、合成プログラム557dを有する。CPU551は、分離プログラム557a、低域復号プログラム557b、高域生成プログラム557c、合成プログラム557dを読み出してRAM556に展開する。
分離プログラム557aは、分離プロセス556aとして機能する。低域復号プログラム557bは、低域復号プロセス556bとして機能する。高域生成プログラム557cは、高域生成プロセス556cとして機能する。合成プログラム557dは、合成プロセス556dとして機能する。
分離プロセス556aの処理は、符号分離部701の処理に対応する。低域復号プロセス556bの処理は、低域復号部702の処理に対応する。高域生成プロセス556cは、高域生成部705の処理に対応する。合成プロセス556dの処理は、合成部707の処理に対応する。
なお、各プログラム507a〜507c,557a〜557dについては、必ずしも最初からハードディスク装置507,557に記憶させておかなくても良い。例えば、コンピュータ500,550に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ500,550が各プログラム507a〜507c,557a〜557dを読み出して実行するようにしても良い。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)入力信号の低域と高域との境界にトーンが含まれるか否かを判定する判定部と、
前記境界にトーンが含まれている場合に、前記低域、又は、前記高域の一方のトーンを抑圧し、前記入力信号の前記低域を符号化することで、低域符号を生成し、前記入力信号の前記高域を符号化することで、高域符号を生成する符号化部と、
低域符号と高域符号を多重化することで、符号化ストリームを生成する多重化部と
を有することを特徴とするオーディオ符号化装置。
(付記2)前記符号化部は、前記高域の入力信号の周波数スペクトルから包絡情報を抽出し、前記包絡情報を含む高域情報を符号化することで、前記高域符号を生成し、前記高域のトーンを抑圧する場合には、前記境界付近における前記包絡情報の値を抑制することを特徴とする付記1に記載のオーディオ符号化装置。
(付記3)前記判定部は、符号化するビットレートと閾値との比較結果を基にして、前記低域のトーンを抑圧するのか、前記高域のトーンを抑圧するのかを判定することを特徴とする付記1または2に記載のオーディオ符号化装置。
(付記4)前記判定部は、前記低域の入力信号と前記低域符号を復号した入力信号との第1誤差、および、前記高域の入力信号と前記高域符号を復号した入力信号との第2誤差を算出し、前記第1誤差と第2誤差との比較結果を基にして、前記低域のトーンを抑圧するのか、前記高域のトーンを抑圧するのかを判定することを特徴とする付記1または2に記載のオーディオ符号化装置。
(付記5)前記符号化部は、トーンを抑圧する場合に、段階的にトーンの大きさを小さくしていくことを特徴とする付記1〜4のいずれか一つに記載のオーディオ符号化装置。
(付記6)前記符号化部は、前記境界にトーンが含まれている場合に、前記高域の下限を、所定周波数分だけ高域側にずらすことで、高域を符号化する際の帯域を補正し、補正した帯域に対応する入力信号を符号化して、高域符号を生成することを特徴とする付記1に記載のオーディオ符号化装置。
(付記7)前記符号化部は、前記境界にトーンが含まれている場合に、前記低域の上限を、所定周波数分だけ低域側にずらすことで、低域を符号化する際の帯域を補正し、補正した帯域に対応する入力信号を符号化して、低域符号を生成することを特徴とする付記1に記載のオーディオ符号化装置。
(付記8)前記高域情報は、高域を所定幅で分割した帯域毎にトーンの有無を示すトーン周波数の情報を更に含み、前記符号化部は、前記境界に対応する帯域のトーンの有無を、無に設定することを特徴とする付記2に記載のオーディオ符号化装置。
(付記9)前記符号化部は、前記符号化ストリームを復号する復号装置が、前記入力信号の前記低域をそのまま複製することで、前記入力信号の前記高域を生成する処理を行う場合に、前記低域に含まれる前記トーンを抑圧した後に、前記低域符号を生成し、
前記符号化ストリームを復号する復号装置が、前記入力信号の前記低域を非相関化した後に複製することで、前記入力信号の前記高域を生成する処理を行う場合に、前記低域に含まれる前記トーンを抑圧することなく、前記低域符号を生成することを特徴とする付記1に記載のオーディオ符号化装置。
(付記10)前記符号化部は、前記入力信号に含まれるトーン成分の平均値および前記入力信号の平均値を基にして、前記復号装置が、前記低域を非相関化した後に、前記低域符号を生成するか否かを判定することを特徴とする付記9に記載のオーディオ符号化装置。
(付記11)コンピュータが実行するオーディオ符号化方法であって、
入力信号の低域と高域との境界にトーンが含まれるか否かを判定し、
前記境界にトーンが含まれている場合に、前記低域、又は、前記高域の一方のトーンを抑圧し、
前記入力信号の前記低域を符号化することで低域符号を生成し、
前記入力信号の前記高域を符号化することで、高域符号を生成し、
低域符号と高域符号を多重化することで、符号化ストリームを生成する
処理を実行することを特徴とするオーディオ符号化方法。
(付記12)前記高域の入力信号の周波数スペクトルから包絡情報を抽出し、前記包絡情報を含む高域情報を符号化することで、前記高域符号を生成する処理を更に実行し、前記トーンを抑圧する処理は、前記高域のトーンを抑圧する場合には、前記境界付近における前記包絡情報の値を抑制することを特徴とする付記11に記載のオーディオ符号化方法。
(付記13)前記トーンを抑圧する処理は、符号化するビットレートと閾値との比較結果を基にして、前記低域のトーンを抑圧するのか、前記高域のトーンを抑圧するのかを判定することを特徴とする付記11または12に記載のオーディオ符号化方法。
(付記14)前記トーンを抑圧する処理は、前記低域の入力信号と前記低域符号を復号した入力信号との第1誤差、および、前記高域の入力信号と前記高域符号を復号した入力信号との第2誤差を算出し、前記第1誤差と第2誤差との比較結果を基にして、前記低域のトーンを抑圧するのか、前記高域のトーンを抑圧するのかを判定することを特徴とする付記11または12に記載のオーディオ符号化方法。
(付記15)前記トーンを抑圧する処理は、トーンを抑圧する場合に、段階的にトーンの大きさを小さくしていくことを特徴とする付記11〜14のいずれか一つに記載のオーディオ符号化方法。
(付記16)前記高域符号を生成する処理は、前記境界にトーンが含まれている場合に、前記高域の下限を、所定周波数分だけ高域側にずらすことで、高域を符号化する際の帯域を補正し、補正した帯域に対応する入力信号を符号化して、高域符号を生成することを特徴とする付記11に記載のオーディオ符号化方法。
(付記17)前記低域符号を生成する処理は、前記境界にトーンが含まれている場合に、前記低域の上限を、所定周波数分だけ低域側にずらすことで、低域を符号化する際の帯域を補正し、補正した帯域に対応する入力信号を符号化して、高域符号を生成することを特徴とする付記11に記載のオーディオ符号化方法。
(付記18)前記高域情報は、高域を所定幅で分割した帯域毎にトーンの有無を示すトーン周波数の情報を更に含み、前記高域符号を生成する処理は、前記境界に対応する帯域のトーンの有無を、無に設定することを特徴とする付記12に記載のオーディオ符号化方法。
(付記19)前記低域符号を生成する処理は、前記符号化ストリームを復号する復号装置が、前記入力信号の前記低域をそのまま複製することで、前記入力信号の前記高域を生成する処理を行う場合に、前記低域に含まれる前記トーンを抑圧した後に、前記低域符号を生成し、
前記符号化ストリームを復号する復号装置が、前記入力信号の前記低域を非相関化した後に複製することで、前記入力信号の前記高域を生成する処理を行う場合に、前記低域に含まれる前記トーンを抑圧することなく、前記低域符号を生成することを特徴とする付記11に記載のオーディオ符号化方法。
(付記20)前記低域符号を生成する処理は、前記入力信号に含まれるトーン成分の平均値および前記入力信号の平均値を基にして、前記復号装置が、前記低域を非相関化した後に、前記低域符号を生成するか否かを判定することを特徴とする付記19に記載のオーディオ符号化方法。
(付記21)コンピュータに、
入力信号の低域と高域との境界にトーンが含まれるか否かを判定し、
前記境界にトーンが含まれている場合に、前記低域、又は、前記高域の一方のトーンを抑圧し、
前記入力信号の前記低域を符号化することで低域符号を生成し、
前記入力信号の前記高域を符号化することで、高域符号を生成し、
低域符号と高域符号を多重化することで、符号化ストリームを生成する
処理を実行させることを特徴とするオーディオ符号化プログラム。
(付記22)前記高域の入力信号の周波数スペクトルから包絡情報を抽出し、前記包絡情報を含む高域情報を符号化することで、前記高域符号を生成する処理を更に実行し、前記トーンを抑圧する処理は、前記高域のトーンを抑圧する場合には、前記境界付近における前記包絡情報の値を抑制することを特徴とする付記21に記載のオーディオ符号化プログラム。
(付記23)前記トーンを抑圧する処理は、符号化するビットレートと閾値との比較結果を基にして、前記低域のトーンを抑圧するのか、前記高域のトーンを抑圧するのかを判定することを特徴とする付記21または22に記載のオーディオ符号化プログラム。
(付記24)前記トーンを抑圧する処理は、前記低域の入力信号と前記低域符号を復号した入力信号との第1誤差、および、前記高域の入力信号と前記高域符号を復号した入力信号との第2誤差を算出し、前記第1誤差と第2誤差との比較結果を基にして、前記低域のトーンを抑圧するのか、前記高域のトーンを抑圧するのかを判定することを特徴とする付記21または22に記載のオーディオ符号化プログラム。
(付記25)前記トーンを抑圧する処理は、トーンを抑圧する場合に、段階的にトーンの大きさを小さくしていくことを特徴とする付記21〜24のいずれか一つに記載のオーディオ符号化プログラム。
(付記26)前記高域符号を生成する処理は、前記境界にトーンが含まれている場合に、前記高域の下限を、所定周波数分だけ高域側にずらすことで、高域を符号化する際の帯域を補正し、補正した帯域に対応する入力信号を符号化して、高域符号を生成することを特徴とする付記21に記載のオーディオ符号化プログラム。
(付記27)前記低域符号を生成する処理は、前記境界にトーンが含まれている場合に、前記低域の上限を、所定周波数分だけ低域側にずらすことで、低域を符号化する際の帯域を補正し、補正した帯域に対応する入力信号を符号化して、低域符号を生成することを特徴とする付記21に記載のオーディオ符号化プログラム。
(付記28)前記高域情報は、高域を所定幅で分割した帯域毎にトーンの有無を示すトーン周波数の情報を更に含み、前記高域符号を生成する処理は、前記境界に対応する帯域のトーンの有無を、無に設定することを特徴とする付記22に記載のオーディオ符号化プログラム。
(付記29)前記低域符号を生成する処理は、前記符号化ストリームを復号する復号装置が、前記入力信号の前記低域をそのまま複製することで、前記入力信号の前記高域を生成する処理を行う場合に、前記低域に含まれる前記トーンを抑圧した後に、前記低域符号を生成し、
前記符号化ストリームを復号する復号装置が、前記入力信号の前記低域を非相関化した後に複製することで、前記入力信号の前記高域を生成する処理を行う場合に、前記低域に含まれる前記トーンを抑圧することなく、前記低域符号を生成することを特徴とする付記21に記載のオーディオ符号化プログラム。
(付記30)前記低域符号を生成する処理は、前記入力信号に含まれるトーン成分の平均値および前記入力信号の平均値を基にして、前記復号装置が、前記低域を非相関化した後に、前記低域符号を生成するか否かを判定することを特徴とする付記21に記載のオーディオ符号化プログラム。
(付記31)符号化ストリームを低域符号と高域符号に分離する符号分離部と、
前記低域符号を復号することで低域信号を生成する低域復号部と、
前記低域信号の周波数スペクトルを非相関化するか否かの制御情報を基にして、前記低域信号の周波数スペクトルを非相関化し、
前記高域符号を復号することで、音信号の周波数スペクトルの包絡情報を含む高域情報を生成し、前記低域信号の周波数スペクトルと、前記高域情報とを基にして、高域信号を生成する高域生成部と、
前記低域信号と前記高域信号とを合成することで、前記音信号を生成する合成部と
を有することを特徴とする復号装置。
(付記32)コンピュータが実行する復号方法であって、
符号化ストリームを低域符号と高域符号に分離し、
前記低域符号を復号することで低域信号を生成し、
前記低域信号の周波数スペクトルを非相関化するか否かの制御情報を基にして、前記低域信号の周波数スペクトルを非相関化し、
前記高域符号を復号することで、音信号の周波数スペクトルの包絡情報を含む高域情報を生成し、前記低域信号の周波数スペクトルと、前記高域情報とを基にして、高域信号を生成し、
前記低域信号と前記高域信号とを合成することで、前記音信号を生成する
処理を実行することを特徴とする復号方法。
(付記33)コンピュータに、
符号化ストリームを低域符号と高域符号に分離し、
前記低域符号を復号することで低域信号を生成し、
前記低域信号の周波数スペクトルを非相関化するか否かの制御情報を基にして、前記低域信号の周波数スペクトルを非相関化し、
前記高域符号を復号することで、音信号の周波数スペクトルの包絡情報を含む高域情報を生成し、前記低域信号の周波数スペクトルと、前記高域情報とを基にして、高域信号を生成し、
前記低域信号と前記高域信号とを合成することで、前記音信号を生成する
処理を実行させることを特徴とする復号プログラム。