実施の形態1
以下本発明の実施の形態を、図面を参照して説明する。図1は信号処理装置たる復号装置のハードウェア構成を示すブロック図である。図において20は、符号化された音響信号を復号する復号装置であり、音響信号入力部21、アンパッキング部22、逆量子化部23、補間処理部1、周波数時間変換部24、周波数帯域合成部25及び音響信号出力部26を含んで構成される。なお、本実施の形態においては圧縮符号化方式としてMP3を適用した例について説明するが、他の方式についても同様に適用しても良い。
記録媒体から読み出された符号化音響信号またはデジタルチューナにより受信した符号化音響信号等は、音響信号入力部21へ入力され、入力された符号化音響信号はアンパッキング部(デマルチプレクサ)22へ出力される。アンパッキング部22は、音響信号のフレーム情報から量子化係数、スケールファクタ、スケールファクタマルチプレクサ、グローバルゲイン、サブブロックゲインをそれぞれアンパッキングする。アンパッキングされた量子化係数、量子化ビット数、及びスケールファクタ、スケールファクタマルチプレクサ、グローバルゲイン、サブブロックゲインを用いて逆量子化部23においてIMDCT係数に逆量子化される。逆量子化部23からはブロック長(ロングブロックまたはショートブロック)に応じて次の式(1)で示されるIMDCT係数が周波数帯域毎に出力される。
式(1)中の変数mはIMDCT係数のインデックス、MK(m)は量子化係数(ハフマン復号化値)、sgn(MK(m))は量子化係数の符号、scalefac_multiplierは1または0.5、grはグラニュールのインデックス、wndはウィンドウの形状のインデックス、sfbはスケールファクタバンドのインデックス、preflag[gr]はプリエンファシスの有無フラグで0または1、pretab[sfb] は所定のプリエンファシステーブルによって得られる値を表している。なお、ATRACにおけるスケールファクタ(例えば各6ビットで表され、約2dB単位で指定することができる)は、MP3におけるスケールファクタに関する値と同様であり、MP3におけるスケールファクタに関する値は、式(1)で示す如く、スケールファクタ、スケールファクタマルチプレクサ、グローバルゲイン及びサブブロックゲイン(式(1)の2の乗数以降の箇所)、プリエンファシスの有無フラグ、プリエンファシステーブルによって得られる値を用いて算出される。以下ではATRACにおけるスケールファクタ及びMP3におけるスケールファクタに関する値をまとめてスケールファクタとして説明する。ここで、スケールファクタとは、所定の分割された各周波数帯域のスペクトルを表現するために、仮数部と指数部で表した指数部分をいう。例えば、MP3においては、所定の分割された各周波数帯域のスペクトルを最大値が1.0となるように正規化され、その指数部分をスケールファクタとグローバルゲイン、及びサブブロックゲインとして符号化されている。上記スケールファクタとグローバルゲイン、及びサブブロックゲインの指数部を総称してスケールファクタに関する値と呼ぶ。
本実施の形態においては図に示すように32の周波数帯域毎block(0)〜block(31)にIMDCT係数I(0)、I(1)、…、I(m)、…、I(575)が出力される。サンプリング周波数が44.1kHzの場合、block(0)の周波数は0Hz〜689.0625Hz、block(1)は689.0625Hz〜1378.125Hz、またblock(31)は21360.9375Hz〜22050Hzである。なお、以下では任意の周波数帯域のブロックをblock(k)とする。ここでkは整数であり、0≦k≦31を満たすものとする。各周波数帯域のIMDCT係数I(0)〜I(575)は補間処理部1へ入力される。
各周波数帯域のIMDCT係数はブロック長に応じて複数の係数(スペクトル)から構成される。ロングブロックでは18の係数からなり、ショートブロックでは6の係数からなる。なお、本実施の形態においては、ブロック長はロングブロックであるものとして説明する。
図2は周波数に対するIMDCT係数の変化を示すグラフである。横軸は周波数であり、縦軸は係数を示す。IMDCT係数(以下、係数I(m)で代表する)はロングブロックの場合、一周波数帯域内に18の係数I(18×k)乃至I(18×k+17)を有する。図2のグラフにおいては周波数18×k、18×k+1、…18×k+17に対応させて、係数I(18×k)、I(18×k+1)、…、I(18×k+17)の変化が示されている。この係数は正、負または零の値を取る。
図1において係数I(m)は補間処理部1へ入力され、補間処理後の係数が補間処理部1から出力される。周波数時間変換部24ではIMDCT処理が施され、時間軸の音響信号に変換される。更に、逆変換された音響信号は周波数帯域合成部25において、帯域合成フィルタであるIPFB(Inverse Polyphase Filter Bank)によって帯域合成された後、音響信号出力部26へ出力される。
図3は補間処理部1のハードウェア構成を示すブロック図である。補間処理部1は量子化ビット数検出部11、補間判定部12、選択部13及び算出部14を含んで構成される。量子化ビット数検出部11は周波数帯域の係数の量子化時における量子化ビット数を、入力されるフレームサイド情報に基づき検出する。具体的には、係数I(m)の量子化ビット数はアンパッキング部22にてアンパックされたビットストリーム中のフレームサイド情報のtable_select[ch][gr][region]を参照することにより検出することができる。このtable_select[ch][gr][region]は、ハフマン符号化されたハフマンテーブルを指し示すセレクト信号であり、指し示されたハフマンテーブルを復号化する事により、ハフマン復号化値、即ち係数I(m)を得る。上記regionにおける一の領域のハフマン復号化値の最大の数字を取得することにより、量子化ビット数を検出することもできるが、table_select[ch][gr][region]が指し示すハフマンテーブルに存在する最大の数字は予め決まっているので、その語長を量子化ビット数とすることで検出する。
量子化ビット数検出部11は検出した量子化ビット数を補間判定部12及び算出部14へ出力する。補間判定部12は、周波数帯域内の係数I(m)の量子化ビット数に所定ビット数以下の係数I(m)が存在するか否かを判断する。例えば、補間判定部12は周波数帯域内の係数I(m)の量子化ビット数が、4以下の係数I(m)が存在するか否かを判断すればよい。そして、補間判定部12は、入力された周波数帯域内の係数I(m)に所定量子化ビット数以下の係数I(m)が存在すると判断した場合、当該周波数帯域の係数I(m)を補間処理すべく選択部13へ出力する。一方、補間判定部12は、入力された周波数帯域内の係数I(m)に所定量子化ビット数以下の係数I(m)が存在しないと判断した場合、当該周波数帯域の係数I(m)を補間処理することなく、補正後の係数I’(m)を周波数時間変換部24へ出力する。
選択部13は周波数帯域内の係数の中から複数の係数を選択する。これは、例えば、周波数帯域内の係数の両端の係数、すなわち最も低域にあたる係数及び最も高域にあたる係数を少なくとも選択する。図2の例においては、I(18×k)及びI(18×k+17)が選択される。さらに選択部13はこれらに加え、周波数帯域内の係数の中からスペクトルが最大及び最小の係数を選択するようにしても良い。図2の例においては、最小スペクトルであるI(18×k+3)、及び、最大スペクトルであり、また、最も高域にある係数I(18×k+17)が選択される。選択部13は入力された係数I(m)及び選択した複数の係数に係る情報を算出部14へ出力する。
算出部14は選択部13において選択した係数を用い、選択されなかった係数の補間係数を、補間法を用いて算出する。この場合、算出部14は、量子化ビット数検出部11から出力される係数の量子化ビット数に基づき、所定量子化ビット数以下の係数についてのみ補間係数を算出するようにしても良い。この補間法は例えばラグランジュ補間法またはスプライン補間法が用いられる。以下では、スプライン補間法を用いた例について説明する。
N+1個の点(x0 ,y0 ), (x1,y1 ),・・・,(xN,yN )が与えられている。ただし、x0 <x1 <・・xN とする。これらの点を滑らかに接続するスプライン補間について述べる。3次スプライン補間で求まる曲線をy=S(x)とする。S(x)は各区間[xj,yj ]で区分的に定義されているとする。各区間xj ≦x≦xj+1 の区間でS(x)=Sj(x)とする。さらに、Sj(x)は式(2)で示す3次多項式で与えられる。
係数aj ,bj ,cj ,djは以下に述べる条件から決まる。すなわち、曲線y=S(x)は連続であり、点(xj , yj )(j=0,1,・・・,N)の全てをとおる(条件1)。また区間の境目x=xj(j=1,2,・・・,N-1 )で、y=S(x)の1階微分係数および2階微分係数が連続である(条件2)を満たす場合に決定される。条件1から、式(3)が導出される。
また条件2から式(4)が導出される。
これら式(3)及び式(4)を用いることにより係数aj ,bj ,cj ,djが決定される。まず、x=xj(j=1,2,・・・,N-1 )でのS(x)の2階微分係数を式(5)のようにおく。
3次スプラインの定義は式(2)であるから、その2階微分係数は式(6)で表される。
これによりbj =uj /2となる。さらに、2階微分係数は式(7)で表すことができる。
式(7)から、式(8)が導出される。
また以上の式から式(9)の条件を自動的に満たす。
またdj=yjも明らかであることから、条件1を用いて式(10)が導出される。
さらに式(10)から最終的に式(11)が得られる。
ここで、式(12)で示す最後の条件を用いる。
式(12)は3次多項式から式(13)の如く表現できる。
式(13)にaj ,bj ,cj を代入することにより式(14)が導出される。
これを順に並べた場合、式(15)で示す連立方程式をなす。
ただし、hj ,vj は以下の式(16)で示す条件を満たすものとする。なお、hj,vj は最初に与えられているxj ,yj だけから計算できるので既知の定数である。
未知変数uj は、全部でN+1個あるが、上で述べた連立1次方程式の数はN-1個である。したがって、この連立1次方程式からujを一意に決定できない。そこで、曲線の両端の点(x0,y0 ),(xN ,yN )で、それぞれ境界条件を1つずつ付け加える。この境界条件にはいくつか考えられるが、ここでは曲線の傾きの変化率が両端で0であるという条件を採用する。2階微分が0であることから式(17)が導出される。
式(17)から式(18)が導かれる。
またu0 =uN =0であることから、式(19)で示すu1〜uN-1 に関する連立1次方程式が求まる。
次に、スプライン補間のアルゴリズムを説明する。まず、N+1個の点(xj ,yj )(j=0,1,・・・,N)を与え、3次スプラインは区分的に式(20)及び式(21)を満たすとする。
曲線の両端での境界条件を式(22)とした場合、u0 =uN =0となる。
hj (j=0,1,・・・,N)及びuj (j=0,1,・・・,N)を計算し、連立一次方程式を解くことにより、u1〜uN-1 が求まる。最後に係数aj ,bj ,cj ,djを求め、曲線S(x)が決定される。算出部14は選択部13で選択された係数に基づき、曲線Sj(x)の係数aj,bj ,cj ,djを求める。そして、選択されていない係数であって、量子化ビット数が所定値以下の係数について、補間係数Sj(x)を算出し、補間後の補間係数Sj (x)及び補間されていない係数を係数I’(m)として、周波数時間変換部24へ出力する。
図4は補間処理の手順を示すフローチャートである。なお、以下では説明を容易にするために周波数帯域内の係数のブロック長をロングブロックであるとして説明する。まず量子化ビット数検出部11は量子化ビット数を検出する(ステップS41)。この検出した量子化ビット数は補間判定部12及び算出部14へそれぞれ出力される。補間判定部12は、周波数帯域内の係数の中に量子化ビット数が所定値以下のものが存在するか否かを判断する(ステップS42)。補間判定部12は係数の量子化ビット数に所定値以下のものが存在しないと判断した場合(ステップS42でNO)、一連の処理を終了する。この場合、補間判定部12は当該周波数帯域の係数を周波数時間変換部24へ出力する。
一方、補間判定部12は係数の量子化ビット数が所定値以下のものが存在すると判断した場合(ステップS42でYES)、補間判定部12は、当該周波数帯域内の係数を選択部13へ出力する。選択部13は、周波数帯域内の両端の係数、すなわち低域側の係数及び高域側の係数を、スプライン補間の節点とすべく選択する(ステップS43)。さらに、選択部13は周波数帯域内の係数の最大スペクトルの係数及び最小スペクトルの係数をスプライン補間の節点とすべく、選択する(ステップS44)。なお、最大スペクトルの係数及び最小スペクトルの係数はそれぞれ、周波数帯域内の両端の係数となることもあることから、節点数は2〜4となる。
算出部14は、式(2)で示すステップS43及びS44で選択した係数に基づき、スプライン関数の係数aj ,bj ,cj ,djを算出する(ステップS45)。算出部14はステップS43及びS44において選択されない係数の量子化ビット数が所定値以下であるか否かを判断する(ステップS46)。算出部14は選択されない係数の量子化ビット数が所定値以下であると判断した場合(ステップS46でYES)、求めた係数aj,bj ,cj ,dj及び式(2)から補間係数を算出する(ステップS47)。一方、選択されない係数の量子化ビット数が所定値以下でないと判断した場合(ステップS46でNO)、補間処理を行わず、ステップS47の処理をスキップする。
算出部14は全てのステップS43及びS44において選択されない係数に対するステップS46の処理が終了したか否かを判断する(ステップS48)。算出部14は、処理が終了していないと判断した場合(ステップS48でNO)、他の選択されていない係数の補関係数を求めるべく、ステップS46へ移行する。一方、全ての選択されない係数に対する処理を終了したと算出部14が判断した場合(ステップS48でYES)、一連の処理を終了する。以上の処理を全ての周波数帯域に対して実行し、量子化ビット数が低い係数に対するスプライン補間により、最適なスペクトルが補間係数として得られる結果、量子化された係数の分解能を高めることができ、物足りなさや違和感を受けることなく再生が可能となる。なお、以上述べた節点となる係数の選択方法及び量子化ビット数の値はあくまで一例でありこれに限るものでない。
図5は補間処理による効果を検証するためのグラフである。図5Cは原音の周波数に対するMDCT係数の変化を示すグラフである。図5Cにおいて横軸は周波数(単位はHz)であり、縦軸は符号化前のMDCT係数の絶対値である(スケールは5×10-3)。この原音を図1の補間処理部1の処理を行わない場合の周波数に対する係数(IMDCT係数)の変化を示すものが図5Aである。図5Aにおいて、横軸は周波数(単位はHz)であり、縦軸はIMDCT係数(I(m))の絶対値である(スケールは5×10-3)。
図5Aに示す如く、原音に対してスペクトルのレベルが量子化値において均一となり、量子化による丸め誤差と量子化ビット数が0によるスペクトルの欠如が全域にわたり散見される。これに対し、補間処理部1による処理を施した後の周波数に対する係数(IMDCT係数)の変化を示すものが図5Bである。図5Bにおいて、横軸は周波数(単位はHz)であり、縦軸はIMDCT係数(I’(m))の絶対値である(スケールは5×10-3)。図5Aと比較してより原音に波形が近似していることが理解できる。特に係数が大きく変化する場合、図5Bにおいては、スプライン補間により、図5Aと比較してなだらかに、すなわちより原音に近い波形が再生される。
実施の形態2
実施の形態2は補間係数を補正する形態に関する。図6は実施の形態2に係る補間処理部1のハードウェア構成を示すブロック図である。実施の形態1の構成に加え、有効範囲決定部15及び補正部16が追加されている。逆量子化部23から出力されるビットストリームのフレームサイド情報から各周波数帯域のスケールファクタが抽出され、抽出されたスケールファクタは、有効範囲決定部15へ入力される。量子化ビット数検出部11により検出される係数の量子化ビット数、算出部14にて算出された補間係数及び係数I(m)は有効範囲決定部15へ入力される。
図7は有効範囲を説明するためのグラフである。図7のグラフにおいて横軸は周波数を、縦軸はスペクトルの大きさを示す。丸印はスプライン補間による補間がなされていない係数I(m)を示す。ここで例示のため係数の数は1≦m≦4としてあり、スケールファクタはSF、量子化ビット数は2としている。また×印は原音のMDCT係数(M(m))である。原音のM(m)は2ビットの量子化により矢印方向へ丸印まで量子化される。例えば、M(1)については、約0.3SFに位置するところ、0.5SF以下であることから、I(1)=0SFへ量子化される。またM(2)については0.5SFより大きいのでI(2)=SFへ量子化される。
ここで、図に示すようにI(1)=0の場合、原音M(1)は量子化ビット数が2であることから、−0.5SFから+0.5SFに理論上存在する。またI(2)=SFの場合、原音M(2)は上限SF、下限0.5SFの範囲内に理論上存在する。係数I(m)に対してスケールファクタ及び量子化ビット数により決定される原音の存在する理論上の範囲を有効範囲とする。ここで係数I(m)の有効範囲をP(m)、量子化ビット数をW、スケールファクタをSFとした場合、有効範囲P(m)は下記式(23)により定義される。
ただし、I(m)=SFの場合、有効範囲P(m)は式(24)で定義される。
さらに、I(m)=−SFの場合、有効範囲P(m)は式(25)で定義される。
これら有効範囲の定義はあくまで一例であり、係数I(m)の絶対値を用いて有効範囲P(m)を定義する等、係数に対するスケールファクタ及び量子化ビット数に基づき決定されるものであればこれに限るものではない。
図7において、三角印は図6における算出部14にて算出された補間係数S(m)を示している。S(1)、S(3)及びS(4)に着目すると、より原音に近い補間係数が算出され、またその補間係数は矢印で示す有効範囲内に存在していることが理解できる。しかし補間係数S(2)については、不適切な節点の係数を選択したことで、補間法のルンゲの現象等に起因する誤差が発生しており、理論上取り得る有効範囲から逸脱していることが理解できる。図6における補正部16は有効範囲決定部15から出力される有効範囲P(m)及び補間係数S(m)に基づき、この誤差を補正する。
補正部16は補間係数が有効範囲内に存在していると判断した場合は、補正することなく補間係数を周波数時間変換部24へ出力する。一方、補正部16は補間係数が有効範囲内に存在しないと判断した場合は、補間係数を有効範囲内に属するよう補正する。この補正処理は例えば以下のように行う。例えば補間係数が式(23)乃至式(25)で定義される有効範囲の上限値を超える場合、上限値が補間係数となるよう補正する。また、補間係数が式(23)乃至式(25)で定義される下限値を下回る場合、下限値が補間係数となるよう補正する。
またこの他、所定のゲインgを補間係数に乗ずるようにしても良い。このゲインgは有効範囲P(m)の上限(または下限)と補間係数S(m)との比である。そしてこのゲインgを他の補間係数(例えば、隣接するS(m−2)、S(m−1)、S(m+1)、S(m+2))に乗じ、他の補間係数がそれぞれの有効範囲(P(m−2)、P(m−1)、P(m+1)、P(m+2))に属するか否かを判断する。そして補正部16は属すると判断した場合は、当該ゲインgを補間係数S(m)に乗じ、この値を周波数時間変換部24へ出力する。
一方、補正部16は、他の補間係数がそれぞれの有効範囲に属しないと判断した場合は、ゲインgの値を所定値変更(例えば1.5g、1.4g、1.3g・・・0.5g)し、他の補間係数がそれぞれの有効範囲に属するまでこれを繰り返し行う。以上の処理を行った場合にでも、他の補間係数がそれぞれの有効範囲に属しない場合は、上述したように当該補間係数S(m)についてのみ、上限値(または下限値)が補間係数となるよう補正する。これにより、何らかの原因により、補間誤差が生じた場合でも、原音が取り得る量子化の理論範囲内に補間係数を補正でき復号時の信号処理の安定化を図ることが可能となる。なお、上述した補正処理は、あくまで一例であり、補間係数が有効範囲内に存在するよう補正するのであれば、他の形態であっても良い。
図8は補正処理の手順を示すフローチャートである。有効範囲決定部15にはスケールファクタ、量子化ビット数、補間係数及び係数が入力される(ステップS81)。有効範囲決定部15は係数に対する有効範囲を入力されたスケールファクタ及び量子化ビット数並びに式(23)乃至式(25)に基づき決定する(ステップS82)。有効範囲決定部15は決定した係数に対する有効範囲及び補間係数を補正部16へ出力する(ステップS83)。
補正部16は補間係数と有効範囲とを比較し、補間係数が有効範囲内に存在するか否かを判断する(ステップS84)。補正部16は、補間係数が有効範囲内に存在すると判断した場合は(ステップS84でYES)、当該補間係数を補正することなく周波数時間変換部24へ出力する(ステップS87)。一方、補間係数が有効範囲内に存在しないと判断した場合(ステップS84でNO)、補正部16は補間係数が有効範囲内に属するよう補正する(ステップS85)。補正部16は補間係数が式(23)乃至式(25)で定義される有効範囲の上限値を超える場合、上限値が補間係数となるよう補正する。また、補間係数が式(23)乃至式(25)で定義される下限値を下回る場合、下限値が補間係数となるよう補正する。そして、補正部16は補正後の補間係数を周波数時間変換部24へ出力する(ステップS86)。
図9はゲインgの算出処理の手順を示すフローチャートである。ステップS85における処理は上述したようにゲインgを算出し、このゲインgを補間係数に乗じて補正するようにしても良い。補正部16は有効範囲決定部15から出力された有効範囲の上限(または下限)と補間係数との比(g)を算出し(ステップS91)、これをゲインgとする。なお、補正部16はゲインの初期値g’にこの算出したgを代入しておく。補正部16はゲインg’を他の補間係数に乗ずる(ステップS92)。これは、例えば対象となる補間係数S(m)と量子化ビット数を同じくする周波数帯域内の補間係数について行えばよい。
補正部16はゲインg’を乗じた他の補間係数が、当該他の補間係数に係る有効範囲内に存在するか否かを判断する(ステップS93)。補正部16は、ゲインg’を乗じた他の補間係数の全てが各補間係数に係る有効範囲内に存在すると判断した場合(ステップS93でYES)、当該ゲインg’を補間係数S(m)に乗じ(ステップS94)、処理を終了する。一方、補正部16は、ゲインg’を乗じた他の補間係数の少なくとも一つが当該他の補間係数に係る有効範囲内に存在しないと判断した場合(ステップS93でNO)、ゲインg’を段階的に変更すべく以下の処理を行う。
補正部16は変数nにn+1を代入する(ステップS95)。なお、nの初期値は0である。補正部16はゲインg(初期値のゲインg’)の1.5倍から(n/10)gを減算し、新たなゲインg’を算出する(ステップS96)。すなわちゲインgから±50%の範囲で10%段階的に変化させる処理を行う。また量子化ビット数が2、3と大きくなるに従って、ゲインgの1.5倍から(n/10)gを減算する、1.25倍から(n/10)gを減算するといったように、範囲を狭くして段階の分解能を上げてもよい。補正部16は変数nが10であるか否かを判断する(ステップS97)。補正部16は変数nが10でないと判断した場合(ステップS97でNO)、ステップS92へ移行し、新たなゲインg’を他の補間係数に乗ずる。このように変数nをインクリメントさせてゲインgを段階的に変更させる処理を繰り返し行う。
補正部16はnが10であると判断した場合(ステップS97でYES)、すなわちゲインgが1.5g以上、0.5g以下となる場合、ゲインgによる補正は困難であるとして、補間係数を有効範囲の上限(または下限)に補正する(ステップS98)。なお、本実施の形態においては、ステップS96において、gに1.5を乗ずる処理を行ったが、あくまで一例であり、適宜の値を乗ずるようにすればよい。
本実施の形態2は以上の如き構成としてあり、その他の構成及び作用は実施の形態1と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態3
図10は実施の形態3に係る信号処理装置20の構成を示すブロック図である。実施の形態1に係る復号装置(信号処理装置)20の各処理はパーソナルコンピュータで実行されるソフトウェアにより実現しても良い。以下では信号処理装置20をパーソナルコンピュータ20であるものとして説明する。パーソナルコンピュータ20は公知のものであり、CPU(Central Processing Unit)61にバス67を介してRAM(Random Access Memory)62、ハードディスク等の記憶部65、入力部63、スピーカ等の出力部64、インターネット等の通信網に接続可能な通信部66を備える。
パーソナルコンピュータ20を動作させるためのコンピュータプログラムは、本実施の形態3のように、CD−ROM、MO、またはDVD−ROM等の可搬型記録媒体1Aで提供することも可能である。さらに、コンピュータプログラムを、通信部66を介して図示しないサーバコンピュータからダウンロードすることも可能である。以下に、その内容を説明する。
図10に示すパーソナルコンピュータ20の図示しないリーダ/ライタに、係数を選択させ、補間係数を算出させるコンピュータプログラムが記録された可搬型記録媒体1A(CD−ROM、MO又はDVD−ROM等)を、挿入して記憶部65の制御プログラム内にこのプログラムをインストールする。または、かかるプログラムを、通信部66を介して外部の図示しないサーバコンピュータからダウンロードし、記憶部65にインストールするようにしても良い。かかるプログラムはRAM62にロードして実行される。これにより、上述のような本発明の信号処理装置20として機能する。
本実施の形態3は以上の如き構成としてあり、その他の構成及び作用は実施の形態1及び2と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態4
実施の形態4は音響信号の純音性に応じて係数を補間するか否かを判断する形態に関する。図11は実施の形態4に係る復号装置20のハードウェア構成を示すブロック図である。図11に示すように指標値算出部27及び純音性判定部28が新たに設けられている。アンパッキング部22はビットストリームのフレームサイド情報から各周波数帯域のスケールファクタを抽出する。抽出したスケールファクタは指標値算出部27へ出力される。
指標値算出部27は、各周波数帯域のスケールファクタの最大値から平均値を減じて純音性の度合いを示す純音性指標値を算出する。算出した純音性指標値は純音性判定部28へ出力される。純音性判定部28の内部の図示しないメモリには基準値が記憶されており、純音性判定部28は入力された純音性指標値と基準値とを比較し、純音か否かを判断する。なお、この基準値は、例えばスケールファクタの最大値が120dBの場合、70dBとすれば良い。
純音性判定部28は、純音性指標値が基準値より小さい場合、純音性が低いと判断し、全周波数帯域の係数I(m)を補間処理部1へ出力し、上述した補間処理が行われる。一方、純音性判定部28は、純音性指標値が基準値より大きい場合、純音性が高いと判断し、全周波数帯域の係数I(m)を補間処理部1へ出力することなく直接周波数時間変換部24へ出力する。このように音響信号の特性に応じて補間処理を実行または実行しないことにより、適切な補間処理が可能となると共に、処理の高速化及び消費電力の低減化を図ることが可能となる。
図12は純音性判定処理の手順を示すフローチャートである。アンパッキング部22にてビットストリームのフレームサイド情報から、各周波数帯域のスケールファクタを抽出する(ステップS171)。抽出されたスケールファクタは指標値算出部27へ出力される。指標値算出部27は、各周波数帯域のスケールファクタから最大値を抽出する(ステップS172)。また指標値算出部27は、スケールファクタの平均値を算出する(ステップS173)。指標値算出部27はスケールファクタの最大値から平均値を減じて純音性指標値を算出する(ステップS174)。指標値算出部27は、算出した純音性指標値を純音性判定部28へ出力する(ステップS175)。
純音性判定部28は内部の図示しないメモリから基準値を読み出す(ステップS176)。そして、純音性判定部28は入力された純音性指標値と基準値とを比較し、純音性指標値が読み出した基準値より小さいか否かを判断する(ステップS177)。純音性判定部28は、純音性指標値が基準値より小さいと判断した場合(ステップS177でYES)、純音性が低いと判断し、全周波数帯域に係る係数I(m)を補間処理部1へ出力する(ステップS178)。
一方、純音性判定部28は、純音性指標値が基準値より大きいと判断した場合(ステップS177でNO)、純音性が高いと判断し、全周波数帯域に係る係数I(m)を補間処理部1へ出力することなく直接周波数時間変換部24へ出力する(ステップS179)。なお、本実施の形態4においては純音か否かの判断をスケールファクタに基づいて判断したが、各周波数帯域のパワーに基づいて純音か否かを判断しても良い。この場合、指標値算出部27は各周波数帯域の係数I(m)のパワーの最大値から平均値を減じ、これを純音性指標値として純音性判定部28へ出力する。純音性判定部28には基準値として例えば40dBが記憶されている。純音性判定部28は、純音性指標値がこの基準値よりも小さい場合、純音性が低いと判断し、全周波数帯域の係数I(m)を補間処理部1へ出力する。一方、純音性指標値が基準値よりも大きい場合、純音性が高いと判断し、全周波数帯域の係数I(m)を、補間処理部1を経由することなく周波数時間変換部24へ出力する。なお、これら純音性の判断については特開2002−351500号公報または特開2005−195983号公報に開示の技術を適用すればよい。
本実施の形態4は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至3と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態5
実施の形態4に係る処理を図10で示したパーソナルコンピュータを用いてソフトウェア処理として実現するようにしても良い。図13は実施の形態5に係る信号処理装置20の構成を示すブロック図である。信号処理装置たるパーソナルコンピュータ20を動作させるためのコンピュータプログラムは、本実施の形態5のように、CD−ROM、MO、またはDVD−ROM等の可搬型記録媒体1Aで提供することも可能である。さらに、コンピュータプログラムを、通信部66を介して図示しないサーバコンピュータからダウンロードすることも可能である。以下に、その内容を説明する。
図13に示すパーソナルコンピュータ20の図示しないリーダ/ライタに、純音性指標値を算出させ、純音性か否かを判定させ、係数を選択させ、純音性か否かに応じて補間係数を算出させるコンピュータプログラムが記録された可搬型記録媒体1A(CD−ROM、MO又はDVD−ROM等)を、挿入して記憶部65の制御プログラム内にこのプログラムをインストールする。または、かかるプログラムを、通信部66を介して外部の図示しないサーバコンピュータからダウンロードし、記憶部65にインストールするようにしても良い。かかるプログラムはRAM62にロードして実行される。これにより、上述のような本発明の信号処理装置20として機能する。
本実施の形態5は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至4と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態6
実施の形態6はビットレートに応じて補間処理を実行するか否かを判断する形態に関する。図14は実施の形態6に係る復号装置20のハードウェア構成を示すブロック図である。図14に示すようにビットレート取得部210、サンプリング周波数取得部211、ビットレート比較部212、及びテーブル213が新たに設けられている。ビットレート取得部210は音響信号に付随するヘッダに記述されたビットレートインデックスから、音響信号のビットレートを取得する。取得したビットレートはサンプリング周波数取得部211を経てビットレート比較部212へ出力される。
サンプリング周波数取得部211は音響信号に付随するヘッダに記述されたサンプリング周波数を取得する。サンプリング周波数はMP3方式においては、32kHz、44.1kHz及び48kHzのいずれかが取得される。サンプリング周波数取得部211は取得したサンプリング周波数をビットレート比較部212へ出力する。
図15はテーブル213のレコードレイアウトを示す説明図である。テーブル213はサンプリング周波数毎に基準となる基準ビットレートが記憶されている。テーブル213には、各サンプリング周波数32kHz、44.1kHz及び48kHzに対応付けて、ビットレートが記憶されている。32kHzの場合、基準ビットレートは160kbpsと記憶されており、図15のハッチングで囲む160kbpsよりも小さいビットレートの場合、上述した純音性の判断及び補間処理が行われる。
また44.1kHzの場合、基準ビットレートは192kbpsと記憶されており、図15のハッチングで囲む192kbpsよりも小さいビットレートの場合、上述した純音性の判断及び補間処理が行われる。さらに、48kHzの場合、基準ビットレートは224kbpsと記憶されており、図15のハッチングで囲む224kbpsよりも小さいビットレートの場合、上述した純音性の判断及び補間処理が行われる。なお、ATRAC3規格のミニディスクの場合、サンプリング周波数は44.1kHzの一つだけであり、この場合基準ビットレートは292kbpsであり、これよりも小さい、132kbps、105kbps及び66kbpsの場合、上述した純音性の判断及び補間処理が行われる。
ビットレート比較部212はサンプリング周波数取得部211から出力されたサンプリング周波数を基に、テーブル213から基準ビットレートを読み出す。そしてビットレート比較部212は、ビットレート取得部210から出力されたビットレートが基準ビットレートよりも小さいか否かを判断する。ビットレート比較部212は、ビットレート取得部210から出力されたビットレートが基準ビットレートよりも小さいと判断した場合、全周波数帯域の係数I(m)を補間処理部1へ出力する。例えば、取得したサンプリング周波数が32kHz、取得したビットレートが、32,64,96または128kbpsの場合、全周波数帯域の係数I(m)は補間処理の対象となる。
一方、ビットレート取得部210から出力されたビットレートが基準ビットレートよりも小さくないと判断した場合、全周波数帯域の係数I(m)を、補間処理部1を経ることなく、周波数時間変換部24へ直接出力する。例えば、取得したサンプリング周波数が32kHz、取得したビットレートが、160,192,224,256,288,320,352,384,416または448kbpsの場合、各周波数帯域の係数I(m)は補間処理の対象とならない。このように、サンプリング周波数及びビットレートに応じて、補間処理を実行または実行しないよう構成したので、音響信号の状態に適合した最適な補間処理が可能となると共に、処理の高速化または消費電力の低減化を図ることが可能となる。
図16は比較処理の手順を示すフローチャートである。ビットレート取得部210は音響信号に付随するヘッダに記述されたビットレートインデックスから、音響信号のビットレートを取得する(ステップS211)。ビットレート取得部210は取得したビットレートを、サンプリング周波数取得部211を経てビットレート比較部212へ出力する(ステップS212)。サンプリング周波数取得部211は音響信号に付随するヘッダに記述されたサンプリング周波数を取得する(ステップS213)。サンプリング周波数取得部211は取得したサンプリング周波数をビットレート比較部212へ出力する(ステップS214)。
ビットレート比較部212はサンプリング周波数取得部211から出力されたサンプリング周波数に対応する、基準ビットレートをテーブル213から読み出す(ステップS215)。そしてビットレート比較部212は、ビットレート取得部210において取得したビットレートが、読み出した基準ビットレートよりも小さいか否かを判断する(ステップS216)。ビットレート取得部210は、取得したビットレートが基準ビットレートよりも小さいと判断した場合(ステップS216でYES)、全周波数帯域の係数I(m)を補間処理部1へ出力する(ステップS217)。
一方、取得したビットレートが基準ビットレートよりも小さくないと判断した場合(ステップS216でNO)、全周波数帯域の係数I(m)を、補間処理部1を経ることなく、周波数時間変換部24へ直接出力する(ステップS218)。
本実施の形態6は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至5と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態7
実施の形態6に係る処理を図10で示したパーソナルコンピュータを用いてソフトウェア処理として実現するようにしても良い。図17は実施の形態7に係る信号処理装置20の構成を示すブロック図である。信号処理装置たるパーソナルコンピュータ20を動作させるためのコンピュータプログラムは、本実施の形態7のように、CD−ROM、MO、またはDVD−ROM等の可搬型記録媒体1Aで提供することも可能である。さらに、コンピュータプログラムを、通信部66を介して図示しないサーバコンピュータからダウンロードすることも可能である。以下に、その内容を説明する。
図17に示すパーソナルコンピュータ20の図示しないリーダ/ライタに、ビットレートを比較させ、係数を選択させ、ビットレートに応じて補間係数を算出させるコンピュータプログラムが記録された可搬型記録媒体1A(CD−ROM、MO又はDVD−ROM等)を、挿入して記憶部65の制御プログラム内にこのプログラムをインストールする。または、かかるプログラムを、通信部66を介して外部の図示しないサーバコンピュータからダウンロードし、記憶部65にインストールするようにしても良い。かかるプログラムはRAM62にロードして実行される。これにより、上述のような本発明の信号処理装置20として機能する。
本実施の形態7は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至6と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
実施の形態8
図18は実施の形態8に係る補間処理部1のハードウェア構成を示すブロック図である。補間処理部1は量子化ビット数検出部11、絶対値算出部17、選択部13、算出部14、修正部18、付加部19、符号抽出部123、相関度算出部122及び係数格納部121を含んで構成される。逆量子化された周波数帯域の係数は絶対値算出部17へ入力される。絶対値算出部17は入力された係数の絶対値を算出し、全てが正の値である周波数帯域の係数を選択部13へ出力する。量子化ビット数検出部11は周波数帯域の係数の量子化ビット数を算出部14へ出力する。なお、選択部13及び算出部14における補間処理は上述したとおりであるので詳細な説明は省略する。
絶対値に係る係数をスプライン補間等により補間した補間係数及び補間されていない絶対値に係る係数は算出部14から修正部18へ出力される。修正部18は算出部14で補間された補間係数の符号が正か負かを判断する。そして、修正部18は、補間係数の符号が負の場合、ルンゲの現象またはオーバーシュート等に起因する誤差が生じたとして、当該補間係数を0とする。
修正部18はこの修正した係数0、正の符号を持つ補間係数、補間されていない絶対値に係る係数を付加部19へ出力する。付加部19は、正の符号を持つ補間係数及び補間されていない絶対値に係る係数に符号抽出部123からの出力に基づき符号を付加する。符号抽出部123及び相関度算出部122には絶対値処理が行われていない元の係数I(m)が入力される。符号抽出部123は係数I(m)の符号を抽出し、付加部19へ出力する。付加部19は正の符号を持つ補間係数及び補間されていない係数に符号抽出部123から出力された同一帯域の符号を付加する。これにより絶対値算出部17で変更された符号が元に戻されることになる。
符号抽出部123は係数I(m)が0の場合、すなわち係数I(m)が量子化誤差により符号の情報が失われていると判断した場合、相関度算出部122に対し、符号の出力を要求する。係数I(m)が0の場合、相関度算出部122は係数格納部121を参照して符号を決定する。図19は係数格納部121のレコードレイアウトを示す説明図である。係数格納部121は符号化前の実在する正弦波のMDCT係数を多数格納したものである。図19に示すように多数のフレーム毎に位相の異なる正弦波をMDCTにより変換したMDCT係数M(m)(直交変換係数)が記憶されている。
相関度算出部122は係数I(m)が0の場合、近傍の係数、例えば隣接するI(m−3)、I(m−2)、I(m−1)、I(m+1)、I(m+2)及びI(m+3)を抽出する。そして、係数格納部121から、所定数のMDCT係数、例えばM(m−3)、M(m−2)、M(m−1)、M(m+1)、M(m+2)及びM(m+3)を抽出し、隣接する係数I(m−3)、I(m−2)、I(m−1)、I(m+1)、I(m+2)及びI(m+3)との相関度を算出する。そしてMDCT係数M(m)のmを変えながら、相関度が最も高い、すなわち相関関数に基づく相関値が最大値となるMDCT係数Mr(m−3)、Mr(m−2)、Mr(m−1)、Mr(m+1)、Mr(m+2)及びMr(m+3)のMr(m)の符号を、係数格納部121から読み出して符号抽出部123へ出力する。例えば、フレームFr002のM(2)、M(3)、M(4)、M(6)、M(7)、及びM(8)の相関度が最も高いと判断された場合、その中央のM(5)=−0.083181の符号「負」が抽出される。なお、近傍の係数は上述したように隣接する3つの係数に限るものではなく、2つの隣接する係数、または1つおきに隣接する複数の係数等であっても良い。
符号抽出部123はこの抽出した符号「負」を付加部19へ出力する。付加部19はこの符号を補間係数に付加する。付加部19はこのようにして符号が付加された全ての係数を、周波数時間変換部24へ出力する。音楽は正弦波の集まりで構成されており、相関度の算出を狭帯域下(例えば6つのMDCT係数を用いる)、すなわち影響を及ぼす強いスペクトルは存在しないとの前提の元で実施し、最も可能性の高い符号を決定する。このように正弦波のMDCT係数の規則性に鑑み符号を決定するので量子化誤差により失われた符号の情報をも的確に再現することが可能となる。ここで、補間処理において、I(m)の絶対値を算出して補間する理由を述べる。図20は、符号化前の95Hzの0dBの正弦波をフレーム(グラニュール)単位でMDCTにより変換した0Hz〜約306HzまでのMDCT係数を示すグラフである。図20の縦軸は1.0が0dB,0.5が約−3dB(スペクトルパワーでは約−6dB)を示している。なお、グラフのデータは図19に示した係数値を採用している。M(m)は分解能が約38HzのMDCT係数である(mは1〜8の整数)。図21は、図20が示すMDCT係数の絶対値を算出した値を示すグラフである。図20に示すように、MDCT係数の特性は、スペクトルパワーの総和が一定であるため、符号付のMDCT係数から補間関数を用いて補間を行うよりも、絶対値を算出してから補間を行った方が容易である。このように補間処理においては絶対値を算出し、この絶対値に係る係数に基づき補間処理を行うことで補間精度を向上させることができる。
以上述べた符号決定処理を、具体例を用いて説明する。図22及び図23は符号決定処理のイメージを示すグラフである。図22Aは周波数に対する係数I(m)のスペクトルの変化を示すグラフであり、横軸は周波数、縦軸はスペクトルの値である。ここで、係数I(1)〜I(10)が補間処理部1へ入力され、I(2)〜I(8)について補間処理が行われるものと仮定する。この係数I(1)〜I(10)は絶対値算出部17へ入力される。図22Bは絶対値算出処理後の周波数に対する絶対値の変化を示すグラフであり、横軸は周波数、縦軸はスペクトルの絶対値である。
図22Bに示すようにI(5)及びI(6)等の負の符号を持つ係数は絶対値処理が行われ|I(1)|〜|I(10)|が得られる。図23Aは算出部14による補間処理後の周波数に対する絶対値の変化を示すグラフであり、横軸は周波数、縦軸はスペクトルの絶対値である。|I(2)|〜|I(8)|の区間に対して補間処理が行われ補間係数S(2)〜S(8)が得られる。ここで、絶対値に係る係数に基づき補間を行っているため、本来正の符号を持つ補間係数が得られる。ここで、補間係数S(8)に注目すると負の値が算出されている。修正部18は補間係数S(8)に0の値を付与してI’(8)を付加部19へ出力する。
図23Bは符号の付加処理が行われた後の周波数に対するスペクトルの変化を示すグラフであり、横軸は周波数、縦軸はスペクトルの値である。修正された係数I’(8)は図23Bに示す如くスペクトルが0と設定される。付加部19は補間処理が行われていない係数の絶対値|I(1)|、|I(9)|及び|I(10)|の符号を付加する。符号抽出部123は、絶対値処理が施される前の係数I(1)、I(9)及びI(10)の符号を抽出する。符号抽出部123は、それぞれ、正(I(1)に対応)、負(I(9)に対応)、負(I(10)に対応)の符号を抽出する(図22A参照)。そしてこの係数の符号を付加部19へ出力する。付加部19は、図23Bに示す如く、係数の絶対値|I(1)|、|I(9)|及び|I(10)|にそれぞれ、正、負、負の符号を付加して、I’(1)(正の値)、I’(9)(負の値)、I’(10)(負の値)を得る。
次に、付加部19は補間係数S(2)〜S(7)に対して符号を付加する。符号抽出部123は係数I(2)〜I(7)の符号を抽出(正、正、符号なし、負、負、負、図22A参照)し、付加部19へ出力する。付加部19は補間係数S(2)〜S(7)に対し、係数I(2)〜I(7)の符号をそれぞれ付加して、I’(2)(正)、I’(3)(正)、I’(5)(負)、I’(6)(負)、I’(7)(負)を得る(図23B参照)。
最後に付加部19は補間係数S(4)の符号を付加する。係数I(4)の符号は存在しないので、相関度算出部122は隣接する係数I(2),I(3)、I(5)及びI(6)を読み出し、また係数格納部121を参照し、複数(本例では4つ)のMDCT係数を読み出す。そして相関度算出部122は相関値を演算し、読み出すMDCT係数を逐次変更し、最も相関値の高いMDCT係数の中央のMDCT係数の符号を、係数I(4)の符号と決定する。ここで、負の符号が得られたとする。符号抽出部123は負の符号を抽出した後、付加部19へ当該符号を出力し、付加部19は負の符号を付加したI’(4)を得る。付加部19は以上のようにして得られた係数I’(1)〜I’(10)を周波数時間変換部24へ出力する。
図24及び図25は符号決定処理の手順を示すフローチャートである。まず絶対値算出部17は係数の絶対値を算出する(ステップS21)。選択部13及び算出部14の処理により補間係数を算出し、補間係数及び補間されていない係数を修正部18へ出力する(ステップS22)。修正部18は補間係数が負であるか否かを判断する(ステップS23)。修正部18は補間係数が負であると判断した場合(ステップS23でYES)、当該補間係数を0とする(ステップS24)。
一方補間係数が負でないと判断した場合(ステップS23でNO)、付加部19は補間係数及び補間されていない係数が0であるか否かを判断する(ステップS25)。付加部19は補間係数及び補間されていない係数が0であると判断した場合(ステップS25でYES)、符号を付加する必要はないので当該補間係数及び補間されていない係数に対する処理を終了する。一方、付加部19は補間係数及び補間されていない係数が0でないと判断した場合(ステップS25でNO)、補間係数に対応する、係数が0であるか否かを判断する(ステップS26)。
付加部19は補間係数に対応する係数が0でないと判断した場合(ステップS26でNO)、符号抽出部123は係数の符号を抽出し(ステップS27)、補間係数及び補間されていない係数へ抽出した符号を付加する(ステップS28)。ステップS26において、付加部19は補間係数に対応する係数が0であると判断した場合(ステップS26でYES)、符号抽出部123は当該係数に近傍の複数の係数を読み出す(ステップS210)。相関度算出部122は係数格納部121から複数のMDCT係数を読み出す(ステップS211)。
相関度算出部122は複数の読み出した近隣の係数と複数のMDCT係数との相関度を算出する(ステップS212)。相関度算出部122は、係数格納部121を参照して、随時MDCT係数を変化させ、最も相関度の高い複数のMDCT係数を決定する(ステップS213)。符号抽出部123は、相関度算出部122に係数格納部121を参照させ、決定した複数のMDCT係数の中央のMDCT係数の符号を抽出する(ステップS214)。符号抽出部123は抽出した符号を付加部19へ出力する(ステップS215)。そして付加部19はMDCT係数に対応する符号を補間係数に付加する(ステップS216)。なお、本実施例では、補間した近隣の係数と、係数格納部から読み出した複数のMDCT係数との相関度を算出して補間係数の符号を求めたが、係数格納部のMDCT係数を予め8通り程度に分類しておき、隣接する係数の包絡線の傾きを基に、相関の高い8通りの分類の何れかに当てはめることでも可能である。さらには、より簡易的な方法として、近隣の係数の符号のみを基に、相関の高い数通りの分類の何れかに当てはめることでもある程度の代用は可能である。
本実施の形態8は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至7と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。なお、本実施例では、直交変換の方式としてMDCTを用いた例について説明を行ったが、これに限るものではなく、符号の存在する直交変換、例えばDCT等にも適応できる。
実施の形態9
実施の形態8に係る処理を図10で示したパーソナルコンピュータを用いてソフトウェア処理として実現するようにしても良い。図26は実施の形態9に係る信号処理装置20の構成を示すブロック図である。信号処理装置たるパーソナルコンピュータ20を動作させるためのコンピュータプログラムは、本実施の形態9のように、CD−ROM、MO、またはDVD−ROM等の可搬型記録媒体1Aで提供することも可能である。さらに、コンピュータプログラムを、通信部66を介して図示しないサーバコンピュータからダウンロードすることも可能である。以下に、その内容を説明する。
図26に示すパーソナルコンピュータ20の図示しないリーダ/ライタに、絶対値を算出させ、係数を選択させ、補間係数を算出させ、符号を付加させるコンピュータプログラムが記録された可搬型記録媒体1A(CD−ROM、MO又はDVD−ROM等)を、挿入して記憶部65の制御プログラム内にこのプログラムをインストールする。または、かかるプログラムを、通信部66を介して外部の図示しないサーバコンピュータからダウンロードし、記憶部65にインストールするようにしても良い。かかるプログラムはRAM62にロードして実行される。これにより、上述のような本発明の信号処理装置20として機能する。
本実施の形態9は以上の如き構成としてあり、その他の構成及び作用は実施の形態1乃至8と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。
(付記1)
符号化音響信号を逆量子化した音響信号を処理する信号処理方法において、
逆量子化した音響信号の周波数帯域の係数の中から複数の係数を選択する選択ステップと、
該選択ステップにより選択した複数の係数を用いた補間法により前記選択ステップにより選択されない係数の補間係数を算出する算出ステップと
を備えることを特徴とする信号処理方法。
(付記2)
符号化音響信号を逆量子化した音響信号を処理する信号処理装置において、
逆量子化した音響信号の周波数帯域の係数の中から複数の係数を選択する選択部と、
該選択部により選択した複数の係数を用いた補間法により前記選択部により選択されない係数の補間係数を算出する算出部と
を備えることを特徴とする信号処理装置。
(付記3)
逆量子化した音響信号の周波数帯域の係数の量子化時における量子化ビット数を検出する検出部をさらに備え、
前記算出部は、前記選択部により選択した複数の係数を用いた補間法により、前記検出部にて検出した量子化ビット数が所定値以下の係数の補間係数を算出するよう構成してあることを特徴とする付記2に記載の信号処理装置。
(付記4)
周波数帯域の係数のスケールファクタに関する値及び量子化ビット数に基づき決定される係数の存在し得る有効範囲を決定する有効範囲決定部と、
前記算出部により算出した補間係数が、前記有効範囲決定部により決定される有効範囲に存在しない場合に、前記補間係数を補正する補正部と
をさらに備えることを特徴とする付記2または3に記載の信号処理装置。
(付記5)
前記算出部における補間法はラグランジュ補間法またはスプライン補間法であることを特徴とする付記2乃至4のいずれか一つに記載の信号処理装置。
(付記6)
前記選択部は、逆量子化した音響信号の各周波数帯域の係数の中から少なくとも両端の係数を選択するよう構成してあることを特徴とする付記2乃至5のいずれか一つに記載の信号処理装置。
(付記7)
前記選択部は、逆量子化した音響信号の各周波数帯域の係数の中から両端の係数、並びに、最大値及び最小値をとる係数を選択するよう構成してあることを特徴とする付記2乃至5のいずれか一つに記載の信号処理装置。
(付記8)
符号化音響信号を逆量子化した音響信号をコンピュータにより処理するプログラムにおいて、
コンピュータに、
逆量子化した音響信号の周波数帯域の係数の中から複数の係数を選択する選択ステップと、
該選択ステップにより選択した複数の係数を用いた補間法により前記選択ステップにより選択されない係数の補間係数を算出する算出ステップと
を実行させるためのプログラム。