以下、図面とともに本発明による音声復号装置、音声符号化装置、音声復号方法、音声符号化方法、音声復号プログラム、及び音声符号化プログラムの好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
[第1実施形態]
図1は、本発明の第1実施形態に係る音声復号装置1の構成を示す図、図2は、音声復号装置1によって実現される音声復号方法の手順を示すフローチャートである。音声復号装置1は、物理的には図示しないCPU、ROM、RAM及び通信装置等を備え、このCPUは、ROM等の音声復号装置1の内蔵メモリに格納された所定のコンピュータプログラム(例えば、図2のフローチャートに示す処理を行うためのコンピュータプログラム)をRAMにロードして実行することによって音声復号装置1を統括的に制御する。音声復号装置1の通信装置は、後述する音声符号化装置2から出力される多重化された符号化系列を受信し、更に、復号した音声信号を外部に出力する。
音声復号装置1は、図1に示すように、機能的には、非多重化部(非多重化手段)1a、低周波数帯域復号部(低周波数帯域復号手段)1b、帯域分割フィルタバンク部(周波数変換手段)1c、符号化系列解析部(高周波数帯域符号化系列解析手段)1d、符号化系列復号/逆量子化部(符号化系列復号逆量子化手段)1e、第1〜第n(nは2以上の整数)低周波数帯域時間エンベロープ算出部(低周波数帯域時間エンベロープ算出手段)1f1〜1fn、時間エンベロープ算出部(時間エンベロープ算出手段)1g、高周波数帯域生成部(高周波数帯域生成手段)1h、時間エンベロープ調整部(時間エンベロープ調整手段)1i、及び帯域合成フィルタバンク部(逆周波数変換手段)1jを備える(1c〜1e、及び1h〜1iは帯域拡張部(帯域拡張手段)と呼ぶこともある。)。図1に示す音声復号装置1の各機能部は、音声復号装置1のCPUが音声復号装置1の内蔵メモリに格納されたコンピュータプログラムを実行することによって実現される機能である。音声復号装置1のCPUは、このコンピュータプログラムを実行することによって(図1の各機能部を用いて)、図2のフローチャートに示す処理(ステップS01〜ステップS10の処理)を順次実行する。このコンピュータプログラムの実行に必要な各種データ、及び、このコンピュータプログラムの実行によって生成された各種データは、全て、音声復号装置1のROMやRAM等の内蔵メモリに格納されるものとする。
以下、音声復号装置1の各機能部の機能について詳細に説明する。
非多重化部1aは、音声復号装置1の通信装置を介して入力された多重化された符号化系列を、低周波数帯域符号化系列と高周波数帯域符号化系列に非多重化することによって分離する。
低周波数帯域復号部1bは、非多重化部1aから与えられた低周波数帯域符号化系列を復号し、低周波数帯域の成分のみを含む復号信号を得る。この際、復号の方式は、CELP(Code-Excited Linear Prediction)方式に代表される音声符号化方式に基づいてもよく、またAAC(Advanced Audio Coding)やTCX(Transform Coded Excitation)方式などの音響符号化に基づいてもよい。また、PCM(Pulse Code Modulation)符号化方式に基づいても良い。また、それらの符号化方式を切り替えて符号化する方式に基づいてもよい。本実施形態において、符号化方式は限定されない。
帯域分割フィルタバンク部1cは、低周波数帯域復号部1bから与えられた低周波数帯域の成分のみを含む復号信号を分析し、その復号信号を周波数領域の信号に変換する。以降、上記帯域分割フィルタバンク部1cにより取得される低周波数帯域に対応する周波数領域の信号を、Xdec(j,i){0≦j<kx、t(s)≦i<t(s+1)、0≦s<sE}と表す。ここで、jは周波数方向のインデックス、iは時間方向のインデックス、kxは非負整数である。また、tは、上記信号Xdec(j,i)のインデックスiについての範囲t(s)≦i<t(s+1)が、第s(0≦s<sE)番目のフレームに対応するように定義する。また、sEは全フレームの数である。上記フレームは、例えば、低周波数帯域復号部1bの復号方式が従う符号化方式が規定するフレームに対応する。また、上記フレームは、“ISO/IEC 14496-3”に規定される“MPEG4 AAC”で利用されるSBRにおける、いわゆる、SBRフレーム(SBR frame)、あるいは、SBRエンベロープタイムセグメント(SBR envelope time segment)に対応してもよい。なお、本実施形態においては、上記フレームが規定する時間間隔は、上記の例には限定されない。上記インデックスiは、“ISO/IEC 14496-3”に規定される“MPEG4 AAC”で利用されるSBRにおける、QMFサブバンドサブサンプル(QMF subband subsample)、または、それを束ねるタイムスロット(time slot)、に対応してもよい。
符号化系列解析部1dは、非多重化部1aから与えられた高周波数帯域符号化系列を解析し、符号化された高周波数帯域生成用補助情報と、符号化された時間/周波数エンベロープ情報を取得する。
符号化系列復号/逆量子化部1eは、符号化系列解析部1dから与えられた符号化された高周波数帯域生成用補助情報を復号・逆量子化し、高周波数帯域生成用補助情報を得ると共に、符号化系列解析部1dから与えられた符号化された時間エンベロープ情報を復号・逆量子化し時間エンベロープ情報を取得する。
第1〜第n低周波数帯域時間エンベロープ算出部1f1〜1fnは、それぞれ、異なる時間エンベロープを算出する。すなわち、第k低周波数帯域時間エンベロープ算出部1fk(1≦k≦n)は、帯域分割フィルタバンク部1cから、低周波数帯域の信号X(j,i){0≦j<kx、t(s)≦i<t(s+1)、0≦s<sE}を受け取り、低周波数帯域の第k番目の時間エンベロープLdec(k,i)を算出する。(ステップSb6の処理)。具体的には、第k低周波数帯域時間エンベロープ算出部1fkは、時間エンベロープLdec(k,i)を次のようにして算出する。
まず、低周波数帯域内の異なる副周波数帯を、下記の条件を満たす二つの整数k
l、k
hを用いて指定できる。
上記条件を満たす、可能な整数の組(k
l、k
h)は、全部でn
max=k
x(k
x+1)/2個ある。これらの整数の組の内の任意の一つを選べば、上記副周波数帯が指定できる。
次に、上記nmax個の整数の組から、n個を選択することで、副周波数帯をn個指定する。以下、これらのn個の帯域を表すために、二つのサイズnの配列BlとBhを、信号Xdec(j,i){Bl(k)≦j≦Bh(k)、t(s)≦i<t(s+1)、0≦s<sE}が、第k(1≦k≦n)番目の副周波数帯成分に対応するように定義する。
さらに、上記n個の副周波帯成分の電力の時間エンベロープを次の式で取得する。
そして、上記E
L(k,i)を対象にして、下記式を計算する。
次に、この量L
0(k,i)に所定の処理を施して時間エンベロープL(k,i)を取得する。例えば、下記式を用いて、この量L
0(k,i)を時間方向に平滑化することで、時間エンベロープL(k,i)を取得してもよい。
上記式中、sc(j)、0≦j≦dは平滑化係数であり、dは平滑化の次数である。sc(j)は例えば、下記式;
によって設定されるが、本実施形態においてsc(j)の値は上記式には限定されない。
また、上記L
0(k,i)は例えば下記式で計算してもよい。
さらには、上記L
0(k.i)は例えば下記式で計算してもよい。
ただし、εはゼロ割を回避する緩和係数である。またさらには、上記L
0(k.i)は例えば下記式で計算してもよい。
そして、第k低周波数帯域時間エンベロープ算出部1f
kが算出する時間エンベロープL
dec(k,i)は、例えば、下記式;
あるいは、下記式;
を用いて得られる。
ただし、上記Ldec(k,i)は、第k番目の上記副周波数帯域の信号の信号電力または信号振幅の時間変動を表すパラメータであればよく、上記のL0(k,i)およびL1(k,i)の形態に限定されない。
また、上記Ldec(k,i)は以下のように主成分分析を用いた方法で算出してもよい。
まず、上述したL
dec(k,i){1≦k≦n、t(s)≦i≦t(s+1)、0≦s<s
E}の算出過程において、上記nを別の整数m=n−1に置き換えることで、上記L
dec(k,i)に対応する量をインデックスkについてm種類定め、これらの量を改めて、L
2(k,i){1≦k≦m(=n−1)、t(s)≦i<t(s+1)、0≦s<s
E}と表すことにする。そして、第s(0≦s<s
E)番目のフレームに対応する上記L
2(l,i){1≦l≦m、t(s)≦i<t(s+1)}を、次元D=t(s+1)−t(s)のベクトルがm個集まったサンプルと捉え、これらのサンプルの平均を下記式;
により求める。上記平均を用いて、変位ベクトルを下記式で定義する。
これらの変位ベクトルから、サイズD×Dの分散共分散行列Covを下記式で算出する。
次に、下記式;
を満たす互いに直交する、行列Covの固有ベクトルV
(k)を算出する。ここで、上記V
(k) iは固有ベクトルV
(k)の成分であり、λ
(k)はV
(k)に対応する行列Covの固有値である。ここで、上記ベクトルV
(k)の各々は、正規化されていてもよい。ただし、正規化の方法は本発明においては限定されない。以降、記述の簡便化のため、λ
(1)≧λ
(2)≧・・・≧λ
(D)とする。
以上で取得された固有ベクトルを用いて、低周波数帯域時間エンベロープ算出部1f
k(ただし、1≦k≦n)は、時間エンベロープL
dec(k,i)は以下のように算出する。すなわち、D≧m(=n−1)なら、上記固有ベクトルの中から、対応する固有値の大きさ順にn−1個選択し、下記式により算出する。
一方、D<m(=n−1)なら、上記固有ベクトルを用いて、下記式により算出する。
ここで、αは定数であり、例えば、α=0としてもよい。また、同じくD<m(=n−1)の場合、下記式により算出してもよい。
また、上記Ldec(k,i)は以下のような方法で算出してもよい。まず、上記L2(l,i)の算出過程において、m=nとして、L2(l,i)、1≦l≦m、t(s)≦i<t(s+1)、0≦s<sEを算出する。これらは、次元D=t(s+1)−t(s)のベクトルがn個集まった集合と捉えることができる。上記n個のベクトルを用いて、グラム・シュミットの直交化法、等の方法で、直交ベクトルをn個算出し、これらをLdec(k,i)、1≦l≦n、t(s)≦i<t(s+1)、0≦s<sEとする。ただし、直交化の方法は上記例に限定されない。また、直交ベクトルは必ずしも正規化されていなくてもよい。
時間エンベロープ算出部1gは、第1〜第n低周波数帯域時間エンベロープ算出部1f1〜1fnから与えられたn個の低周波数帯域の時間エンベロープと、符号化系列復号/逆量子化部1eから与えられた時間エンベロープ情報を用いて、高周波数帯域の時間エンベロープを算出する。詳細には、時間エンベロープ算出部1gによる時間エンベロープの算出は次のように行われる。
まず、高周波数帯域をnH(nH≧1)個の副周波数帯に分割し、これらの副周波数帯をB(T) l(l=1,2,3,・・・,nH)と表記する。次に、上記時間エンベロープLdec(k,i)を用いて、高周波帯域の副周波数帯B(T) lの時間エンベロープgdec(l,i)を算出する。iは時間方向のインデックスである。
例えば、上記g
dec(l,i)は下記式で与えられる。
ここで、上記式中に示された値;
は、符号化系列復号/逆量子化部1eから与えられた時間エンベロープ情報である。
また、符号化系列復号/逆量子化部1eから与えられた時間エンベロープ情報は、係数A
l,k(s)が、
なる係数を含むものであってもよく、その場合は、上記g
dec(l,i)が、下記式;
によって与えられてもよい。
さらに、符号化系列復号/逆量子化部1eから与えられた時間エンベロープ情報は、上記係数A
l,k(s){1≦l≦n
H、1≦k≦n、0≦s<s
E}、あるいは、上記係数A
l,k(s){1≦l≦n
H、0≦k≦n、0≦s<s
E}に加え、下記式;
で与えられる係数を含むものであってもよく、その場合は、上記g
dec(l,i)が、下記式;
あるいは、下記式;
によって与えられるとしても良い。ここで、U(k,i){1≦k≦g、t(s)≦i<t(s+1)、0≦s<s
E}は所定の係数、あるいは、所定の関数である。例えば、上記U(k,i)は、下記式で与えられる関数でもよい。
ここで、Ωは所定の係数である。
ここで、上記gdec(l、i)は、Ldec(k,i)による表現であれば他の形態も許され、時間エンベロープ情報の形態も係数Al,k(s)の形態に限定されない。
最後に、時間エンベロープ算出部1gは、上記g
dec(l,i)を用いて、下記式:
あるいは、下記式;
により時間エンベロープを算出する。
高周波数帯域生成部1hは、帯域分割フィルタバンク部1cから与えられた低周波数帯域の信号Xdec(j,i){0≦j<kx、t(s)≦i<t(s+1)、0≦s<sE}を、符号化系列復号/逆量子化部1eから与えられた高周波数帯域生成用補助情報を用いて高周波数帯域に複写することにより、高周波数帯域の信号Xdec(j,i){kx≦j≦kmax、t(s)≦i<t(s+1)、0≦s<sE}を生成する。上記高周波数帯域の生成は、“ISO/IEC 14496-3”に規定される“MPEG4 AAC”のSBRにおけるHFジェネレーション(HF generation)の方法に従って行う(“ISO/IEC 14496-3 subpart 4 General Audio Coding”)。
時間エンベロープ調整部1iは、高周波数帯域生成部1hから与えられた高周波数帯域信号XH(j,i){kx≦j≦kmax、t(s)≦i<t(s+1)、0≦s<sE}の時間エンベロープを、時間エンベロープ算出部1gから与えられた時間エンベロープET(l,i){1≦l≦nH、t(s)≦i<t(s+1)、0≦s<sE}を用いて調整する。
すなわち、上記時間エンベロープの調節は、下記のように、“MPEG4 AAC”のSBRにおけるHFアジャストメント(HF adjustment)と類似の手段により行われる。ただし、簡単のため、下記ではHFアジャストメントにおけるノイズアディション(Noise addition)のみを考慮した方法を示し、その他のゲインリミッタ(Gain limiter)、ゲインスムーザ(Gain smother)、シヌソイドアディション(Sinusoid addition)等の処理に対応するものは省略した。ただし、省略した上記処理を含むように処理を一般化することは容易である。なお、ノイズアディションに対応する処理を行うために必要なノイズフロアー・スケールファクター、あるいは、上記省略した処理を行う際に必要なパラメータは、既に符号化系列復号/逆量子化部1eによって与えられているものとする。
はじめに、以下の記述の簡単化のため、副周波数帯B(T) l(1≦l≦nH)の境界を表すnH+1個のインデックスを要素とする配列FHを、信号XH(j,i){FH(l)≦j<FH(l+1)、t(s)≦i<t(s+1)、0≦s<sE}が、副周波数帯B(T) lの成分に対応するように定義する。ただし、FH(1)=kx、FH(nH+1)=kmax+1である。
上記定義のもとで、時間エンベロープを下記式により変換する。
その後、符号化系列復号/逆量子化部1eによって与えられるノイズフロアー・スケールファクターQ(m,i)を下記式で変換する。
ただし、M=F(n
H+1)−F(1)である。また、ゲインを下記式で算出する。
ここで、下記式;
により表される量を定義する。
最後に、時間エンベロープ調整部1iは、下記式により、時間エンベロープ調節済みの信号を得る。
ここで、V
0、V
1はノイズ成分を規定する配列であり、fは、インデックスiを上記配列上のインデックスに写像する関数である(具体例については、“ISO/IEC 14496-3 4.B.18”を参照。)。
帯域合成フィルタバンク部1jは、時間エンベロープ調整部1iから与えられた高周波数帯信号Y(i,j){kx≦j≦kmax、t(s)≦i<t(s+1)、0≦s<sE}と、帯域分割フィルタバンク部1cから与えられた低周波数帯信号X(j,i){0≦j<kx、t(s)≦i<t(s+1)、0≦s<sE}とを加算した後に帯域合成することによって、全周波数帯域成分を含む時間領域の復号音声信号を取得し、取得した音声信号を内蔵する通信装置を介して外部に出力する。
以下、図2を参照して、音声復号装置1の動作について説明するとともに、併せて音声復号装置1における音声復号方法について詳述する。
まず、非多重化部1aにより、入力された符号化系列から低周波数帯域符号化系列と高周波数帯域符号化系列とが分離される(ステップS01)。次に、低周波数帯域復号部1bにより、低周波数帯域符号化系列が復号されて、低周波数帯域の成分のみを含む復号信号が得られる(ステップS02)。その後、帯域分割フィルタバンク部1cにより、低周波数帯域の成分のみを含む復号信号が分析されて、周波数領域の信号に変換される(ステップS03)。
さらに、符号化系列解析部1dにより、高周波数帯域符号化系列が解析されて、符号化された高周波数帯域生成用補助情報と、量子化された時間エンベロープ情報とが取得される(ステップS04)。そして、符号化系列復号/逆量子化部1eによって、高周波数帯域生成用補助情報が復号されるとともに、時間エンベロープ情報が逆量子化される(ステップS05)。その後、高周波数帯域生成部1hにより、低周波数帯域の信号Xdec(j,i)を、高周波数帯域生成用補助情報を用いて高周波数帯域に複写することにより、高周波数帯域の信号Xdec(j,i)が生成される(ステップS06)。次に、第1〜第n低周波数帯域時間エンベロープ算出部1f1〜1fnにより、低周波数帯域の信号X(j,i)を基に、複数の低周波数帯域の時間エンベロープLdec(k,i)が算出される(ステップS07)。
さらに、時間エンベロープ算出部1gにより、複数の低周波数帯域内の時間エンベロープLdec(k,i)と時間エンベロープ情報を用いて、高周波数帯域の時間エンベロープET(l,i)が算出される(ステップS08)。そして、時間エンベロープ調整部1iにより、高周波数帯域信号XH(j,i)の時間エンベロープが時間エンベロープET(l,i)を用いて調整される(ステップS09)。最後に、帯域合成フィルタバンク部1jにより、高周波数帯信号Y(i,j)と低周波数帯信号X(j,i)とが加算された後に帯域合成されることにより時間領域の復号音声信号が取得され、その復号音声信号が出力される(ステップS10)。
図3は、本発明の第1実施形態に係る音声符号化装置2の構成を示す図であり、図4は、音声符号化装置2によって実現される音声符号化方法の手順を示すフローチャートである。音声符号化装置2は、物理的には図示しないCPU、ROM、RAM及び通信装置等を備え、このCPUは、ROM等の音声符号化装置2の内蔵メモリに格納された所定のコンピュータプログラム(例えば、図4のフローチャートに示す処理を行うためのコンピュータプログラム)をRAMにロードして実行することによって音声符号化装置2を統括的に制御する。音声符号化装置2の通信装置は、符号化の対象となる音声信号を外部から受信し、更に、符号化された多重化ビットストリームを外部に出力する。
図3に示すように、音声符号化装置2は、機能的には、ダウンサンプリング部(ダウンサンプリング手段)2a、低周波数帯域符号化部(低周波数帯域符号化手段)2b、帯域分割フィルタバンク部(周波数変換手段)2c、高周波数帯域生成用補助情報算出部(補助情報算出手段)2d、第1〜第n(nは2以上の整数)低周波数帯域時間エンベロープ算出部(低周波数帯域時間エンベロープ算出手段)2e1〜2en、時間エンベロープ情報算出部(時間エンベロープ情報算出手段)2f、量子化/符号化部(量子化符号化手段)2g、高周波数帯域符号化系列構成部(符号化系列構成手段)2h、及び多重化部(多重化手段)2iを備える。図3に示す音声符号化装置2の各機能部は、音声符号化装置2のCPUが音声符号化装置2の内蔵メモリに格納されたコンピュータプログラムを実行することによって実現される機能である。音声符号化装置2のCPUは、このコンピュータプログラムを実行することによって(図3に示す各機能部を用いて)、図4のフローチャートに示す処理(ステップS11〜ステップS20の処理)を順次実行する。このコンピュータプログラムの実行に必要な各種データ、及び、このコンピュータプログラムの実行によって生成された各種データは、全て、音声符号化装置2のROMやRAM等の内蔵メモリに格納されるものとする。
ダウンサンプリング部2aは、音声符号化装置2の通信装置を介して受信された外部からの入力信号を処理し、ダウンサンプルされた低周波数帯域の時間領域信号を得る。低周波数帯域符号化部2bは、ダウンサンプルされた時間領域信号を符号化し、低周波数帯域符号化系列を得る。低周波数帯域符号化部2bにおける符号化はCELP方式に代表される音声符号化方式に基づいてもよく、またAACに代表される変換符号化やTCX方式などの音響符号化に基づいてもよい。また、PCM符号化方式に基づいても良い。また、それら符号化方式を切り替えて符号化する方式に基づいてもよい。本実施形態において、符号化方式は限定されない。
帯域分割フィルタバンク部2cは、音声符号化装置2の通信装置を介して受信された外部からの入力信号を分析し、周波数領域の全周波数帯域の信号X(j,i)に変換する。ただし、jは周波数方向のインデックスであり、iは時間方向のインデックスである。
高周波数帯域生成用補助情報算出部2dは、帯域分割フィルタバンク部2cから周波数領域の信号X(j,i)を受け取り、高周波数帯域の電力、信号変化や、トーナリティ等の分析に基づいて、低周波数帯域の信号成分から高周波数帯域の信号成分を生成する際に用いる高周波数帯域生成用補助情報を算出する。
第1〜第n低周波数帯域時間エンベロープ算出部2e1〜2enは、それぞれ、複数の異なる低周波帯域成分の時間エンベロープを算出する。具体的には、第k低周波数帯域時間エンベロープ算出部2ek(1≦k≦n)は、帯域分割フィルタバンク部2cから、低周波数帯域の信号X(j,i){0≦j<kx、t(s)≦i<t(s+1)、0≦s<sE}を受け取り、上述した音声復号装置1の第k低周波数帯域時間エンベロープ算出部1fk(ただし、1≦k≦n)の時間エンベロープLdec(k,i)の算出方法に従い、低周波数帯域の第k番目の時間エンベロープL(k、i){t(s)≦i<t(s+1)、0≦s<sE}を算出する。
時間エンベロープ情報算出部2fは、帯域分割フィルタバンク部2cから、高周波数帯域の信号X(j,i){kx≦j<N、t(s)≦i<t(s+1)、0≦s<sE}を、また、第k低周波数帯域時間エンベロープ算出部2ek(1≦k≦n)からは、時間エンベロープL(k、i){t(s)≦i<t(s+1)、0≦s<sE}を受け取り、信号X(j,i)の高周波数帯域成分の時間エンベロープを取得するために必要な時間エンベロープ情報を算出する。上記時間エンベロープ情報は、上述した音声復号装置1側で、上記時間エンベロープLdec(k,i)が与えられた際に、高周波数帯域の参照時間エンベロープの近似を復元できる情報である。
具体的には、上記時間エンベロープ情報の算出は次のようにして行われる。まず、電力の時間エンベロープが下記式により算出される。
次に、上記高周波数帯域の第l(1≦l≦n
H)番目の周波数帯域の参照時間エンベロープを、H(l、i){t(s)≦i<t(s+1)}と表すことにすると、参照時間エンベロープH(l、i)は、下記式;
又は、下記式;
によって算出される。
なお、上述した低周波数帯域の時間エンベロープと同様に、H(l,i)に対して所定の処理(例えば平滑化)を施して、高周波数帯域の参照時間エンベロープとしてもよい。また、高周波数帯域の参照時間エンベロープは、高周波数帯域の信号の信号電力または信号振幅の時間変動を表すパラメータであればよく、上記の算出方法に限定されない。上記参照時間エンベロープH(l,i)の上記時間エンベロープL(k,i)による近似をg(l,i)と表すと、上記g(l,i)の形態は、音声復号装置1におけるgdec(l,i)の形態に従う。ここで、上記時間エンベロープL(k,i)を、音声復号装置1側の時間エンベロープLdec(k,i)に対応させた。
例えば、時間エンベロープ情報は、上記参照時間エンベロープH(l,i)に対する上記g(l,i)の誤差を定義し、その誤差を最小にするg(l,i)を求めることで算出できる。すなわち、誤差を時間エンベロープ情報の関数として捉え、その誤差の最小値を与える時間エンベロープ情報を探索して算出すればよい。当該時間エンベロープ情報の算出は、数値的に行ってもかまわない。また、数式を用いて計算してもよい。
さらに詳細には、参照時間エンベロープH(l,i)に対する上記g(l,i)の誤差は、下記式;
によって計算される。また、この誤差は、下記式を利用して重みつき誤差として計算されてもよい。
さらには、誤差は下記式によって計算されてもよい。
ここで、重みw(l,i)は時間インデックスiにより変化する重みとしても、あるいは、周波数インデックスlにより変化する重みとしても定義してよく、さらに時間インデックスi及び周波数インデックスlにより変化する重みとして定義してもよい。なお、本実施形態においては、上記誤差の形態、および、上記例にある重みの形態には限定されない。
量子化/符号化部2gは、時間エンベロープ情報算出部2fから時間エンベロープ情報を受け取り、時間エンベロープ情報の量子化・符号化を行い、高周波数帯域生成用補助情報算出部2dからは高周波数帯域生成用補助情報を受け取り高周波数帯域生成用補助情報を符号化する。
このような時間エンベロープ情報の量子化・符号化方法としては、例えば、当該情報が係数Al,k(s)の形態である場合、上記Al,k(s)をスカラ量子化した後、エントロピー符号化してもよい。さらには、Al,k(s)を所定の符号帳を用いてベクトル量子化し、そのインデックスを符号としてもよい。なお、本実施形態においては、時間エンベロープ情報の量子化・符号化方法は上記に限定されない。
高周波数帯域符号化系列構成部2hは、量子化/符号化部2gから符号化された高周波数帯域生成用補助情報と量子化された時間エンベロープ情報とを受け取り、それらを含む高周波数帯域符号化系列を構成する。
多重化部2iは、低周波数帯域符号化部2bから低周波数帯域符号化系列を、高周波数帯域符号化系列構成部2hから高周波数帯域符号化系列を受け取り、2つの符号化系列を多重化することによって符号化系列を生成し、生成した符号化系列を出力する。
以下、図4を参照して、音声符号化装置2の動作について説明するとともに、併せて音声符号化装置2における音声符号化方法について詳述する。
まず、入力された音声信号が帯域分割フィルタバンク部2cによって分析されることにより、周波数領域の全周波数帯域の信号X(j,i)が取得される(ステップS11)。次に、ダウンサンプリング部2aにより外部からの入力音声信号が処理されて、ダウンサンプルされた時間領域信号が取得される(ステップS12)。その後、低周波数帯域符号化部2bにより、ダウンサンプルされた時間領域信号が符号化されて、低周波数帯域符号化系列が得られる(ステップS13)。
さらに、高周波数帯域生成用補助情報算出部2dにより、帯域分割フィルタバンク部2cから取得された周波数領域の信号X(j,i)が分析され、高周波数帯域の信号成分を生成する際に用いる高周波数帯域生成用補助情報が算出される(ステップS14)。そして、第1〜第n低周波数帯域時間エンベロープ算出部2e1〜2enにより、低周波数帯域の信号X(j,i)を基に、低周波数帯域の複数の時間エンベロープL(k、i)が算出される(ステップS15)。その後、時間エンベロープ情報算出部2fにより、高周波数帯域の信号X(j,i)、及び低周波数帯域の複数の時間エンベロープL(k、i)を基に、信号X(j,i)の高周波数帯域成分の時間エンベロープを取得するために必要な時間エンベロープ情報が算出される(ステップS16)。次に、量子化/符号化部2gにより、時間エンベロープ情報が量子化・符号化されるとともに、高周波数帯域生成用補助情報が符号化される(ステップS17)。
さらに、高周波数帯域符号化系列構成部2hにより、符号化された高周波数帯域生成用補助情報と量子化された時間エンベロープ情報とを含む高周波数帯域符号化系列が構成される(ステップS18)。そして、多重化部2iにより、低周波数帯域符号化系列と高周波数帯域符号化系列を多重化することによって符号化系列が生成され、生成された符号化系列が出力される(ステップS19)。
以上説明した音声復号装置1、復号方法、或いは復号プログラムによれば、符号化系列から非多重化及び復号されて低周波数帯域信号が得られ、符号化系列から非多重化、復号、及び逆量子化されて高周波数帯域生成用補助情報及び時間エンベロープ情報が得られる。そして、高周波数帯域生成用補助情報を用いて周波数領域に変換された低周波数帯域信号Xdec(j,i)から周波数領域の高周波数帯域成分Xdec(j,i)が生成される一方で、周波数領域の低周波数帯域信号Xdec(j,i)を分析して複数の低周波数帯域の時間エンベロープLdec(k,i)が取得された後に、その複数の低周波数帯域の時間エンベロープLdec(k,i)と、時間エンベロープ情報とを用いて、高周波数帯域の時間エンベロープET(l,i)が算出される。さらに、算出された高周波数帯域の時間エンベロープET(l,i)によって高周波数帯域成分XH(j,i)の時間エンベロープが調整され、調整された高周波数帯域成分と低周波数帯域信号が加算されて時間領域信号が出力される。このように、高周波数帯域成分XH(j,i)の時間エンベロープの調整用に複数の低周波数帯域の時間エンベロープLdec(k,i)が用いられるので、低周波数帯域成分の時間エンベロープと高周波数帯域成分の時間エンベロープとの相関を利用して高い精度で高周波数帯域成分の時間エンベロープの波形が調整される。その結果、復号信号における時間エンベロープが歪の少ない形状に調整され、プリエコーおよびポストエコーの十分に改善された再生信号を得ることができる。
また、上述した音声符号化装置2、符号化方法、或いは符号化プログラムによれば、音声信号がダウンサンプリングされて低周波数帯域信号が得られ、その低周波数帯域信号が符号化される一方で、周波数領域の音声信号X(j,i)を基に低周波数帯域成分の時間エンベロープL(k,i)が複数算出され、その複数の低周波数帯域成分の時間エンベロープL(k,i)を用いて高周波数帯域成分の時間エンベロープを取得するための時間エンベロープ情報が算出される。さらに、低周波数帯域信号から高周波数帯域成分を生成するための高周波数帯域生成用補助情報が算出され、高周波数帯域生成用補助情報と時間エンベロープ情報とが量子化及び符号化された後に、高周波数帯域生成用補助情報と時間エンベロープ情報とを含む高周波数帯域符号化系列が構成される。そして、低周波数帯域符号化系列及び高周波数帯域符号化系列とが多重化された符号化系列が生成される。これにより、符号化系列が音声復号装置1に入力される際に、音声復号装置1側で高周波数帯域成分の時間エンベロープの調整用に複数の低周波数帯域の時間エンベロープを用いることが可能になり、音声復号装置1側で低周波数帯域成分の時間エンベロープと高周波数帯域成分の時間エンベロープとの相関を利用して高い精度で高周波数帯域成分の時間エンベロープの波形が調整される。その結果、復号信号における時間エンベロープが歪の少ない形状に調整され、復号装置側でプリエコーおよびポストエコーの十分に改善された再生信号を得ることができる。
[第1の実施形態の音声復号装置の第1の変形例]
図5は、第1の実施形態に係る音声復号装置1の第1の変形例におけるエンベロープ算出に関る要部の構成を示す図、図6は、図5の音声復号装置1によるエンベロープ算出の手順を示すフローチャートである。
図5に示す音声復号装置1は、低周波数帯域時間エンベロープ算出部1f
1〜1f
n及び時間エンベロープ算出部1gに加えて、時間エンベロープ算出制御部(時間エンベロープ算出制御手段)1kを備える。この時間エンベロープ算出制御部1kは、帯域分割フィルタバンク部1cから低周波数帯域信号を受け取り、当該フレームにおける低周波数帯域信号の電力を算出し(ステップS31)、算出した低周波数帯域信号の電力を所定の閾値と比較する(ステップS32)。そして、時間エンベロープ算出制御部1kは、低周波数帯域信号の電力が所定の閾値よりも大きくない場合(ステップS32;NO)には、低周波数帯域時間エンベロープ算出部1f
1〜1f
nには低周波数帯域時間エンベロープ算出制御信号を、時間エンベロープ算出部1gには時間エンベロープ算出制御信号を出力して、低周波数帯域時間エンベロープ算出部1f
1〜1f
nおよび時間エンベロープ算出部1gにて時間エンベロープの算出処理をしないように制御する。この場合、高周波数帯域信号の時間エンベロープは、上記時間エンベロープに基づいて調整されず(例えば、上記数式29においてE(m,i)をE
curr(m,i)とし、上記数式30の代わりに下記式;
とする)(ステップS36)に、帯域合成フィルタバンク部1jに送られる。一方、時間エンベロープ算出制御部1kは、低周波数帯域信号の電力が所定の閾値よりも大きい場合には、低周波数帯域時間エンベロープ算出部1f
1〜1f
nには低周波数帯域時間エンベロープ算出制御信号を、時間エンベロープ算出部1gには時間エンベロープ算出制御信号を出力して、低周波数帯域時間エンベロープ算出部1f
1〜1f
nおよび時間エンベロープ算出部1gは時間エンベロープの算出処理を実施するように制御する。この場合、時間エンベロープ調整部1iにて上記時間エンベロープに基づいて時間エンベロープが調整された高周波数帯域信号は帯域合成フィルタバンク部1jに送られる。
図6を参照して、音声復号装置1の第1の変形例においては、ステップS31〜S36に示すエンベロープ算出処理が、図2に示す第1実施形態にかかる音声復号装置1のステップS07〜S09の処理に置き換えて実行される。
このような音声復号装置1の第1の変形例により、例えば低周波数帯域信号の電力が小さく、高周波数帯域信号の時間エンベロープ算出に用いられない場合に、ステップS07〜S08の処理を省略することにより演算量が削減可能である。
なお、時間エンベロープ算出制御部1kは、第1〜第n低周波数帯域時間エンベロープ算出部1f1〜1fnにて算出される第1〜第n低周波数帯域時間エンベロープに相当する部分の電力を算出してもよく、算出された第1〜第n低周波数帯域時間エンベロープに相当する電力を所定の閾値と比較した結果に基づいて低周波数帯域時間エンベロープ算出制御信号を出力し、上記第1〜第n低周波数帯域時間エンベロープ算出部1f1〜1fnの処理を省略するか否かを制御してもよい。
この場合、時間エンベロープ算出制御部1kは、すべての第1〜第n低周波数帯域時間エンベロープ算出部1f1〜1fnの処理を省略するように制御した場合には、時間エンベロープ算出部1gに時間エンベロープ算出制御信号を出力して時間エンベロープ算出処理を省略するように制御する。また、時間エンベロープ算出制御部1kは、第1〜第n低周波数帯域時間エンベロープ算出部1f1〜1fnのうち少なくとも1つ以上が低周波数帯域時間エンベロープの算出処理を実施するように制御される場合には、時間エンベロープ算出部1gに時間エンベロープ算出制御信号を出力して時間エンベロープ算出処理を実施するように制御する。
[第1の実施形態の音声復号装置の第2の変形例]
図7は、第1実施形態に係る音声復号装置1の第2の変形例におけるエンベロープ算出に関る要部の構成を示す図、図8は、図7の音声復号装置1によるエンベロープ算出の手順を示すフローチャートである。
図7に示す音声復号装置1は、低周波数帯域時間エンベロープ算出部1f1〜1fn及び時間エンベロープ算出部1gに加えて、時間エンベロープ算出制御部(時間エンベロープ算出制御手段)1mを備える。この時間エンベロープ算出制御部1mは、符号化系列復号/逆量子化部1eから受け取った時間エンベロープ情報に基づいて、第1〜第n低周波数帯域時間エンベロープ算出部1f1〜1fnに低周波数帯域時間エンベロープ算出制御信号を出力することによって、第1〜第n低周波数帯域時間エンベロープ算出部1f1〜1fnでの低周波数帯域時間エンベロープ算出処理の実施を制御する。
詳細には、音声復号装置1の第2の変形例においては、図8に示すステップS41〜S48のエンベロープ算出処理が、図2に示す第1実施形態にかかる音声復号装置1のステップS07〜S09の処理に置き換えて実行される。
まず、時間エンベロープ算出制御部1mにより、カウント値countが0に設定される(ステップS41)。次に、時間エンベロープ算出制御部1mにより、符号化系列復号/逆量子化部1eから受け取った時間エンベロープ情報に含まれる係数Al,count+1(s)が0か否かが判定される(ステップS42)。
判定の結果、係数Al,count+1(s)が0の場合は(ステップS42;NO)、時間エンベロープ算出制御部1mにより、第count番目の低周波数帯域時間エンベロープ算出部1fcountに低周波数帯域時間エンベロープ算出制御信号を出力して低周波数帯域時間エンベロープ算出部1fcountでの低周波数帯域時間エンベロープ算出処理を実施しないように制御し、ステップS44の処理に移る。一方、係数Al,count+1(s)が0でないと判定された場合には(ステップS42;YES)、第count番目の低周波数帯域時間エンベロープ算出部1fcountに低周波数帯域時間エンベロープ算出制御信号を出力して低周波数帯域時間エンベロープ算出部1fcountでの低周波数帯域時間エンベロープ算出処理を実施するように制御する。これにより、低周波数帯域時間エンベロープ算出部1fcountにより、低周波数帯域時間エンベロープが算出される(ステップS43)。
さらに、時間エンベロープ算出制御部1mにより、カウント値countを1増分された(ステップS44)後に、カウント値countと低周波数帯域時間エンベロープ算出部1f1〜1fnの個数nとが比較される(ステップS45)。比較の結果、カウント値countが個数nよりも小さい場合(ステップS45;YES)には、ステップS42の処理に戻り、時間エンベロープ情報に含まれる次の係数Al,count(s)の判定が繰り返される。一方、カウント値countが個数n以上の場合(ステップS45;NO)には、ステップS46の処理に移される。 そして、時間エンベロープ算出制御部1mにより、1つ以上の低周波数帯域時間エンベロープ算出部1f1〜1fnにて低周波数帯域時間エンベロープの算出処理が実施されたか否かが判定される(ステップS46)。判定の結果、すべての低周波数帯域時間エンベロープ算出部1f1〜1fnにて低周波数帯域時間エンベロープの算出処理が実施されていない場合(ステップS46;NO)には、時間エンベロープ算出部1gに時間エンベロープ算出制御信号を出力して時間エンベロープ算出処理を省略するように制御する。この場合は、ステップS47〜S48の処理にかわりステップS49を実施し、ステップS10の処理(図2)に移される。これに対して、1つ以上の低周波数帯域時間エンベロープ算出部1f1〜1fnにて低周波数帯域時間エンベロープの算出処理が実施された場合(ステップS46;YES)は、時間エンベロープ算出部1gにて時間エンベロープの算出処理が実施される(ステップS47)。次いで、時間エンベロープ調整部1iによって、高周波数帯域信号の時間エンベロープ調整処理が実施される(ステップS48)。その後、帯域合成フィルタバンク部1jによって、出力信号の合成処理が実施される。
このような音声復号装置1の第2の変形例により、符号化系列から得られた時間エンベロープ情報を基に一部の処理が不要な場合に、ステップS07〜S08のいずれかの処理を省略することにより、演算量が削減可能である。
[第1の実施形態の音声復号装置の第3の変形例]
図9は、第1実施形態に係る音声復号装置1の第3の変形例におけるエンベロープ算出に関る要部の構成を示す図、図10は、図9の音声復号装置1によるエンベロープ算出の手順を示すフローチャートである。
図9に示す音声復号装置1は、低周波数帯域時間エンベロープ算出部1f1〜1fn及び時間エンベロープ算出部1gに加えて、時間エンベロープ算出制御部(時間エンベロープ算出制御手段)1nを備える。この時間エンベロープ算出制御部1nは、符号化系列解析部1dより時間エンベロープ算出制御情報を受け取る。本変形例においては、時間エンベロープ算出制御情報には、当該フレームにおいて時間エンベロープ算出処理を実施するか否かが記述されている。時間エンベロープ算出制御情報の記述内容を読み取るに際し復号/逆量子化処理が必要な場合は、符号化系列復号/逆量子化部1eにより復号逆量子化処理が実施される。また、時間エンベロープ算出制御部1nは、時間エンベロープ算出制御情報を参照することにより、当該フレームにおいて時間エンベロープ算出処理を実施するか否かを決定する。そして、時間エンベロープ算出制御部1nは、時間エンベロープ算出処理を実施しないと決定した場合、低周波数帯域時間エンベロープ算出部1f1〜1fnには低周波数帯域時間エンベロープ算出制御信号を、時間エンベロープ算出部1gには時間エンベロープ算出制御信号を出力して、低周波数帯域時間エンベロープ算出部1f1〜1fnおよび時間エンベロープ算出部1gにて時間エンベロープの算出処理を行わないように制御する。この場合、高周波数帯域信号は、時間エンベロープを上記時間エンベロープに基づいて調整されずに、帯域合成フィルタバンク部1jに送られる。その一方で、時間エンベロープ算出制御部1nは、時間エンベロープ算出処理を実施すると決定した場合、低周波数帯域時間エンベロープ算出部1f1〜1fnには低周波数帯域時間エンベロープ算出制御信号を、時間エンベロープ算出部1gには時間エンベロープ算出制御信号を出力して、低周波数帯域時間エンベロープ算出部1f1〜1fnおよび時間エンベロープ算出部1gにて時間エンベロープの算出処理が行われるように制御する。この場合、時間エンベロープ調整部1iにて時間エンベロープが調整された高周波数帯域信号が帯域合成フィルタバンク部1jに送られる。
図10を参照して、音声復号装置1の第3の変形例においては、ステップS51〜S54に示すエンベロープ算出処理が、図2に示す第1実施形態にかかる音声復号装置1のステップS07〜S09の処理に置き換えて実行される。
このような音声復号装置1の第3の変形例によっても、符号化装置側からの制御情報を基にしてステップS07〜S08の処理を省略することにより、演算量が削減可能である。
[第1の実施形態の音声復号装置の第4の変形例]
図11は、第1実施形態に係る音声復号装置1の第4の変形例によるエンベロープ算出の手順を示すフローチャートである。なお、この音声復号装置1の第4の変形例の構成は、図9に示す構成と同様である。
この第4の変形例では、図11に示すステップS61〜S64に示すエンベロープ算出処理が、図2に示す第1実施形態にかかる音声復号装置1のステップS07〜S09の処理に置き換えて実行される。
すなわち、時間エンベロープ算出制御情報には、当該フレームにおいて、第1〜n低周波数帯域時間エンベロープのうち時間エンベロープ算出処理に用いる低周波数帯域時間エンベロープが記述されている。ここで、時間エンベロープ算出制御情報の記述内容を読み取るに際し復号/逆量子化処理が必要な場合は、符号化系列復号/逆量子化部1eにより復号逆量子化処理が実施される。そして、時間エンベロープ算出制御部1nにより、時間エンベロープ算出制御情報に基づき、当該フレームにおいて時間エンベロープ算出処理に用いる低周波数帯域時間エンベロープが選択される(ステップS61)。
次に、時間エンベロープ算出制御部1nにより、第1〜n低周波数帯域時間エンベロープ算出部1f1〜1fnに対して低周波数帯域時間エンベロープ算出制御信号が出力される。これにより、上記選択処理にて選択された低周波数帯域時間エンベロープに相当する低周波数帯域時間エンベロープ算出部1f1〜1fnによって低周波数帯域時間エンベロープが算出されるように制御され、上記選択処理にて選択されなかった低周波数帯域時間エンベロープに相当する低周波数帯域時間エンベロープ算出部1f1〜1fnによって低周波数帯域時間エンベロープが算出されないように制御される(ステップS62)。
その後、時間エンベロープ算出制御部1nにより、時間エンベロープ算出部1gに対して時間エンベロープ算出制御信号が出力され、選択された低周波数帯域時間エンベロープのみを用いて、時間エンベロープを算出するように制御される(ステップS63)。さらに、時間エンベロープ調整部1iによって、算出された時間エンベロープを用いて、高周波数帯域生成部1hにて生成された高周波数帯域信号の時間エンベロープが調整される(ステップS64)。
また、上記選択処理にて、いずれの低周波数帯域時間エンベロープも選択されない場合には、上記ステップS62〜S63をスキップし、高周波数帯域信号は、時間エンベロープを上記時間エンベロープに基づいて調整されず(図6のステップS36)に、帯域合成フィルタバンク部1jに送られてもよい。
このような音声復号装置1の第4の変形例によっても、符号化装置側からの制御情報を基にしてステップS07〜S08の処理を省略することにより、演算量が削減可能である。
[第1の実施形態の音声復号装置の第5の変形例]
図12は、第1実施形態に係る音声復号装置1の第5の変形例によるエンベロープ算出の手順を示すフローチャートである。なお、この音声復号装置1の第5の変形例の構成は、図9に示す構成と同様である。
この第5の変形例では、図12に示すステップS71〜S75に示すエンベロープ算出処理が、図2に示す第1実施形態にかかる音声復号装置1のステップS07〜S09の処理に置き換えて実行される。
すなわち、時間エンベロープ算出制御情報には、当該フレームにおいて、第1〜n低周波数帯域時間エンベロープの算出方法が記述されている。時間エンベロープ算出制御情報の記述内容を読み取るに際し復号/逆量子化処理が必要な場合は、符号化系列復号/逆量子化部1eにより復号逆量子化処理が実施される。時間エンベロープ算出制御情報に記述されている第1〜n低周波数帯域時間エンベロープの算出方法は、例えば副周波数帯域を表す配列BlとBhの設定に関する内容であってもよく、このような時間エンベロープ算出制御情報に基づき副周波数帯域の周波数範囲を制御することが可能になる。配列BlとBhの設定に関する内容は、配列BlとBhを設定する整数の組(kl、kh)が記述されていてもよく、所定の複数の配列BlとBhの設定内容からいずれかの選択に関する記述でもよい。本変形例において、配列BlとBhの設定に関する内容の記述方法は限定されない。また、時間エンベロープ算出制御情報に記述されている第1〜n低周波数帯域時間エンベロープの算出方法は、上記所定の処理の設定に関する内容(例えば、上記平滑化係数sc(j)の設定に関する内容)であってもよく、これにより時間エンベロープ算出制御情報に基づき上記所定の処理(例えば、上記平滑化処理)を制御することが可能になる。平滑化係数sc(j)の設定に関する内容は、平滑化係数sc(j)の値を量子化・符号化したものでもよく、所定の複数の平滑化係数sc(j)からいずれかの選択に関する内容でもよい。さらには、平滑化処理をするか否かを記述したものを含んでもよい。本変形例において、上記所定の処理の設定(例えば、上記平滑化係数sc(j)の設定)に関する内容の記述方法は限定されない。さらには、時間エンベロープ算出制御情報に記述されている第1〜n低周波数帯域時間エンベロープの算出方法は、上記の算出方法のうち少なくとも1つ以上を含んでいてもよい。なお、本変形例において、時間エンベロープ算出制御情報に記述されている第1〜n低周波数帯域時間エンベロープの算出方法は、低周波数帯域時間エンベロープの算出方法に関する内容が記述されていればよく、上記の内容に限定されない。
ステップS71では、時間エンベロープ算出制御部1nにより、時間エンベロープ算出制御情報に基づき、当該フレームにおいて低周波数帯域時間エンベロープの算出方法を変更するか否かが決定される。次に、低周波数帯域時間エンベロープの算出方法を変更しない場合(ステップS71;NO)は、低周波数帯域時間エンベロープの算出方法を変更せずに、低周波数帯域時間エンベロープ算出部1f1〜1fnにて第1〜nの低周波数帯域時間エンベロープが算出される(ステップS73)。一方、低周波数帯域時間エンベロープの算出方法を変更する場合(ステップS71;YES)は、時間エンベロープ算出制御部1nにより、低周波数帯域時間エンベロープ算出部1f1〜1fnに対して低周波数帯域時間エンベロープ算出制御信号を出力して低周波数帯域時間エンベロープの算出方法が指示され、低周波数帯域時間エンベロープの算出方法が変更される(ステップS72)。その後、低周波数帯域時間エンベロープ算出部1f1〜1fnにて、変更された低周波数帯域時間エンベロープ算出方法により、第1〜nの低周波数帯域時間エンベロープが算出される(ステップS73)。さらに、時間エンベロープ算出部1gにより、低周波数帯域時間エンベロープ算出部1f1〜1fnにて算出された第1〜nの低周波数帯域時間エンベロープを用いて時間エンベロープが算出される(ステップS74)。そして、時間エンベロープ調整部1iにより、時間エンベロープ算出部1gにて算出された時間エンベロープを用いて、高周波数帯域生成部1hにて生成された高周波数帯域信号の時間エンベロープが調整される(ステップS75)。
このような音声復号装置1の第5の変形例によっても、符号化装置側からの制御情報を基にしてステップS07〜S08の処理を細かく制御することにより、さらに精度の高い時間エンベロープの調整が削減可能である。
[第1の実施形態の音声復号装置の第6の変形例]
図13は、第1実施形態に係る音声復号装置1の第6の変形例におけるエンベロープ算出に関る要部の構成を示す図である。図13に示す音声復号装置1は、低周波数帯域時間エンベロープ算出部1f1〜1fn及び時間エンベロープ算出部1gに加えて、時間エンベロープ算出制御部(時間エンベロープ算出制御手段)1oを備える。この時間エンベロープ算出制御部1oは、音声復号装置1の第1〜第5の変形例におけるエンベロープ算出処理のうちのいずれか1つ以上を実行するように構成されている。
[第1の実施形態の音声復号装置の第7の変形例]
図14は、第1実施形態に係る音声復号装置1の第7の変形例によるエンベロープ算出の手順を示すフローチャートである。なお、この音声復号装置1の第7の変形例の構成は、第1の実施形態に係る音声復号装置1と同様である。図14のステップS261〜S262は、上記第1の実施形態にかかる音声復号装置1の処理を示すフローチャート図2におけるステップS08を置き換えるものである。
本変形例においては、時間エンベロープ算出部1gは、低周波数帯域時間エンベロープ算出部1f1〜1fnから与えられた低周波数帯域内の時間エンベロープLdec(k,i){1≦k≦n、t(s)≦i<t(s+1)、0≦s<sE}と、符号化系列復号/逆量子化部1eから与えられた、時間エンベロープ情報を用いて、所定の処理(ステップS261の処理)の後、時間エンベロープを算出する(ステップS262の処理)。ここで、所定の処理としては、所定の処理、及び、それに係る時間エンベロープの算出としては、以下で示される例がある。
第1の例では、数式18、数式21、数式23、あるいは、数式24における係数A
l,k(s)を、符号化系列復号/逆量子化部1eから別の形態で与えられる時間エンベロープ情報を用いて算出する。例えば、上記係数は下記式により算出される。
0≦s<s
E
ここで、α
k(s)、k=1,2,・・・,Num、0≦s<s
Eは符号化系列復号/逆量子化部1eから与えられる時間エンベロープ情報であり、F
lk(x
1,x
2,・・・,x
Num)、1≦l≦n
H、1≦k≦nは、Num個の変数を引数とする所定の関数である。その後、上記の方法で取得された係数A
l,k(s)を用いて、数式18、数式21、数式23、あるいは、数式24により、時間エンベロープを算出する。
第2の例では、まず、下記式で与えられる量を算出する。
ここで、下記式;
は、所定の係数である。
また、上記g
(0)(l,i)は、所定の係数であってもよく、また、インデックスl,iについての所定の関数であってもよい。例えば、上記g
(0)(l,i)は下記式によって与えられる関数であってもよい。
ここで、λ、ωは所定の係数である。
続いて、数式18、数式21、数式23、あるいは、数式24の左辺に対応する量を算出し、これらを改めて、g
(1)(l,i){1≦l≦n
H、t(s)≦i<t(s+1)、0≦s<s
E}と表す。そして、時間エンベロープは、例えば、下記式によって算出される。
また、時間エンベロープは、下記式により算出されてもよい。
さらに、下記式:
により時間エンベロープが算出されても良い。
また、符号化系列復号/逆量子化部1eから時間エンベロープ情報が与えられない場合は、下記式;
により時間エンベロープが算出されてもよい。
本変形例においては、上記gdec(l,i)の形態は、上記例に限定されない。
なお、本発明においては、所定の処理、および、それに係る時間エンベロープの算出の内容は上記の例には限定されない。
本変形例は、第1の実施形態に係る音声復号装置1の第1〜第6の変形例に以下のような方法で適用してもよい。
第1の実施形態に係る音声復号装置1の第1の変形例に適用する場合は、例えば、図6のステップS34を図14のステップS261〜S262で置き換える。ここで、上記所定の処理をあらかじめ複数用意し、低周波数信号の電力の大きさに拠って切り替えても良い。さらには、低周波数信号の電力の大きさに拠って、a)上記所定の処理のみを実施して時間エンベロープを算出する、b)上記所定の処理を実施し、さらに時間エンベロープ情報を用いて時間エンベロープを算出する、c)上記所定の処理は実施せず、時間エンベロープ情報を用いて時間エンベロープを算出する、のうちいずれかを選択してもよい。
図15は、第1の実施形態に係る音声復号装置1の第2の変形例に適用する場合の、第1の実施形態に係る音声復号装置1の第7の変形例における時間エンベロープ算出制御部1mの処理の一部を示すフローチャートである。
第1の実施形態に係る音声復号装置1の第2の変形例に適用する場合は、例えば、図8のステップS42を図15のステップS271で、図8のステップS47を図14のステップS261〜S262で置き換える。また、所定の処理をあらかじめ複数用意し、時間エンベロープ情報に基づいて、切り替えても良い。さらには、時間エンベロープ情報に拠って、a)上記所定の処理のみを実施して時間エンベロープを算出する、b)上記所定の処理を実施し、さらに時間エンベロープ情報を用いて時間エンベロープを算出する、c)上記所定の処理は実施せず、時間エンベロープ情報を用いて時間エンベロープを算出する、のうちいずれかを選択してもよい。
また、第1の実施形態に係る音声復号装置1の第3の変形例に適用する場合は、図10のステップS53を図14のステップS261〜S262で置き換える。また、所定の処理をあらかじめ複数用意し、時間エンベロープ算出制御情報に基づいて、切り替えても良い。さらには、時間エンベロープ算出制御情報に拠って、a)上記所定の処理のみを実施して時間エンベロープを算出する、b)上記所定の処理を実施し、さらに時間エンベロープ情報を用いて時間エンベロープを算出する、c)上記所定の処理は実施せず、時間エンベロープ情報を用いて時間エンベロープを算出する、のうちいずれかを選択してもよい。
図16は、第1の実施形態に係る音声復号装置1の第4の変形例に適用する場合の、第1の実施形態に係る音声復号装置1の第7の変形例における時間エンベロープ算出制御部1nの処理の一部を示すフローチャートである。
第1の実施形態に係る音声復号装置1の第4の変形例に適用する場合は、図11のステップS61を図16のステップS281で、図11のステップS63を図14のステップS261〜S262で置き換える。図16のステップS281において、第1〜n低周波数帯成分の時間エンベロープより算出する低周波数帯成分の時間エンベロープを選択する方法としては、例えば、上記所定の処理の一例におけるA(0) l,kがゼロか否かを調査し、A(0) l,kが非ゼロであり、さらに時間エンベロープ算出制御情報にて低周波数信号時間エンベロープ算出部1fkにてLdec(k,i)を算出するよう指示されている場合には、低周波数信号時間エンベロープ算出部1fkはLdec(k,i)を算出するというようにしてもよい。
第1の実施形態に係る音声復号装置1の第5の変形例に適用する場合は、図12のステップS74を図14のステップS261〜S262で置き換える。ここで、低周波数帯成分の時間エンベロープ算出方法を変更した場合は、それに合わせて、所定の処理方法を変更してもよい。
また、第1の実施形態に係る音声復号装置1の第6の変形例への適用は、上記第1〜第5の変形例への適用方法に従う。
なお、図14では、所定の処理の後に時間エンベロープを算出する流れが示されているが、時間エンベロープを算出した後に所定の処理をしてもよい。例えば、算出済みの時間エンベロープに、平滑化等の所定の処理を施しても良い。さらには、所定の処理の後、時間エンベロープを算出し、更にその時間エンベロープに対し別の所定の処理を施しても良い。
[第1の実施形態の音声符号化装置の第1の変形例]
図17は、第1の実施形態に係る音声符号化装置2の第1の変形例の構成を示す図、図18は、図17の音声符号化装置2による音声符号化の手順を示すフローチャートである。
図17に示す音声符号化装置2は、第1の実施形態に係る音声符号化装置2に対して、時間エンベロープ算出制御情報生成部(制御情報生成手段)2jがさらに追加されている。
この時間エンベロープ算出制御情報生成部2jは、帯域分割フィルタバンク部2cから受け取る周波数領域の信号X(j,i)、及び時間エンベロープ情報算出部2fから受け取る時間エンベロープ情報のうち少なくとも1つ以上を用いて時間エンベロープ算出制御情報を生成する。生成される時間エンベロープ算出制御情報は、第1の実施形態に係る音声復号装置1の第3〜第7の変形例における時間エンベロープ算出制御情報のうちのいずれかであればよい。
ここで、時間エンベロープ算出制御情報生成部2jは、例えば、帯域分割フィルタバンク部2cから受け取る周波数領域の信号X(j,i)のうち低周波数帯域信号に相当する周波数帯域の信号電力を算出し、算出した信号電力に応じて音声復号装置1にて時間エンベロープ算出処理を実施するか否かの時間エンベロープ算出制御情報を生成してもよい。
また、時間エンベロープ算出制御情報生成部2jは、周波数領域の信号X(j,i)のうち高周波数帯域信号に相当する周波数帯域の信号電力を算出して、算出した信号電力に応じて音声復号装置1にて時間エンベロープ算出処理を実施するか否かの時間エンベロープ算出制御情報を生成してもよい。
さらには、時間エンベロープ算出制御情報生成部2jは、周波数領域の信号X(j,i)のうち全周波数帯域信号に相当する周波数帯域(すなわち低周波数帯域信号に相当する周波数帯域と高周波数信号に相当する周波数帯域)の信号電力を算出して、算出した信号電力に応じて復号装置にて時間エンベロープ算出処理を実施するか否かの時間エンベロープ算出制御情報を生成してもよい。
さらには、時間エンベロープ算出制御情報生成部2jは、第1〜第n低周波数帯域時間エンベロープ算出部2e1〜2enにて算出される第1〜第n低周波数帯域時間エンベロープに相当する部分の電力を算出して、算出した信号電力に応じて音声復号装置1にて時間エンベロープ算出処理に用いる低周波数帯域時間エンベロープの選択に関する時間エンベロープ算出制御情報を生成してもよい。
また、時間エンベロープ算出制御情報生成部2jは、周波数領域の信号X(j,i)のうち低周波数帯域信号に相当する周波数帯域の信号電力を算出し、算出した信号電力に応じて音声復号装置1における低周波数帯域時間エンベロープ算出方法に関する時間エンベロープ算出制御情報を生成してもよい。
本変形例においては、算出する信号電力の周波数帯域は限定されず、算出された信号電力に応じて生成される時間エンベロープ算出制御情報は上記第1の実施形態に係る音声復号装置1の第3〜第7の変形例における時間エンベロープ算出制御情報のうちのいずれか1つ以上であればよい。
さらには、時間エンベロープ算出制御情報生成部2jは、周波数領域の信号X(j,i)の信号特性を検出/測定し、信号特性に応じて、音声復号装置1にて時間エンベロープ算出処理を実施するか否かの時間エンベロープ算出制御情報を生成してもよい。
また、時間エンベロープ算出制御情報生成部2jは、周波数領域の信号X(j,i)の信号特性に応じて、音声復号装置1にて時間エンベロープ算出処理に用いる低周波数帯域時間エンベロープの選択に関する時間エンベロープ算出制御情報を生成してもよい。
さらには、時間エンベロープ算出制御情報生成部2jは、周波数領域の信号X(j,i)の信号特性に応じて、音声復号装置1における低周波数帯域時間エンベロープ算出方法に関する時間エンベロープ算出制御情報を生成してもよい。
なお、時間エンベロープ算出制御情報生成部2jで検出/測定される信号特性は、信号の立上り/立下りの急峻さに関する特性であってもよい。さらには、信号の定常性に関する特性であってもよい。さらには、信号のトーン性の強さに関する特性であってもよい。さらには上記の特性のうち少なくとも1つ以上であってもよい。
本変形例においては、検出/測定される信号特性は限定されず、検出/測定された信号特性に応じて生成される時間エンベロープ算出制御情報は第1の実施形態に係る音声復号装置1の第3〜第6の変形例における時間エンベロープ算出制御情報のうちのいずれか1つ以上であればよい。
また、時間エンベロープ算出制御情報生成部2jは、例えば時間エンベロープ情報算出部2fから受け取る上記時間エンベロープ情報Al,k(s)(1≦l≦nH,1≦k≦n,0≦s<sE)の値に応じて音声復号装置1にて時間エンベロープ算出処理を実施するか否かの時間エンベロープ算出制御情報を生成してもよい。さらには、時間エンベロープ算出制御情報生成部2jは、音声復号装置1にて時間エンベロープ算出処理に用いる低周波数帯域時間エンベロープの選択に関する時間エンベロープ算出制御情報を生成してもよい。さらには、音声復号装置1における低周波数帯域時間エンベロープ算出方法に関する時間エンベロープ算出制御情報を生成してもよい。
本変形例においては、時間エンベロープ情報に応じて生成される時間エンベロープ算出制御情報は第1の実施形態に係る音声復号装置1の第3〜第6の変形例における時間エンベロープ算出制御情報のうちのいずれか1つ以上であればよい。
また、時間エンベロープ算出制御情報生成部2jは、例えば、帯域分割フィルタバンク部2cから受け取る周波数領域の信号X(j,i)、及び量子化/符号化部2gから受け取る高周波数帯域生成用補助情報の符号化系列を用いて音声復号装置1にて時間エンベロープ算出処理を実施するか否かの時間エンベロープ算出制御情報を生成してもよい。さらには、時間エンベロープ算出制御情報生成部2jは、音声復号装置1にて時間エンベロープ算出処理に用いる低周波数帯域時間エンベロープの選択に関する時間エンベロープ算出制御情報を生成してもよい。さらには、時間エンベロープ算出制御情報生成部2jは、音声復号装置1における低周波数帯域時間エンベロープ算出方法に関する時間エンベロープ算出制御情報を生成してもよい。
より具体的には、時間エンベロープ算出制御情報生成部2jは、例えば、量子化/符号化部2gから受け取る高周波数帯域生成用補助情報の符号化系列を復号/逆量子化して局所復号高周波数帯域生成用補助情報を取得した後、当該局所復号高周波数帯域生成用補助情報、及び周波数領域の信号X(j,i)を用いて、擬似局所復号高周波数帯域信号を生成する。擬似局所復号高周波数帯域信号は、第1の実施形態に係る音声復号装置1の高周波数帯域生成部1hと同一の処理を実施することで生成可能である。生成された擬似局所復号高周波数帯域信号と、周波数領域の信号X(j,i)の高周波数帯域信号に相当する周波数帯域とを比較し、比較結果に基づいて時間エンベロープ算出制御情報を生成する。
ここで、擬似局所復号高周波数帯域信号と周波数領域の信号X(j,i)の高周波数帯域信号に相当する周波数帯域との比較は、当該両信号の差分信号を算出し、当該差分信号の電力の大きさに基づいてもよい。さらには、擬似局所復号高周波数帯域信号と周波数領域の信号X(j,i)の高周波数帯域信号に相当する周波数帯域の時間エンベロープを算出し、当該時間エンベロープの差分、または差分の大きさの少なくとも1つに基づいてもよい。
また、時間エンベロープ算出制御情報生成部2jは、例えば帯域分割フィルタバンク部2cから受け取る周波数領域の信号X(j,i)、時間エンベロープ情報算出部2fより受け取る時間エンベロープ情報、及び量子化/符号化部2gから受け取る高周波数帯域生成用補助情報の符号化系列を用いて音声復号装置1にて時間エンベロープ算出処理を実施するか否かの時間エンベロープ算出制御情報を生成してもよい。さらには、時間エンベロープ算出制御情報生成部2jは、音声復号装置1にて時間エンベロープ算出処理に用いる低周波数帯域時間エンベロープの選択に関する時間エンベロープ算出制御情報を生成してもよい。さらには、時間エンベロープ算出制御情報生成部2jは、音声復号装置1における低周波数帯域時間エンベロープ算出方法に関する時間エンベロープ算出制御情報を生成してもよい。
より具体的には、時間エンベロープ算出制御情報生成部2jは、擬似局所復号高周波数帯域信号を生成した後、時間エンベロープ情報算出部2fより受け取る時間エンベロープ情報を用いて当該擬似局所復号高周波数帯域信号の時間エンベロープを調整し、当該時間エンベロープを調整した擬似局所復号高周波数帯域信号と周波数領域の信号X(j,i)の高周波数帯域信号に相当する周波数帯域とを比較し、比較結果に基づいて時間エンベロープ算出制御情報を生成する。
また、時間エンベロープを調整した擬似局所復号高周波数帯域信号と周波数領域の信号X(j,i)の高周波数帯域信号に相当する周波数帯域との比較は、擬似局所復号高周波数帯域信号と周波数領域の信号X(j,i)の高周波数帯域信号に相当する周波数帯域との比較と同様にして実施できる。
また、第1の実施形態に係る音声符号化装置2の時間エンベロープ情報算出部2fにおいて、擬似局所復号高周波数帯域信号を用いて時間エンベロープ情報を算出してもよい。より具体的には、時間エンベロープ情報算出部2fにはさらに量子化/符号化部2gから受け取る高周波数帯域生成用補助情報の符号化系列が入力され、当該高周波数帯域生成用補助情報の符号化系列を復号/逆量子化して局所復号高周波数帯域生成用補助情報が取得された後、当該局所復号高周波数帯域生成用補助情報、及び周波数領域の信号X(j,i)を用いて、擬似局所復号高周波数帯域信号が生成される。
例えば、時間エンベロープ情報算出部2fは、時間エンベロープ情報より算出した時間エンベロープを用いて擬似局所復号高周波数帯域信号の時間エンベロープを調整した際に、周波数領域の信号X(j,i)の高周波数帯域信号に相当する周波数帯域に最も近づけることができる時間エンベロープ情報を、算出された時間エンベロープ情報として出力してもよい。ここで、周波数領域の信号X(j,i)の高周波数帯域信号に相当する周波数帯域に近いか否かの判断は、時間エンベロープを調整した擬似局所復号高周波数帯域信号と周波数領域の信号X(j,i)の高周波数帯域信号に相当する周波数帯域との差分信号に基づいてもよく、さらには当該両信号の時間エンベロープを算出し、その時間エンベロープの誤差に基づいてもよい。
また、時間エンベロープ算出制御情報生成部2jは、例えば、量子化/符号化部2gから受け取る時間エンベロープ情報の符号化に要した情報量(より具体的にはビット数)に応じて、音声復号装置1にて時間エンベロープ算出処理を実施するか否かの時間エンベロープ算出制御情報を生成してもよい。さらには、時間エンベロープ算出制御情報生成部2jは、音声復号装置1にて時間エンベロープ算出処理に用いる低周波数帯域時間エンベロープの選択に関する時間エンベロープ算出制御情報を生成してもよい。さらには、時間エンベロープ算出制御情報生成部2jは、音声復号装置1における低周波数帯域時間エンベロープ算出方法に関する時間エンベロープ算出制御情報を生成してもよい。
より具体的には、時間エンベロープ算出制御情報生成部2jは、例えば、量子化/符号化部2gから受け取る時間エンベロープ情報の符号化に要した情報量(より具体的にはビット数)が所定の閾値と等しい、または閾値よりも小さい場合は、音声復号装置1にて時間エンベロープ算出処理を実施するよう指示する時間エンベロープ算出制御情報を生成する。一方、時間エンベロープ算出制御情報生成部2jは、時間エンベロープ情報の符号化に要した情報量が閾値よりも大きい場合には、音声復号装置1にて時間エンベロープ算出処理を実施しないよう指示する時間エンベロープ算出制御情報を生成する。
さらには、時間エンベロープ情報の符号化に要した情報量が所定の閾値と等しい、または閾値よりも小さくなるように、音声復号装置1にて時間エンベロープ算出処理に用いる低周波数帯域時間エンベロープの選択に関する時間エンベロープ算出制御情報を生成してもよい。この際、時間エンベロープ情報の符号化に要した情報量と閾値の比較結果を時間エンベロープ情報算出部2fに通知し、時間エンベロープ情報算出部2fは通知された比較結果に応じて時間エンベロープ情報を算出しなおしても良い。なお、時間エンベロープ情報を算出しなおした場合は、量子化/符号化部2gは算出しなおされた時間エンベロープ情報を、符号化/量子化する。ここで、時間エンベロープ情報の算出しなおす回数は限定されない。
本変形例においては、時間エンベロープ情報の符号化に要した情報量に基づいて時間エンベロープ算出制御情報を算出すればよく、生成される時間エンベロープ算出制御情報は第1の実施形態に係る音声復号装置1の第3〜第6の変形例における時間エンベロープ算出制御情報のうちのいずれか1つ以上であればよい。
上述のようにして時間エンベロープ算出制御情報生成部2jによって生成された時間エンベロープ算出制御情報は、高周波数帯域符号化系列構成部2hによって高周波数帯域符号化系列にさらに加えられて高周波数帯域符号化系列が構成される。
[第1の実施形態の音声符号化装置の第2の変形例]
図19は、第1の実施形態に係る音声符号化装置2の第2の変形例の構成を示す図、図20は、図19の音声符号化装置2による音声符号化の手順を示すフローチャートである。
図19に示す音声符号化装置2は、第1の実施形態に係る音声符号化装置2に対して、低周波数帯域復号部2kがさらに追加されている。
この低周波数帯域復号部2kは、低周波数帯域符号化部2bから低周波数帯域符号化系列を受け取り、低周波数帯域符号化系列を復号逆量子化して局所復号低周波数信号を取得する。なお、低周波数帯域符号化部2bから量子化した低周波数帯域信号を取得可能な場合は、低周波数帯域復号部2kは量子化した低周波数帯域信号を逆量子化して局所復号低周波数信号を取得してもよい。これに対して、低周波数帯域時間エンベロープ算出部2e1〜2enにより、低周波数帯域復号部2kにて取得した局所復号低周波数信号を用いて、第1〜第nの低周波数帯域時間エンベロープが算出される。
なお、当該第1の実施形態に係る音声符号化装置2の第2の変形例は、第1の実施形態に係る音声符号化装置2の第1の変形例にも適用できる。
[第1の実施形態の音声符号化装置の第3の変形例]
図21は、第1の実施形態に係る音声符号化装置2の第3の変形例の構成を示す図、図22は、図21の音声符号化装置2による音声符号化の手順を示すフローチャートである。
図21に示す音声符号化装置2は、第1の実施形態に係る音声符号化装置2に対して、ダウンサンプリング部2aに代えて帯域合成フィルタバンク部2mを備える点が異なっている。
この帯域合成フィルタバンク部2mは、帯域分割フィルタバンク部2cから周波数領域の信号X(j,i)を受け取り、低周波数帯域信号に相当する周波数帯域について帯域合成してダウンサンプル信号を取得する。帯域合成によるダウンサンプル信号の取得は、例えば“ISO/IEC 14496-3”に規定される“MPEG4 AAC”のSBRにおけるダウンサンプルドシンセシスフィルタバンク(Downsampledsynthesis filterbank)の方法に従って行うことができる(“ISO/IEC 14496-3 subpart 4 General Audio Coding”)。
なお、当該第1の実施形態に係る音声符号化装置2の第3の変形例は、第1の実施形態に係る音声符号化装置2の第1〜第2の変形例にも適用できる。
第1の実施形態に係る音声符号化装置2の第4の変形例は、前記第1の実施形態係る音声符号化装置2の時間エンベロープ情報算出部2fにおいてg(l,i)を算出する際に、上記第1の実施形態に係る音声復号装置1の第7の変形例に対応する所定の処理を実施する。なお、第1の実施形態に係る音声復号装置1の第7の変形例と同様に、所定の処理を実施した後に低周波数帯域の時間エンベロープを用いてg(l,i)を算出してもよく、低周波数帯域の時間エンベロープを用いてg(l,i)を算出した後に所定の処理を実施してg(l,i)を算出してもよい。
なお、当該第1の実施形態に係る音声符号化装置2の第4の変形例は、第1の実施形態に係る音声符号化装置2の第1〜第3の変形例にも適用できる。
当該第1の実施形態に係る音声符号化装置2の第4の変形例を、第1の実施形態に係る音声符号化装置2の第1の変形例に適用する際には、上記H(l,i)に対するg(l,i)の誤差に基づいて、上記時間エンベロープ情報算出制御情報に、上記第1の実施形態に係る音声復号装置1において上記所定の処理を実施するか否かの情報を含んでもよい。
[第2実施形態]
次に、本発明の第2実施形態について説明する。
図23は、第2の実施形態に係る音声復号装置101の構成を示す図、図24は、図23の音声復号装置101による音声復号の手順を示すフローチャートである。図23に示す音声復号装置101の第1の実施形態に係る音声復号装置1との相違点は、周波数エンベロープ重畳部(周波数エンベロープ重畳手段)1qがさらに追加されている点と、時間エンベロープ調整部1iの代わりに時間/周波数エンベロープ調整部(時間周波数エンベロープ調整手段)1pが備えられている点である(1c〜1e、1h、1j、及び1pは帯域拡張部(帯域拡張手段)と呼ぶこともある。)。
符号化系列解析部1dは、非多重化部1aから与えられた高周波数帯域符号化系列を解析し、符号化された高周波数帯域生成用補助情報と、量子化された時間/周波数エンベロープ情報を取得する。
符号化系列復号/逆量子化部1eは、符号化系列解析部1dから与えられた符号化された高周波数帯域生成用補助情報を復号し、高周波数帯域生成用補助情報を得ると共に、符号化系列解析部1dから与えられた量子化された時間/周波数エンベロープ情報を逆量子化し時間/周波数エンベロープ情報を取得する。
周波数エンベロープ重畳部1qは、時間エンベロープ算出部1gからは時間エンベロープET(l,i)を、符号化系列復号/逆量子化部1eからは周波数エンベロープ情報を受け取る。そして、周波数エンベロープ重畳部1qは、周波数エンベロープ情報から周波数エンベロープを算出し、周波数エンベロープを時間エンベロープに重畳する。詳細には、例えば、周波数エンベロープ重畳部1qは以下のような手順で処理する。
まず、周波数エンベロープ重畳部1qは、時間エンベロープを下記式により変換する。
次に、周波数エンベロープ重畳部1qは、高周波数帯域をmH(mH≧1)個の副周波数帯に分割する。ここで、これらの副周波数帯をB(F) k(k=1,2,3,・・・,mH)と表記する。また、以下では、記述の簡単化のため、副周波数帯B(F) k(1≦k≦mH)の境界を表すmH+1個のインデックスを要素とする配列GHを、信号XH(j,i)、GH(k)≦j<GH(k+1)、t(s)≦i<t(s+1)、0≦s<sEが、副周波数帯B(F) kの成分に対応するように定義する。ただし、GH(1)=kx、GH(mH+1)=kmax+1である。
続いて、周波数エンベロープ重畳部1qは、周波数エンベロープを次の数式により算出する。
ここで、上記sf
dec(k,s)(ただし、1≦k≦m
H、0≦s<s
E)は、副周波数帯B
(F) kに対応するスケールファクタである。
なお、上記周波数エンベロープは、次の数式により算出してもよい。
本実施形態においては、上記E
F,dec(k,s)の形態は上記例に限定されない。
ここで、周波数エンベロープ重畳部1qは、上記sf
dec(k,s)を次のような方法で算出する。まず、上記sf
dec(k,s)の内、いくつかの副周波数帯に対応するものは、下記式で表されるように、時間によらない定数とする(以降、これらの副周波数帯に対応するインデックスkの集まりをN
Cと標記する)。
ここで、C=0としてもよいが、本実施形態においては、Cの値は規定されない。そして、周波数エンベロープ重畳部1qは、整数1が集合N
cに含まれなければ、周波数エンベロープ情報から、スケールファクタsf
dec(1、s)、0≦s<sを取得する。
その後、周波数エンベロープ重畳部1qは、下記の(ステップk)の処理をk=2からk=m
Hまで繰り返し、上記スケールファクタを算出する。
(ステップk)
整数kが集合Ncに含まれなければ、周波数エンベロープ情報から、スケールファクタの差分dsf
dec(k、s)、0≦s<sを取得し、下記式;
によりスケールファクタを算出し、整数kに1を加算して次の(ステップk)の処理に進む。一方、整数kが集合N
cに含まれる場合は、そのまま、整数kに1を加算して次の(ステップk)の処理に進む。
また、周波数エンベロープ情報から、スケールファクタの差分sfdec(1、s)、0≦s<sEを受け取る場合は、sfdec(0、s)、0≦s<sEを、帯域分割フィルタバンク部1cから受け取った、周波数領域信号の低周波数帯域成分を用いて算出し、上記ステップkの処理を実施してもよい。例えば、後述する数式63、64、及び65において、X(j,i)をXdec(j,i)に置き換え、k=0において0≦kl≦kh<kxを満たす所定のkl、およびkhを用いて算出したsf(0、s)をsfdec(0、s)としてもよい。
ここでは、上記の例と異なり、周波数エンベロープ情報が、スケールファクタsf
dec(k,s)自体に対応するとしてもよい。また、周波数エンベロープ情報は、第s(s≧1)番目のフレームにおけるスケールファクタsf
dec(k、s)、1≦k≦m
Hを、第s−1番目のフレームにおけるスケールファクタsf
dec(k、s−1)を用いて、下記式で算出する際の、時間方向の差分dtsf(s、k)、1≦s<s
E、1≦k≦m
Hであってもよい。
ただし、この場合、初期値に対応する、sf
dec(k、0)、1≦k≦m
Hは上記の方法等、別の手段を用いて取得する。
さらには、低周波数帯域成分のスケールファクタ、及び高周波数帯域の副周波数帯のスケールファクタのうちの少なくとも1つ以上から、前記副周波数帯のスケールファクタを内挿・外挿を用いて求めても良い。このとき、周波数エンベロープ情報は、上記内挿・外挿に用いる副帯域のスケールファクタ、および、高周波数帯域内の内挿・外挿パラメータである。なお、上記低周波数帯域成分のスケールファクタの算出には、帯域分割フィルタバンク部1cから受け取った、周波数領域信号の低周波数帯域成分を用いる。
また、内挿・外挿パラメータは所定のパラメータでもよい。さらには、前記所定の内挿・外挿パラメータ、及び周波数エンベロープ情報に含まれる内挿・外挿パラメータから実際に内挿・外挿に用いるパラメータを算出して、前記スケールファクタの内挿・外挿をしてもよい。さらには、周波数エンベロープ情報を受け取らない場合、及び周波数エンベロープ情報が内挿・外挿パラメータを含まない場合のうち少なくとも1つ以上の場合には、所定の内挿・外挿パラメータのみを用いて、前記スケールファクタの内挿・外挿をしてもよい。なお、本実施形態においては、上記、内挿・外挿の方法は限定されない。
なお、上記の周波数エンベロープ情報の形態は、一例であり、高周波数帯域の副帯域ごとの信号電力または信号振幅の周波数方向の変動を表すパラメータであればよい。本実施形態においては、周波数エンベロープ情報の形態は限定されない。
次に、周波数エンベロープ重畳部1qは、上記E
F(k,s)を次の数式を用いて変換する。
続いて、周波数エンベロープ重畳部1qは、上記のようにして変換された時間エンベロープE
0(m,i)、および、周波数エンベロープE
1(m,i)を用いて、下記式により、量E
2(m,i)を算出する。
また、上記E
2(m,i)は、下記式で与えられる形態であってもよい。
さらに、下記式で与えられる形態であってもよい。
ここで、Q(m)、0≦m<k
max−k
xは、下記式の条件を満たす整数である。
また、下記式のような形態であってもよい。
ただし、本発明においては、上記E
2(m,i)の形態は、上記例に限定されない。
次に、周波数エンベロープ重畳部1qは、上記E
2(m,i)を用いて量E(m,i)を下記式によって算出する。
ここで、係数C(s)は、下記式で与えられる。
時間/周波数エンベロープ調整部1pは、高周波数帯域生成部1hから与えられた高周波数帯域信号XH(j,i)、kx≦j<kmaxの時間/周波数エンベロープを、周波数エンベロープ重畳部1qから与えられた時間/周波数エンベロープE1(m,i)を用いて調整する。
なお、本発明の第1の実施形態に係る音声復号装置1の第1〜第6の変形例は、当該本発明の第2の実施形態に係る音声復号装置101に適用してもよい。
図25は、第2の実施形態に係る音声符号化装置102の構成を示す図、図26は、図25の音声符号化装置102による音声符号化の手順を示すフローチャートである。図25に示す音声符号化装置102の第1の実施形態に係る音声符号化装置2との相違点は、周波数エンベロープ情報算出部2nがさらに追加されている点である。
すなわち、周波数エンベロープ情報算出部2nは、帯域分割フィルタバンク部2cから、高周波数帯域の信号X(j,i){0≦j<N、0≦i<t(sE)}を与えられ、周波数エンベロープ情報を算出する。詳細には、周波数エンベロープ情報の算出は以下のように行われる。
まず、周波数エンベロープ情報算出部2nは、副周波数帯B
(F) k(ただし、k=1,2,3,・・・,m
H)上の電力の周波数エンベロープを下記式により算出する。
続いて、周波数エンベロープ情報算出部2nは、副周波数帯B
(F) kのスケールファクタsf(k、s)、1≦k≦m
Hを算出する。上記sf(k、s)は、例えば、下記式により算出する。
また、周波数エンベロープ情報算出部2nは、上記sf(k、s)を“ISO/IEC 14496-3 4.B.18”に記載の方法に従って、下記式により算出してもよい。
また、音声復号装置101側に対応して、下記式;
によって設定しても良い。
そして、周波数エンベロープ情報算出部2nは、周波数エンベロープ情報を、上記スケールファクタsf(k、s)(1≦k≦m
H)としても良い。また、周波数エンベロープ情報は下記式のような形態であってもよい。すなわち、上記スケールファクタsf(k,s)の差分を、下記式;
により定義し、上記dsf(k、s)とsf(1、s)(0≦s<s
E)を周波数エンベロープ情報としてもよい。
また、第2の実施形態に係る音声復号装置101の周波数エンベロープ重畳部1qと同様に、低周波数帯域の周波数領域の信号X(j,i)(0≦j<kx)を用いて上記スケールファクタsf(0,s)を算出し、当該スケールファクタsf(0,s)より算出したdsf(1、s)を周波数エンベロープ情報に含んでもよい。
また、周波数エンベロープ情報は、高周波数帯域の上記スケールファクタを低周波数帯域成分のスケールファクタから外挿して近似する際の、低周波数帯域からの外挿のパラメータであってもよい。また、周波数エンベロープ情報は、高周波数帯域のうちのいくつかの副周波数帯のスケールファクタから、これらの副周波数帯以外の部分を内挿・外挿を用いて求める際の、副帯域のスケールファクタ、および、高周波数帯域内の内挿・外挿パラメータである。前者と後者の形態をあわせたものが周波数エンベロープ情報であってもよい。
なお、本発明において、上記周波数エンベロープ情報は、上記例に限定されない。
周波数エンベロープ情報の量子化・符号化方法としては、例えば、周波数エンベロープ情報をスカラ量子化した後、ハフマン符号や算術符号に代表されるエントロピー符号化をしてもよい。さらには、周波数エンベロープ情報を所定の符号帳によりベクトル量子化し、そのインデックスを符号としてもよい。
具体的には、例えば、上記スケールファクタsf(k,s)をスカラ量子化した後、ハフマン符号や算術符号に代表されるエントロピー符号化をしてもよい。さらには、上記dsf(k,s)をスカラ量子化した後、エントロピー符号化してもよい。さらには、上記スケールファクタsf(k,s)を所定の符号帳によりベクトル量子化し、そのインデックスを符号としてもよい。さらには、上記dsf(k,s)を所定の符号帳によりベクトル量子化し、そのインデックスを符号としてもよい。さらにはスカラ量子化したスケールファクタsf(k,s)の差分をエントロピー符号化してもよい。
例えば、“ISO/IEC 14496-3 4.B.18”に記載の方法に従い、上記式のsf(k,s)を用いて、下記式;
によってE
Delta(k,s)を算出し、E
Delta(k,s)をハフマン符号化してもよい。
ここで、ある整数lが集合Ncに含まれるとき、sf(l、s)(0≦s<sE)やdsf(l、s)(0≦s<sE)の上記量子化・符号化を省略しても良い。
なお、本発明において、上記周波数エンベロープ情報の量子化・符号化は、上記の例に限定されない。
なお、本発明の第1の実施形態に係る音声符号化装置2の第1〜第4の変形例は、当該本発明の第2の実施形態に係る音声符号化装置102に適用してもよい。例えば、図27は、本発明の第1実施形態に係る音声符号化装置2の第1の変形例を、本発明の第2の実施形態に係る音声符号化装置102に適用した際の構成を示す図であり、図28は、図27の音声符号化装置102による音声符号化の手順を示すフローチャートである。また、図29は、本発明の第1実施形態に係る音声符号化装置2の第2の変形例を、本発明の第2の実施形態に係る音声符号化装置102に適用した際の構成を示す図であり、図30は、図29の音声符号化装置102による音声符号化の手順を示すフローチャートである。
[第3実施形態]
次に、本発明の第3実施形態について説明する。
図31は、第3の実施形態に係る音声復号装置201の構成を示す図、図32は、図31の音声復号装置201による音声復号の手順を示すフローチャートである。図31に示す音声復号装置201の第1の実施形態に係る音声復号装置1との相違点は、時間エンベロープ算出制御部1sがさらに追加されている点と、符号化系列復号/逆量子化部1e及び時間エンベロープ調整部1iの代わりに符号化系列復号/逆量子化部1r及びエンベロープ調整部1tが備えられている点である(1c〜1d、1h、1j、及び1r〜1tは帯域拡張部(帯域拡張手段)と呼ぶこともある。)。
符号化系列解析部1dは、非多重化部1aから与えられた高周波数帯域符号化系列を解析し、符号化された高周波数帯域生成用補助情報、及び時間エンベロープ算出制御情報を得て、さらには符号化された時間エンベロープ情報、または符号化された第2周波数エンベロープ情報を得る。
符号化系列復号/逆量子化部1rは、符号化系列解析部1dから与えられた符号化された高周波数帯域生成用補助情報を復号し、高周波数帯域生成用補助情報を得る。
高周波数帯域生成部1hは、帯域分割フィルタバンク部1cから与えられた、低周波数帯域の信号Xdec(j,i)、0≦j<kxを、符号化系列復号/逆量子化部1rから与えられた高周波数帯域生成用補助情報を用いて高周波数帯域に複写することにより、高周波数帯域の信号Xdec(j,i),kx≦j≦kmaxを生成する。
時間エンベロープ算出制御部1sは、符号化系列解析部1dから与えられた時間エンベロープ算出制御情報に基づき、エンベロープ調整部1tは高周波数帯域の信号のエンベロープを第2周波数エンベロープ情報で調整するか否かを調べる。エンベロープ調整部1tが高周波数帯域の信号のエンベロープを第2周波数エンベロープ情報で調整しない場合は、符号化系列復号/逆量子化部1rは、符号化系列解析部1dから与えられた、符号化された時間エンベロープ情報を復号/逆量子化して時間エンベロープ情報を得る。一方、エンベロープ調整部1tが高周波数帯域の信号のエンベロープを第2周波数エンベロープ情報で調整する場合は、時間エンベロープ算出制御部1sは、低周波数帯域時間エンベロープ算出部1f1〜1fnには低周波数帯域時間エンベロープ算出制御信号を、時間エンベロープ算出部1gには時間エンベロープ算出制御信号を出力して、低周波数帯域時間エンベロープ算出部1f1〜1fnおよび時間エンベロープ算出部1gにてエンベロープ算出の処理をしないように指示する。
また、符号化系列復号/逆量子化部1rは、符号化系列解析部1dから与えられた、符号化された第2周波数エンベロープ情報を復号/逆量子化して第2周波数エンベロープ情報を得る。さらに、この場合には、エンベロープ調整部1tは、高周波数帯域生成部1hから与えられた高周波数帯域信号XH(j,i)(kx≦j<kmax)の周波数エンベロープを、符号化系列復号/逆量子化部1rから与えられた第2周波数エンベロープ情報を用いて調整する。
具体的には、復号/逆量子化された上記第2周波数エンベロープ情報を用いて、音声復号装置101の周波数エンベロープ重畳部1qにおけるE
F,dec(k,s)の算出方法に従い、上記E
F,dec(k,s)に対応する量E
3(k,s)、1≦k≦m
H、0≦s<s
Eを算出し、さらに、上記E
3(k,s)を下記式により変換する。
その後の処理は、音声復号装置101の時間/周波数エンベロープ調整部1pにおける処理手順に従い、エンベロープを調整された高周波数帯信号Y(i,j){kx≦j≦kmax、t(s)≦i<t(s+1)、0≦s<sE}を取得する。
なお、本発明第1の実施形態に係る音声復号装置1の第1〜第7の変形例は、当該本発明第3の実施形態に係る音声復号装置201に適用してもよい。
図35は、第3の実施形態に係る音声符号化装置202の構成を示す図、図36は、図35の音声符号化装置202による音声符号化の手順を示すフローチャートである。図35に示す音声符号化装置202の第1の実施形態に係る音声符号化装置2との相違点は、時間エンベロープ算出制御情報生成部2j及び第2周波数エンベロープ情報算出部2oがさらに追加されている点である。
第2周波数エンベロープ情報算出部2oは、帯域分割フィルタバンク部2cから、高周波数帯域の信号X(j,i){kx≦j<N、t(s)≦i<t(s+1)、0≦s<sE}を与えられ、第2周波数エンベロープ情報を算出する(ステップS207の処理)。
この第2周波数エンベロープ情報は、前記第2の実施形態に係る音声符号化装置102における周波数エンベロープ情報の算出方法と同様な方法で求めてもよい。ただし、本実施形態において、第2周波数エンベロープ情報の算出方法は限定されない。
量子化/符号化部2gは、時間エンベロープ情報、及び第2周波数エンベロープ情報を、量子化・符号化する。時間エンベロープ情報は、第1及び第2の実施形態の音声符号化装置の量子化/符号化部2gにおける量子化・符号化と同様にできる。第2周波数エンベロープ情報は、第2の実施形態の音声符号化装置の量子化/符号化部2gにおける周波数エンベロープ情報の量子化・符号化と同様にできる。ただし、本実施形態において、時間エンベロープ情報、及び第2周波数エンベロープ情報の量子化・符号化方法は限定されない。
時間エンベロープ算出制御情報生成部2jは、帯域分割フィルタバンク部2cから受け取る周波数領域の信号X(j,i)、時間エンベロープ情報算出部2fから受け取る時間エンベロープ情報、及び第2周波数エンベロープ情報算出部2oから受け取る第2周波数エンベロープ情報のうち少なくとも1つ以上を用いて時間エンベロープ算出制御情報を生成する(ステップS209の処理)。生成される時間エンベロープ算出制御情報は、上記第3の実施形態に係る音声復号装置201における時間エンベロープ算出制御情報であればよい。
時間エンベロープ算出制御情報生成部2jは、例えば、第1の実施形態例の音声符号化装置2の第1の変形例と同様でもよい。
時間エンベロープ算出制御情報生成部2jは、例えば第1の実施形態の音声符号化装置2の第1の変形例と同様に、時間エンベロープ情報と第2周波数エンベロープ情報を用いて擬似局所復号高周波数帯域信号をそれぞれ生成し、原信号と比較する。第2周波数エンベロープ情報を用いて生成した擬似局所復号高周波数帯域信号の方が原信号に近い場合、時間エンベロープ算出制御情として、復号装置にて第2周波数エンベロープ情報にて高周波数帯域信号を調整することを指示する情報を生成する。上記各擬似局所復号高周波数帯域信号と原信号の比較は、例えば差分信号を算出して、差分信号が小さいか否かによるものでもよい。さらには、上記各擬似局所復号高周波数帯域信号、及び原信号の時間エンベロープを算出した上で、上記各擬似局所復号高周波数帯域信号と原信号の時間エンベロープの差分を算出し、前記差分が小さいか否かによるものでもよい。さらには、上記原信号との差分信号、または/およびエンベロープの差分の最大値が小さいか否かによるものでもよい。本実施形態において、比較方法は上記の方法に限定されない。
時間エンベロープ算出制御情報生成部2jは、上記時間エンベロープ算出制御情報を生成する際に、量子化された時間エンベロープ情報、及び量子化された第2周波数エンベロープ情報のうち少なくとも一つをさらに用いてもよい。
符号化構成部2hは、符号化/逆量子化部2gから受け取る符号化された高周波数帯域生成用補助情報と、時間エンベロープ算出制御情報が、復号装置にて第2周波数エンベロープ情報にて高周波数帯域信号を調整することを指示する情報の場合には符号化された第2周波数エンベロープ情報とで、上記に該当しない場合は符号化された時間エンベロープ情報とで、高周波数帯域符号化系列を構成する(ステップS211の処理)。
なお、本発明の第1の実施形態に係る音声符号化装置2の第1〜第4の変形例は、当該本発明第3の実施形態に係る音声符号化装置202に適用してもよい。
[第4実施形態]
次に、本発明の第4実施形態について説明する。
図33は、第4の実施形態に係る音声復号装置301の構成を示す図、図34は、図33の音声復号装置301による音声復号の手順を示すフローチャートである。図33に示す音声復号装置201の第1の実施形態に係る音声復号装置1との相違点は、時間エンベロープ算出制御部1s及び周波数エンベロープ重畳部1uがさらに追加されている点と、符号化系列復号/逆量子化部1e及び時間エンベロープ調整部1iの代わりに符号化系列復号/逆量子化部1r及び時間/周波数エンベロープ調整部1vが備えられている点である(1c〜1d、1h、1j、1r〜1s、及び1u〜1vは帯域拡張部(帯域拡張手段)と呼ぶこともある。)。
符号化系列解析部1dは、非多重化部1aから与えられた高周波数帯域符号化系列を解析し、符号化された高周波数帯域生成用補助情報、及び時間エンベロープ算出制御情報を得て、さらには符号化された時間エンベロープ情報、及び符号化された周波数エンベロープ情報、または符号化された第2周波数エンベロープ情報を得る。
時間エンベロープ算出制御部1sは、符号化系列解析部1dから与えられた時間エンベロープ算出制御情報に基づき、エンベロープ調整部1vは高周波数帯域の信号のエンベロープを第2周波数エンベロープ情報で調整するか否かを調べ、時間/周波数エンベロープ調整部1vが高周波数帯域の信号のエンベロープを第2周波数エンベロープ情報で調整しない場合は、符号化系列復号/逆量子化部1rは、符号化系列解析部1dから与えられた、符号化された時間エンベロープ情報を復号/逆量子化して時間エンベロープ情報を得る。
一方、時間/周波数エンベロープ調整部1vが高周波数帯域の信号のエンベロープを第2周波数エンベロープ情報で調整する場合は、第3の実施形態のステップS190の処理と同様に処理する。また、時間/周波数エンベロープ調整部1vの処理も第3の実施形態のステップS191の処理と同様である。
なお、本発明第1の実施形態に係る音声復号装置1の第1〜第7の変形例は、当該本発明第4の実施形態に係る音声復号装置301に適用してもよい。
図37は、第4の実施形態に係る音声符号化装置302の構成を示す図、図38は、図37の音声符号化装置302による音声符号化の手順を示すフローチャートである。図37に示す音声符号化装置302の第1の実施形態に係る音声符号化装置2との相違点は、時間エンベロープ算出制御情報生成部2j、周波数エンベロープ情報算出部2p、及び第2周波数エンベロープ情報算出部2oがさらに追加されている点である。
量子化/符号化部2gは、時間エンベロープ情報、周波数エンベロープ情報、及び第2周波数エンベロープ情報を、量子化・符号化する。この時間エンベロープ情報は、第1及び第2の実施形態の符号化装置の量子化/符号化部2gにおける量子化・符号化と同様にできる。周波数エンベロープ情報、第2周波数エンベロープ情報は、第2の実施形態の符号化装置の量子化/符号化部2gにおける周波数エンベロープ情報の量子化・符号化と同様にできる。ただし、本発明において、時間エンベロープ情報、及び第2周波数エンベロープ情報の量子化・符号化方法は限定されない。
時間エンベロープ算出制御情報生成部2jは、帯域分割フィルタバンク部2cから受け取る周波数領域の信号X(j,i)、時間エンベロープ情報算出部2fから受け取る時間エンベロープ情報、周波数エンベロープ情報算出部2pから受け取る周波数エンベロープ情報、及び第2周波数エンベロープ情報算出部から受け取る第2周波数エンベロープ情報2oのうち少なくとも1つ以上を用いて時間エンベロープ算出制御情報を生成する(ステップS250の処理)。生成される時間エンベロープ算出制御情報は、上記第4の実施形態に係る音声復号装置301における時間エンベロープ算出制御情報であればよい。
時間エンベロープ算出制御情報生成部2jは、例えば、第1の実施形態の符号化装置2の第1の変形例と同様でもよい。さらには、時間エンベロープ算出制御情報生成部2jは、例えば、第3の実施形態に係る音声符号化装置202と同様でもよい。
時間エンベロープ算出制御情報生成部2jは、例えば第1の実施形態の符号化装置2の第1の変形例と同様に、時間エンベロープ情報と周波数エンベロープ情報、及び第2周波数エンベロープ情報を用いて擬似局所復号高周波数帯域信号をそれぞれ生成し、原信号と比較する。第2周波数エンベロープ情報を用いて生成した擬似局所復号高周波数帯域信号の方が原信号に近い場合、時間エンベロープ算出制御情報として、復号装置にて第2周波数エンベロープ情報にて高周波数帯域信号を調整することを指示する情報を生成する。
上記各擬似局所復号高周波数帯域信号と原信号の比較は、第3の実施形態に係る音声符号化装置202の時間エンベロープ算出制御情報生成部2jと同様でもよく、本実施形態において比較方法は限定されない。
時間エンベロープ算出制御情報生成部2jは、上記時間エンベロープ算出制御情報を生成する際に、量子化された時間エンベロープ情報、量子化された周波数エンベロープ情報、及び量子化された第2周波数エンベロープ情報のうち少なくとも一つをさらに用いてもよい。
符号化構成部2hは、符号化/逆量子化部1gから受け取る符号化された高周波数帯域生成用補助情報と、時間エンベロープ算出制御情報が、復号装置にて第2周波数エンベロープ情報にて高周波数帯域信号を調整することを指示する情報の場合には符号化された第2周波数エンベロープ情報とで、上記に該当しない場合は符号化された時間エンベロープ情報、及び符号化された周波数エンベロープ情報とで、高周波数帯域符号化系列を構成する(ステップS252の処理)。
なお、本発明の第1の実施形態に係る音声符号化装置2の第1〜第4の変形例は、当該本発明の第4の実施形態に係る音声符号化装置302に適用してもよい。
[第1の実施形態の音声復号装置の第8の変形例]
本変形例では、第1の実施形態にかかる音声復号装置1の時間エンベロープ算出部1gでは、算出した時間エンベロープに所定の関数に基づく処理を施す。例えば、時間エンベロープ算出部1gは、時間エンベロープを時間的に正規化する処理をし、下記式にて時間エンベロープE
T’(l, i)を算出する。
本変形例では、時間エンベロープE
T’(l, i)を算出した後では、それ以降の処理において量E
T(l,i)を量E
T’(l,i)に置き換えて処理することができる。
このような変形例によれば、高周波数帯域生成部1hで生成される高周波数帯域信号XH(j, i)のフレームsにおける周波数帯域FH(l)≦j<FH(l+1)のエネルギーの総量を変えずに,フレームsの周波数帯域FH(l)≦j<FH(l+1)内の高周波数帯域信号XH(j,i)(FH(l)≦j<FH(l+1))の時間的形状のみを調整できる。
なお、上記第1の実施形態にかかる音声復号装置1の第8の変形例は、第1の実施形態にかかる音声復号装置1の第1〜第7の変形例、及び第2〜第4の実施形態にかかる各音声復号装置にも適用可能であり、その際にはET(l, i)をET’(l, i)に置き換えればよい。
[第1の実施形態の音声復号装置の第9の変形例]
本変形例では、第1の実施形態にかかる音声復号装置1の第1〜第n低周波数帯域時間エンベロープ算出部1f1〜1fnにおいて、量L0(k, i)を時間方向に平滑化して時間エンベロープL1(k, i)を取得する際には、フレームs−1からフレームsに移行する際にL0(k,i)(t(s)-d≦i<t(s))を保持しておく。本変形例によれば、フレームs−1との境界に近いフレームsの量L0(k, i)(より具体的には、L0(k,i) (t(s)≦i<t(s)+d))に対しても平滑化ができる。
なお、上記第1の実施形態にかかる音声復号装置1の第9の変形例は第1の実施形態にかかる音声復号装置1の第1〜第8の変形例、及び第2〜第4の実施形態にかかる各音声復号装置にも適用可能である。
[第1の実施形態の音声符号化装置の第5の変形例]
本変形例では、第1の実施形態の音声符号化装置2にかかる時間エンベロープ情報算出部2fにおける時間エンベロープ情報の算出は、参照時間エンベロープH(l,i)と上記g(l,i)の相関に基づいて実施される。例えば、時間エンベロープ情報算出部2fは、以下のように時間エンベロープ情報を算出する。
すなわち、下記式により、H(l,i)とg(l,i)の相関係数corr(l)を算出する。
上記相関係数corr(l)を所定の閾値と比較し、その比較結果に基づいて時間エンベロープ情報を算出する。さらには、corr
2(l)に相当する値を求めて所定の閾値と比較し、その比較結果に基づいて時間エンベロープ情報を算出することでも実現できる。
例えば、以下のように時間エンベロープ情報を算出する。上述の相関係数と比較する所定の閾値をcorr
th(l)とし、g
dec(l,i)を数式21のとおり与えられるとして、下記式により時間エンベロープ情報を算出する。
上記の例で算出された時間エンベロープ情報が、第1の実施形態の復号装置1の第2の変形例に入力された際には、副周波数帯域B(T) lにおいて、Al,k(s)=0,Al,0(s)=const(0)の場合(すなわち、符号化装置にて相関係数が所定の閾値よりも小さかった場合)には、時間エンベロープ算出制御部1mにより、第k番目(k>0)の低周波数帯域時間エンベロープ算出部1fkに低周波数帯域時間エンベロープ算出制御信号を出力して、低周波数帯域時間エンベロープ算出部1fkでの低周波数帯域時間エンベロープ算出処理を実施しないように制御することになる。一方、Al,k(s)=const(k),Al,0(s)=0の場合(すなわち、符号化装置にて相関係数が所定の閾値よりも大きかった場合)には、時間エンベロープ算出制御部1mにより、第k番目(k>0)の低周波数帯域時間エンベロープ算出部1fkに低周波数帯域時間エンベロープ算出制御信号を出力して、低周波数帯域時間エンベロープ算出部1fkでの低周波数帯域時間エンベロープ算出処理を実施するように制御することになる。
なお、本変形例においては、参照時間エンベロープH(l,i)と上記g(l,i)の相関に基づいて時間エンベロープ情報を算出すればよく、上記の方法に限定されない。
上記第1の実施形態にかかる音声符号化装置2に記載した、参照時間エンベロープH(l,i)とg(l,i)の誤差(または重み付き誤差)に基づいて時間エンベロープ情報を算出する場合は、参照時間エンベロープH(l,i)とg(l,i)がどの程度一致するかに基づいて時間エンベロープ情報を算出する。一方、本変形例では、参照時間エンベロープH(l,i)とg(l,i)の形状がどの程度似ているかに基づいて時間エンベロープ情報を算出する。
なお、上記第1の実施形態にかかる音声符号化装置2の第5の変形例は、第1の実施形態の音声符号化装置2の第1〜第5の変形例、及び第2〜第4の実施形態にかかる音声符号化装置にも適用可能である。
[第2の実施形態の音声復号装置の第1の変形例]
本変形例では、第2の実施形態の音声復号装置101にかかる周波数エンベロープ重畳部1qにおいて、周波数エンベロープE
F,dec(k,s)に所定の関数に基づく処理を施す。例えば、周波数エンベロープ重畳部1qは、下記式にて与えられる周波数エンベロープE
F,dec(k,s)を平滑化する関数に基づく処理を施す。
ただし、
であり、sc
h(j)、d
hは、それぞれ所定の平滑化係数、平滑化次数である。この際には、以降の処理において、E
F,dec,Filt(k,i)をE
F,dec(k,s)として置き換えて処理を進めればよい。
さらには、上記数式73に当該周波数エンベロープEF,dec(k,s)に対応するフレームの信号特性に基づいて周波数エンベロープEF,dec(k,s)を平滑化するか否かを決定する関数を含むことができる。さらには、平滑化するか否かを示す情報が符号化系列に含まれており、その情報に基づいて周波数エンベロープEF,dec(k,s)を平滑化するか否かを決定する関数を含むことができる。
なお、上記第2の実施形態の音声復号装置101の第1の変形例は、第4の実施形態にかかる音声復号装置にも適用可能である。
[第2の実施形態の音声復号装置の第2の変形例]
第2の実施形態の音声復号装置101にかかる周波数エンベロープ重畳部1qにおいては、量E(m, i)はC(s)によりE
2(m, i)を補正した値になっている(数式60)。また、数式61によると、フレームsの帯域k
x≦m≦k
maxにおける時間/周波数エンベロープ調整後の高周波数帯域信号のエネルギーが、フレームsの帯域k
x≦m≦k
maxにおける時間エンベロープE
0(m,i)の総和になるように補正されている。一方、数式62によると、フレームsの帯域k
x≦m≦k
maxにおける時間/周波数エンベロープ調整後の高周波数帯域信号のエネルギーは、フレームsの帯域k
x≦m≦k
maxにおける周波数エンベロープE
1(m,i)の総和になるように補正されている。本変形例では、C(s)は、フレームsの帯域k
x≦m≦k
maxにおける時間/周波数エンベロープ調整後の高周波数帯域信号のエネルギーが時間/周波数エンベロープ調整後も保持されるように、下記式によって与えられる。
さらには、フレームsの帯域k
x≦m≦k
maxにおける時間/周波数エンベロープ調整後の高周波数帯域信号のエネルギーが、フレームsの帯域k
x≦m≦k
maxにおける時間エンベロープE
2(m,i)の総和になるように、C(s)を下記式によって与えることもできる。
なお、上記第2の実施形態の音声復号装置101の第2の変形例は、第2の実施形態の音声復号装置101の第1の変形例、及び第4の実施形態にかかる音声復号装置にも適用可能である。
[第2の実施形態にかかる音声復号装置の第3の変形例]
図39は、本発明の第2の実施形態に係る音声復号装置101の第3の変形例の構成を示す図、図40は、図39の音声復号装置101による音声復号の手順を示すフローチャートである。本変形例と第2の実施形態の音声復号装置101との相違点は、周波数エンベロープ重畳部1qに替えて周波数エンベロープ算出部1wを備える点である。
本変形例の周波数エンベロープ算出部1wは、第2の実施形態の周波数エンベロープ重畳部1qと同様に、周波数エンベロープE1(m,s)を算出する(ステップS119a)。
そして、時間/周波数エンベロープ調整部1pは、時間エンベロープET(l,i)、及び周波数エンベロープE1(m,s)を用いて、時間/周波数エンベロープの調整を、例えば以下のように行う(ステップS120)。
すなわち、時間/周波数エンベロープ調整部1pは、周波数エンベロープ重畳部1qと同様に、時間エンベロープET(l,i)をE0(m,i)に変換する。
また、“MPEG4 AAC”のSBRにおけるHFアジャストメント(HF adjustment)と同様に、符号化系列復号/逆量子化部1eによって与えられるフレームsにおけるノイズフロアー・スケールファクターQ(m,s)は下記式で変換する。
また、符号化系列復号/逆量子化部1eによって与えられるシヌソイドを付加するか否かを決めるパラメータより求められた量S(m,s)を用いて、フレームsにおけるシヌソイドのレベルが下記式によって与えられる。
また、ゲインは、周波数エンベロープE
1(m,s)、符号化系列復号/逆量子化部1eによって与えられるフレームsにおけるノイズフロアー・スケールファクターQ(m,s)、符号化系列復号/逆量子化部1eによって与えられるフレームsのパラメータに依存する関数であるδ(s)を用いて、下記式で与えられる。
ここで、量E
curr(m,s)は下記式により定義される。
また、下記式によっても定義できる。
また、S’(m,s)は、フレームsにおいて、インデックスmが表す周波数を含む副周波数帯B
(F) k(G
H(k)≦m<G
H(k+1))内に付加されるシヌソイドがあるか否かを表す関数であり、付加されるシヌソイドがある場合は“1”、それ以外の場合は“0”となる。
さらには、上記量E
curr(m,s)を用いて、下記量X’
H(m+k
x,i)を算出できる。
あるいは、上記量X’
H(m+k
x,i)は以下の式からも算出できる。
あるいは、上記量X’
H(m+k
x,i)は以下の式からも算出できる。
このように処理すれば、高周波数帯域信号XH(m+kx,i)を、周波数インデックスm、または副周波数帯域B(F) kにおいて時間方向に平坦化できる。従って、以降の処理を実施することで、高周波数帯域信号XH(m+kx,i)の時間エンベロープにはよらず、時間エンベロープ算出部1gにて算出された時間エンベロープに基づく高周波数帯域の信号を出力できる。
ここで、上記ゲイン,ノイズフロアー・スケールファクター,シヌソイドレベルに対し、所定の関数に基づく処理を施して、ゲインG2(m, s)、ノイズフロアー・スケールファクターQ3(m, s)、シヌソイドレベルS3(m, s)を算出できる。例えば、“MPEG4 AAC”のSBRにおけるHFアジャストメント(HF adjustment)と同様に、上記ゲイン,ノイズフロアー・スケールファクター,シヌソイドレベルに対し、不必要なノイズの付加を避けるためのゲイン制限(ゲインリミッタ Gain limiter)、ゲイン制限によるエネルギーの損失の補償(ゲインブースタ Gain booster)の関数に基づく処理を施して、ゲインG2(m, s)、ノイズフロアー・スケールファクターQ3(m, s)、シヌソイドレベルS3(m, s)を算出する(具体例については、ISO/IEC 1449-3 4.6.18.7.5を参照)。上記所定の処理を施した場合は、以降の処理において、G(m,s),Q2(m,s),S2(m,s)に代わって、G2(m,s),Q3(m,s),S3(m,s)を用いる。
上記により得られたゲインG(m,s)、ノイズフロアー・スケールファクターQ
2(m,s)、及び時間エンベロープE
0(m,i)を用いて下記式により与えられる量G
3(m,i)、Q
4(m,i)を算出する。下記式にて、ゲイン、及びノイズフロアー・スケールファクターを時間エンベロープに基づいて算出し、以降の処理を経て、最終的に時間/周波数エンベロープ調整部1pより時間/周波数エンベロープを調整済みの信号を出力することができる。
なお、上記式では、ゲイン,及びノイズフロアー・スケールファクターを時間エンベロープに基づいて算出したが、ゲイン,及びノイズフロアー・スケールファクターと同様に、シヌソイドレベルも時間エンベロープに基づいて算出できる。
さらに、上記G
3(m,i)、Q
4(m,i)に所定の関数に基づく処理を施してもよい。例えば、平滑化する関数に基づく処理である。下記式にて与えられるG
Filt(m,i)、Q
Filt(m,i)を算出する。
ただし、sc
h(j)、d
hは、それぞれ所定の平滑化係数、平滑化次数である。また、G
Temp(m,i)、Q
Temp(m,i)は下記式にて与えられる。
さらには、下記の関数に基づく処理によっても同様に平滑化の効果を得られる。
ただし、w
old(m,i)、w
curr(m,i)は、それぞれ所定の重み係数である。また、G
Temp(m,i)、Q
Temp(m,i)は下記式にて与えられる。
また、G
old(m)は1つ前のフレーム(具体的にはフレームs−1)におけるフレームsとの境界の時間インデックス(具体的にはt(s)-1)のゲインであり、下記式のいずれかにて与えられる。
上記所定の関数に基づく処理を施した場合は、以降の処理において、G
3(m,s),Q
4(m,s)に代わって、G
Filt(m,s),Q
Filt(m,s)を用いる。
また、上記平滑化をする関数は、符号化系列復号/逆量子化部1eによって与えられるフレームsのパラメータに基づいて上記平滑化をするか否かを決定する関数を含むことができる。さらには、平滑化するか否かを示す情報が符号化系列に含まれており、その情報に基づいて上記平滑化をするか否かを決定する関数を含むこともできる。さらには、上記のうち少なくとも一方に基づいて、上記平滑化をするか否かを決定する関数を含むことができる。
最後に、時間/周波数エンベロープ調整部1pは、下記式により、時間/周波数エンベロープ調整済みの信号を得る。
ここで、V
0、V
1はノイズ成分を規定する配列であり、fは、インデックスiを上記配列上のインデックスに写像する関数であり、φ
Re,sin、φ
Im,sinはシヌソイド成分の位相を規定する配列であり、f
sinは、インデックスiを上記配列上のインデックスに写像する関数である(具体例については、“ISO/IEC 14496-3 4.6.18”を参照)。
あるいは、上記数式97においては、XH(m+kx,i)に代わってX’H(m+kx,i)を用いることもできる。
なお、上述の“MPEG4 AAC”のSBRにおけるHFアジャストメントのゲインブースタを本発明の第2の実施形態の音声復号装置101にかかる周波数エンベロープ重畳部1qにて適用すると、副周波数帯域B
(F) k(G
H(k)≦j<G
H(k+1))ごとにフレームs単位で、ゲイン制限によるエネルギーの損失の補償をすることになる。一方で下記式によれば、副周波数帯域B
(F) k(G
H(k)≦j<G
H(k+1))ごとに高周波数帯域信号X
H(j,i)については時間インデックスi単位で、ゲイン制限によるエネルギーの損失の補償をすることになる。
上記式にて、ゲインG(m,s)、ノイズ・スケールファクターQ2(m,s)に対して、上述の“MPEG4 AAC”のSBRにおけるHFアジャストメントのゲインリミッタを適用できる。
上記ゲインG
2(m,i)、及びノイズ・スケールファクターQ
3(m,i)を用いて、数式89、90の代わりに、下記式にてG
Temp(m,i)、Q
Temp(m,i)は与えられる。
さらには、数式99を下記式に置き換えると、副周波数帯域B
(T) k(F
H(k)≦j<F
H(k+1))ごとに高周波数帯域信号X
H(j,i)については時間インデックスi単位で、ゲイン制限によるエネルギーの損失の補償をすることになる。
さらには、数式99を下記式に置き換えると、周波数インデックスmごとに高周波数帯域信号X
H(j,i)については時間インデックスi単位で、ゲイン制限によるエネルギーの損失の補償をすることになる。
あるいは、上記の量GBoostTemp(m.i)を算出する際に、XH(m+kx,i)に代わってX’H(m+kx,i)を用いることもできる。
第2の実施形態の音声復号装置101にかかる時間/周波数エンベロープ調整部1pにおいては、時間/周波数エンベロープの調整は、第1の実施形態の音声復号装置1にかかる時間エンベロープ調整部1iと同様に、周波数エンベロープ重畳部1qから受け取った量E(m,i)を用いて、“MPEG4 AAC”のSBRにおけるHFアジャストメント(HF Adjustment)と類似の手段により行われる。そのため、MPEG4 AAC”のSBRにおけるHFアジャストメント(HF adjustment)と同様に、ゲイン,ノイズフロアー・スケールファクター,シヌソイドレベルに対し、不必要なノイズの付加を避けるためのゲイン制限(ゲインリミッタ Gain limiter)、ゲイン制限によるエネルギーの損失の補償(ゲインブースタ Gain booster)の関数に基づく処理をする場合,当該処理を時間インデックスi(t(s)≦i<t(s+1))に対して実施する。一方、本変形例によると、ゲイン,ノイズフロアー・スケールファクター,シヌソイドレベルに対し、不必要なノイズの付加を避けるためのゲイン制限(ゲインリミッタ Gain limiter)、ゲイン制限によるエネルギーの損失の補償(ゲインブースタ Gain booster)の関数に基づく処理をする場合に、当該処理のうち少なくとも1つの処理はフレームsに対して実施すればよい。従って、本変形例では第2の実施形態の音声復号装置101に比べ、上記の処理の演算量を削減することができる。
なお、上記第2の実施形態の音声復号装置101の第3の変形例は、第2の実施形態の音声復号装置101の第1〜第2の変形例、及び第4の実施形態にかかる音声復号装置にも適用可能である。
[第2実施形態の音声復号装置101の第3の変形例の別の形態]
上記変形例において、第1の実施形態の音声復号装置1の第1、第2、第3の変形例、及び当該変形例の処理を少なくとも一つ以上実行する第1の実施形態の音声復号装置1の第5の変形例を適用した場合には、時間エンベロープ算出部1gが時間エンベロープET(l,i)を算出しない場合が生じる。このような場合は、E0(m,i)が必要な演算処理では、E0(m,i)を1に置き換えて実行する。この方法により、E0(m,i)、E0(m,i)のべき乗、E0(m,i)の平方根を乗じる処理を省略することができ、演算量を削減できる。なお、上記の方法を用いた処理では、時間/周波数エンベロープ調整部1pはE0(m,i)を算出する必要がない。
[第1の実施形態に係る音声符号化装置2の第6の変形例]
時間エンベロープ情報算出部2fは、帯域分割フィルタバンク部2cから得られる周波数領域の信号X(j,i)、音声符号化装置2の通信装置を介して受信された外部からの入力信号、および、ダウンサンプリング部2aからの出力として得られるダウンサンプルされた低周波数帯域の時間領域信号、のうちの少なくとも1つ以上の信号の特性に基づき、時間エンベロープ情報を算出する。上記信号の特性としては、例えば信号の、過渡性、トーナリティ、雑音性などがあるが、本変形例において、信号特性は、これらの具体例に限定されない。
なお、本変形例は、第1の実施形態の音声符号化装置2の第1〜第5の変形例、及び第2〜第4の実施形態にかかる音声符号化装置にも適用可能である。
[第1実施形態に係る音声符号化装置2の第7の変形例]
時間エンベロープ算出制御情報生成部2jは、帯域分割フィルタバンク部2cから得られる周波数領域の信号X(j,i)、音声符号化装置2の通信装置を介して受信された外部からの入力信号、および、ダウンサンプリング部2aからの出力として得られるダウンサンプルされた低周波数帯域の時間領域信号、のうちの少なくとも1つ以上の信号の信号特性に応じて、音声復号装置1における低周波数帯域時間エンベロープ算出方法に関する時間エンベロープ算出制御情報を生成する。上記信号の特性としては、例えば信号の、過渡性、トーナリティ、雑音性などがあるが、本変形例において、信号特性は、これらの具体例に限定されない。
なお、本変形例は、第1の実施形態の音声符号化装置2の第1〜第6の変形例、及び第2〜第4の実施形態にかかる音声符号化装置にも適用可能である。
[第1〜第4の実施形態の音声符号化装置の量子化/符号化部]
第1〜第4の実施形態の音声符号化装置の量子化/符号化部2gについては、ノイズフロアー・スケールファクターや、シヌソイドを付加するか否かを決めるパラメータも量子化・符号化してもよいことは明白である。
本発明の一側面に係る復号装置は、音声信号を符号化した符号化系列を復号する音声復号装置であって、符号化系列を、低周波数帯域符号化系列と高周波数帯域符号化系列とに非多重化する非多重化手段と、非多重化手段によって非多重化された低周波数帯域符号化系列を復号して低周波数帯域信号を得る低周波数帯域復号手段と、低周波数帯域復号手段によって得られた低周波数帯域信号を、周波数領域に変換する周波数変換手段と、非多重化手段によって非多重化された高周波数帯域符号化系列を解析して、符号化された高周波数帯域生成用補助情報および時間エンベロープ情報を取得する高周波数帯域符号化系列解析手段と、高周波数帯域符号化系列解析手段によって取得された高周波数帯域生成用補助情報および時間エンベロープ情報を復号および逆量子化する符号化系列復号逆量子化手段と、周波数変換手段によって周波数領域に変換された低周波数帯域信号から、符号化系列復号逆量子化手段で復号された高周波数帯域生成用補助情報を用いて、音声信号の周波数領域の高周波数帯域成分を生成する高周波数帯域生成手段と、周波数変換手段によって周波数領域に変換された低周波数帯域信号を分析して、複数の低周波数帯域の時間エンベロープを取得する第1〜第N(Nは2以上の整数)の低周波数帯域時間エンベロープ算出手段と、符号化系列復号逆量子化手段によって取得された時間エンベロープ情報、および低周波数帯域時間エンベロープ算出手段により取得された複数の低周波数帯域の時間エンベロープを用いて、高周波数帯域の時間エンベロープを算出する時間エンベロープ算出手段と、時間エンベロープ算出手段で取得された時間エンベロープを用いて、高周波数帯域生成手段で生成された高周波数帯域成分の時間エンベロープを調整する時間エンベロープ調整手段と、時間エンベロープ調整手段により調整された高周波数帯域成分と、低周波数帯域復号手段によって復号された低周波数帯域信号とを加算し、全周波数帯域成分を含む時間領域信号を出力する逆周波数変換手段と、を備える。
或いは、別の側面に係る復号装置は、 音声信号を符号化した符号化系列を復号する音声復号装置であって、符号化系列を、低周波数帯域符号化系列と高周波数帯域符号化系列とに非多重化する非多重化手段と、非多重化手段によって非多重化された低周波数帯域符号化系列を復号して低周波数帯域信号を得る低周波数帯域復号手段と、低周波数帯域復号手段によって得られた低周波数帯域信号を、周波数領域に変換する周波数変換手段と、非多重化手段によって非多重化された高周波数帯域符号化系列を解析して、符号化された高周波数帯域生成用補助情報、周波数エンベロープ情報、および時間エンベロープ情報を取得する高周波数帯域符号化系列解析手段と、高周波数帯域符号化系列解析手段によって取得された高周波数帯域生成用補助情報、周波数エンベロープ情報、および時間エンベロープ情報を復号および逆量子化する符号化系列復号逆量子化手段と、周波数変換手段によって周波数領域に変換された低周波数帯域信号から、符号化系列復号逆量子化手段で復号された高周波数帯域生成用補助情報を用いて、音声信号の周波数領域の高周波数帯域成分を生成する高周波数帯域生成手段と、周波数変換手段によって周波数領域に変換された低周波数帯域信号を分析して、複数の低周波数帯域の時間エンベロープを取得する第1〜第N(Nは2以上の整数)の低周波数帯域時間エンベロープ算出手段と、符号化系列復号逆量子化手段によって取得された時間エンベロープ情報、および低周波数帯域時間エンベロープ算出手段により取得された複数の低周波数帯域の時間エンベロープを用いて、高周波数帯域の時間エンベロープを算出する時間エンベロープ算出手段と、符号化系列復号逆量子化手段によって取得された周波数エンベロープ情報を、高周波数帯域の時間エンベロープに重畳して時間周波数エンベロープを取得する周波数エンベロープ重畳手段と、時間エンベロープ算出手段で取得された時間エンベロープ、および周波数周波数エンベロープ重畳手段で取得された時間周波数エンベロープを用いて、高周波数帯域生成手段で生成された高周波数帯域成分の時間エンベロープと周波数エンベロープを調整する、時間周波数エンベロープ調整手段と、時間周波数エンベロープ調整手段により調整された高周波数帯域成分と、低周波数帯域復号手段によって復号された低周波数帯域信号とを加算し、全周波数帯域成分を含む時間領域信号を出力する逆周波数変換手段と、を備える。
或いは、別の側面に係る復号装置は、音声信号を符号化した符号化系列を復号する音声復号装置であって、符号化系列を、低周波数帯域符号化系列と高周波数帯域符号化系列とに非多重化する非多重化手段と、非多重化手段によって非多重化された低周波数帯域符号化系列を復号して低周波数帯域信号を得る低周波数帯域復号手段と、低周波数帯域復号手段によって得られた低周波数帯域信号を、周波数領域に変換する周波数変換手段と、非多重化手段によって非多重化された高周波数帯域符号化系列を解析して、符号化された高周波数帯域生成用補助情報、周波数エンベロープ情報、および時間エンベロープ情報を取得する高周波数帯域符号化系列解析手段と、高周波数帯域符号化系列解析手段によって取得された高周波数帯域生成用補助情報、周波数エンベロープ情報、および時間エンベロープ情報を復号および逆量子化する符号化系列復号逆量子化手段と、周波数変換手段によって周波数領域に変換された低周波数帯域信号から、符号化系列復号逆量子化手段で復号された高周波数帯域生成用補助情報を用いて、音声信号の周波数領域の高周波数帯域成分を生成する高周波数帯域生成手段と、周波数変換手段によって周波数領域に変換された低周波数帯域信号を分析して、複数の低周波数帯域の時間エンベロープを取得する第1〜第N(Nは2以上の整数)の低周波数帯域時間エンベロープ算出手段と、符号化系列復号逆量子化手段によって取得された時間エンベロープ情報、および低周波数帯域時間エンベロープ算出手段により取得された複数の低周波数帯域の時間エンベロープを用いて、高周波数帯域の時間エンベロープを算出する時間エンベロープ算出手段と、符号化系列復号逆量子化手段によって取得された周波数エンベロープ情報を用いて、周波数エンベロープを算出する周波数エンベロープ算出手段と、時間エンベロープ算出手段で取得された時間エンベロープ、および周波数周波数エンベロープ算出手段で取得された周波数エンベロープを用いて、高周波数帯域生成手段で生成された高周波数帯域成分の時間エンベロープと周波数エンベロープを調整する、時間周波数エンベロープ調整手段と、時間周波数エンベロープ調整手段により調整された高周波数帯域成分と、低周波数帯域復号手段によって復号された低周波数帯域信号とを加算し、全周波数帯域成分を含む時間領域信号を出力する逆周波数変換手段と、を備える。
本発明の一側面に係る復号方法は、音声信号を符号化した符号化系列を復号する音声復号方法であって、非多重化手段が、符号化系列を、低周波数帯域符号化系列と高周波数帯域符号化系列とに非多重化する非多重化ステップと、低周波数帯域復号手段が、非多重化手段によって非多重化された低周波数帯域符号化系列を復号して低周波数帯域信号を得る低周波数帯域復号ステップと、周波数変換手段が、低周波数帯域復号手段によって得られた低周波数帯域信号を、周波数領域に変換する周波数変換ステップと、高周波数帯域符号化系列解析手段が、非多重化手段によって非多重化された高周波数帯域符号化系列を解析して、符号化された高周波数帯域生成用補助情報および時間エンベロープ情報を取得する高周波数帯域符号化系列解析ステップと、符号化系列復号逆量子化手段が、高周波数帯域符号化系列解析手段によって取得された高周波数帯域生成用補助情報および時間エンベロープ情報を復号および逆量子化する符号化系列復号逆量子化ステップと、高周波数帯域生成手段が、周波数変換手段によって周波数領域に変換された低周波数帯域信号から、符号化系列復号逆量子化手段で復号された高周波数帯域生成用補助情報を用いて、音声信号の周波数領域の高周波数帯域成分を生成する高周波数帯域生成ステップと、第1〜第N(Nは2以上の整数)の低周波数帯域時間エンベロープ算出手段が、周波数変換手段によって周波数領域に変換された低周波数帯域信号を分析して、複数の低周波数帯域の時間エンベロープを取得する第1〜第Nの低周波数帯域時間エンベロープ算出ステップと、時間エンベロープ算出手段が、符号化系列復号逆量子化手段によって取得された時間エンベロープ情報、および低周波数帯域時間エンベロープ算出手段により取得された複数の低周波数帯域の時間エンベロープを用いて、高周波数帯域の時間エンベロープを算出する時間エンベロープ算出ステップと、時間エンベロープ調整手段が、時間エンベロープ算出手段で取得された時間エンベロープを用いて、高周波数帯域生成手段で生成された高周波数帯域成分の時間エンベロープを調整する時間エンベロープ調整ステップと、逆周波数変換手段が、時間エンベロープ調整手段により調整された高周波数帯域成分と、低周波数帯域復号手段によって復号された低周波数帯域信号とを加算し、全周波数帯域成分を含む時間領域信号を出力する逆周波数変換ステップと、を備える。
或いは、本発明の別の側面に係る復号方法は、音声信号を符号化した符号化系列を復号する音声復号方法であって、非多重化手段が、符号化系列を、低周波数帯域符号化系列と高周波数帯域符号化系列とに非多重化する非多重化ステップと、低周波数帯域復号手段が、非多重化手段によって非多重化された低周波数帯域符号化系列を復号して低周波数帯域信号を得る低周波数帯域復号ステップと、周波数変換手段が、低周波数帯域復号手段によって得られた低周波数帯域信号を、周波数領域に変換する周波数変換ステップと、高周波数帯域符号化系列解析手段が、非多重化手段によって非多重化された高周波数帯域符号化系列を解析して、符号化された高周波数帯域生成用補助情報、周波数エンベロープ情報、および時間エンベロープ情報を取得する高周波数帯域符号化系列解析ステップと、符号化系列復号逆量子化手段が、高周波数帯域符号化系列解析手段によって取得された高周波数帯域生成用補助情報、周波数エンベロープ情報、および時間エンベロープ情報を復号および逆量子化する符号化系列復号逆量子化ステップと、高周波数帯域生成手段が、周波数変換手段によって周波数領域に変換された低周波数帯域信号から、符号化系列復号逆量子化手段で復号された高周波数帯域生成用補助情報を用いて、音声信号の周波数領域の高周波数帯域成分を生成する高周波数帯域生成ステップと、第1〜第N(Nは2以上の整数)の低周波数帯域時間エンベロープ算出手段が、周波数変換手段によって周波数領域に変換された低周波数帯域信号を分析して、複数の低周波数帯域の時間エンベロープを取得する第1〜第Nの低周波数帯域時間エンベロープ算出ステップと、時間エンベロープ算出手段が、符号化系列復号逆量子化手段によって取得された時間エンベロープ情報、および低周波数帯域時間エンベロープ算出手段により取得された複数の低周波数帯域の時間エンベロープを用いて、高周波数帯域の時間エンベロープを算出する時間エンベロープ算出ステップと、周波数エンベロープ重畳手段が、符号化系列復号逆量子化手段によって取得された周波数エンベロープ情報を、高周波数帯域の時間エンベロープに重畳して時間周波数エンベロープを取得する周波数エンベロープ重畳ステップと、時間周波数エンベロープ調整手段が、時間エンベロープ算出手段で取得された時間エンベロープ、および周波数周波数エンベロープ重畳手段で取得された時間周波数エンベロープを用いて、高周波数帯域生成手段で生成された高周波数帯域成分の時間エンベロープと周波数エンベロープを調整する、時間周波数エンベロープ調整ステップと、逆周波数変換手段が、時間周波数エンベロープ調整手段により調整された高周波数帯域成分と、低周波数帯域復号手段によって復号された低周波数帯域信号とを加算し、全周波数帯域成分を含む時間領域信号を出力する逆周波数変換ステップと、を備える。
或いは、本発明の別の側面に係る復号方法は、音声信号を符号化した符号化系列を復号する音声復号方法であって、非多重化手段が、符号化系列を、低周波数帯域符号化系列と高周波数帯域符号化系列とに非多重化する非多重化ステップと、低周波数帯域復号手段が、非多重化手段によって非多重化された低周波数帯域符号化系列を復号して低周波数帯域信号を得る低周波数帯域復号ステップと、周波数変換手段が、低周波数帯域復号手段によって得られた低周波数帯域信号を、周波数領域に変換する周波数変換ステップと、高周波数帯域符号化系列解析手段が、非多重化手段によって非多重化された高周波数帯域符号化系列を解析して、符号化された高周波数帯域生成用補助情報、周波数エンベロープ情報、および時間エンベロープ情報を取得する高周波数帯域符号化系列解析ステップと、符号化系列復号逆量子化手段が、高周波数帯域符号化系列解析手段によって取得された高周波数帯域生成用補助情報、周波数エンベロープ情報、および時間エンベロープ情報を復号および逆量子化する符号化系列復号逆量子化ステップと、高周波数帯域生成手段が、周波数変換手段によって周波数領域に変換された低周波数帯域信号から、符号化系列復号逆量子化手段で復号された高周波数帯域生成用補助情報を用いて、音声信号の周波数領域の高周波数帯域成分を生成する高周波数帯域生成ステップと、低周波数帯域時間エンベロープ算出手段が、周波数変換手段によって周波数領域に変換された低周波数帯域信号を分析して、複数の低周波数帯域の時間エンベロープを取得する第1〜第N(Nは2以上の整数)の低周波数帯域時間エンベロープ算出ステップと、時間エンベロープ算出手段が、符号化系列復号逆量子化手段によって取得された時間エンベロープ情報、および低周波数帯域時間エンベロープ算出手段により取得された複数の低周波数帯域の時間エンベロープを用いて、高周波数帯域の時間エンベロープを算出する時間エンベロープ算出ステップと、周波数エンベロープ算出手段が、符号化系列復号逆量子化手段によって取得された周波数エンベロープ情報を用いて、周波数エンベロープを算出する周波数エンベロープ算出ステップと、時間周波数エンベロープ調整手段が、時間エンベロープ算出手段で取得された時間エンベロープ、および周波数周波数エンベロープ算出手段で取得された周波数エンベロープを用いて、高周波数帯域生成手段で生成された高周波数帯域成分の時間エンベロープと周波数エンベロープを調整する、時間周波数エンベロープ調整ステップと、逆周波数変換手段が、時間周波数エンベロープ調整手段により調整された高周波数帯域成分と、低周波数帯域復号手段によって復号された低周波数帯域信号とを加算し、全周波数帯域成分を含む時間領域信号を出力する逆周波数変換ステップと、を備える。
本発明の一側面に係る復号プログラムは、音声信号を符号化した符号化系列を復号する音声復号プログラムであって、コンピュータを、符号化系列を、低周波数帯域符号化系列と高周波数帯域符号化系列とに非多重化する非多重化手段、非多重化手段によって非多重化された低周波数帯域符号化系列を復号して低周波数帯域信号を得る低周波数帯域復号手段、低周波数帯域復号手段によって得られた低周波数帯域信号を、周波数領域に変換する周波数変換手段、非多重化手段によって非多重化された高周波数帯域符号化系列を解析して、符号化された高周波数帯域生成用補助情報および時間エンベロープ情報を取得する高周波数帯域符号化系列解析手段、高周波数帯域符号化系列解析手段によって取得された高周波数帯域生成用補助情報および時間エンベロープ情報を復号および逆量子化する符号化系列復号逆量子化手段、周波数変換手段によって周波数領域に変換された低周波数帯域信号から、符号化系列復号逆量子化手段で復号された高周波数帯域生成用補助情報を用いて、音声信号の周波数領域の高周波数帯域成分を生成する高周波数帯域生成手段、周波数変換手段によって周波数領域に変換された低周波数帯域信号を分析して、複数の低周波数帯域の時間エンベロープを取得する第1〜第N(Nは2以上の整数)の低周波数帯域時間エンベロープ算出手段、符号化系列復号逆量子化手段によって取得された時間エンベロープ情報、および低周波数帯域時間エンベロープ算出手段により取得された複数の低周波数帯域の時間エンベロープを用いて、高周波数帯域の時間エンベロープを算出する時間エンベロープ算出手段、時間エンベロープ算出手段で取得された時間エンベロープを用いて、高周波数帯域生成手段で生成された高周波数帯域成分の時間エンベロープを調整する時間エンベロープ調整手段、及び時間エンベロープ調整手段により調整された高周波数帯域成分と、低周波数帯域復号手段によって復号された低周波数帯域信号とを加算し、全周波数帯域成分を含む時間領域信号を出力する逆周波数変換手段、として機能させる。
或いは、本発明の別の側面に係る復号プログラムは、音声信号を符号化した符号化系列を復号する音声復号プログラムであって、コンピュータを、符号化系列を、低周波数帯域符号化系列と高周波数帯域符号化系列とに非多重化する非多重化手段、非多重化手段によって非多重化された低周波数帯域符号化系列を復号して低周波数帯域信号を得る低周波数帯域復号手段、低周波数帯域復号手段によって得られた低周波数帯域信号を、周波数領域に変換する周波数変換手段、非多重化手段によって非多重化された高周波数帯域符号化系列を解析して、符号化された高周波数帯域生成用補助情報、周波数エンベロープ情報、および時間エンベロープ情報を取得する高周波数帯域符号化系列解析手段、高周波数帯域符号化系列解析手段によって取得された高周波数帯域生成用補助情報、周波数エンベロープ情報、および時間エンベロープ情報を復号および逆量子化する符号化系列復号逆量子化手段、周波数変換手段によって周波数領域に変換された低周波数帯域信号から、符号化系列復号逆量子化手段で復号された高周波数帯域生成用補助情報を用いて、音声信号の周波数領域の高周波数帯域成分を生成する高周波数帯域生成手段、周波数変換手段によって周波数領域に変換された低周波数帯域信号を分析して、複数の低周波数帯域の時間エンベロープを取得する第1〜第N(Nは2以上の整数)の低周波数帯域時間エンベロープ算出手段、符号化系列復号逆量子化手段によって取得された時間エンベロープ情報、および低周波数帯域時間エンベロープ算出手段により取得された複数の低周波数帯域の時間エンベロープを用いて、高周波数帯域の時間エンベロープを算出する時間エンベロープ算出手段、符号化系列復号逆量子化手段によって取得された周波数エンベロープ情報を、高周波数帯域の時間エンベロープに重畳して時間周波数エンベロープを取得する周波数エンベロープ重畳手段、時間エンベロープ算出手段で取得された時間エンベロープ、および周波数周波数エンベロープ重畳手段で取得された時間周波数エンベロープを用いて、高周波数帯域生成手段で生成された高周波数帯域成分の時間エンベロープと周波数エンベロープを調整する、時間周波数エンベロープ調整手段、及び時間周波数エンベロープ調整手段により調整された高周波数帯域成分と、低周波数帯域復号手段によって復号された低周波数帯域信号とを加算し、全周波数帯域成分を含む時間領域信号を出力する逆周波数変換手段、として機能させる。
或いは、本発明の別の側面に係る復号プログラムは、音声信号を符号化した符号化系列を復号する音声復号プログラムであって、コンピュータを、符号化系列を、低周波数帯域符号化系列と高周波数帯域符号化系列とに非多重化する非多重化手段、非多重化手段によって非多重化された低周波数帯域符号化系列を復号して低周波数帯域信号を得る低周波数帯域復号手段、低周波数帯域復号手段によって得られた低周波数帯域信号を、周波数領域に変換する周波数変換手段、非多重化手段によって非多重化された高周波数帯域符号化系列を解析して、符号化された高周波数帯域生成用補助情報、周波数エンベロープ情報、および時間エンベロープ情報を取得する高周波数帯域符号化系列解析手段、高周波数帯域符号化系列解析手段によって取得された高周波数帯域生成用補助情報、周波数エンベロープ情報、および時間エンベロープ情報を復号および逆量子化する符号化系列復号逆量子化手段、周波数変換手段によって周波数領域に変換された低周波数帯域信号から、符号化系列復号逆量子化手段で復号された高周波数帯域生成用補助情報を用いて、音声信号の周波数領域の高周波数帯域成分を生成する高周波数帯域生成手段、周波数変換手段によって周波数領域に変換された低周波数帯域信号を分析して、複数の低周波数帯域の時間エンベロープを取得する第1〜第N(Nは2以上の整数)の低周波数帯域時間エンベロープ算出手段、符号化系列復号逆量子化手段によって取得された時間エンベロープ情報、および低周波数帯域時間エンベロープ算出手段により取得された複数の低周波数帯域の時間エンベロープを用いて、高周波数帯域の時間エンベロープを算出する時間エンベロープ算出手段、符号化系列復号逆量子化手段によって取得された周波数エンベロープ情報を用いて、周波数エンベロープを算出する周波数エンベロープ算出手段、時間エンベロープ算出手段で取得された時間エンベロープ、および周波数周波数エンベロープ算出手段で取得された周波数エンベロープを用いて、高周波数帯域生成手段で生成された高周波数帯域成分の時間エンベロープと周波数エンベロープを調整する、時間周波数エンベロープ調整手段、及び時間周波数エンベロープ調整手段により調整された高周波数帯域成分と、低周波数帯域復号手段によって復号された低周波数帯域信号とを加算し、全周波数帯域成分を含む時間領域信号を出力する逆周波数変換手段、として機能させる。
このような復号装置、復号方法、或いは復号プログラムによれば、符号化系列から非多重化及び復号されて低周波数帯域信号が得られ、符号化系列から非多重化、復号、及び逆量子化されて高周波数帯域生成用補助情報及び時間エンベロープ情報が得られる。そして、高周波数帯域生成用補助情報を用いて周波数領域に変換された低周波数帯域信号から周波数領域の高周波数帯域成分が生成される一方で、周波数領域の低周波数帯域信号を分析して複数の低周波数帯域の時間エンベロープが取得された後に、その複数の低周波数帯域の時間エンベロープと、時間エンベロープ情報とを用いて、高周波数帯域の時間エンベロープが算出される。さらに、算出された高周波数帯域の時間エンベロープによって高周波数帯域成分の時間エンベロープが調整され、調整された高周波数帯域成分と低周波数帯域信号が加算されて時間領域信号が出力される。このように、高周波数帯域成分の時間エンベロープの調整用に複数の低周波数帯域の時間エンベロープが用いられるので、低周波数帯域成分の時間エンベロープと高周波数帯域成分の時間エンベロープとの相関を利用して高い精度で高周波数帯域成分の時間エンベロープの波形が調整される。その結果、復号信号における時間エンベロープが歪の少ない形状に調整され、プリエコーおよびポストエコーの十分に改善された再生信号を得ることができる。
ここで、周波数変換手段によって周波数領域に変換された低周波数帯域信号を用いて、第1〜第Nの低周波数帯域時間エンベロープ算出手段における低周波数帯域の時間エンベロープの算出、および時間エンベロープ算出手段における高周波数帯域の時間エンベロープの算出のうち少なくとも1つを制御する時間エンベロープ算出制御手段をさらに備える、ことが好適である。かかる時間エンベロープ算出制御手段を備えれば、低周波数帯域信号の電力等の性質に応じて低周波数帯域の時間エンベロープの算出、或いは、高周波数帯域の時間エンベロープの算出の処理を省略することができ、演算量を削減することができる。
また、符号化系列復号逆量子化手段によって取得した時間エンベロープ情報を用いて、第1〜第Nの低周波数帯域時間エンベロープ算出手段における低周波数帯域の時間エンベロープの算出、および時間エンベロープ算出手段における高周波数帯域の時間エンベロープの算出のうち少なくとも1つを制御する時間エンベロープ算出制御手段をさらに備える、ことも好適である。かかる時間エンベロープ算出制御手段を備えれば、符号化系列から得られた時間エンベロープ情報に応じて低周波数帯域の時間エンベロープの算出、或いは、高周波数帯域の時間エンベロープの算出の処理を省略することができ、演算量を削減することができる。
さらに、高周波数帯域符号化系列解析手段は、時間エンベロープ算出制御情報をさらに取得し、高周波数帯域符号化系列解析手段によって取得した時間エンベロープ算出制御情報を用いて、第1〜第Nの低周波数帯域時間エンベロープ算出手段における低周波数帯域の時間エンベロープの算出、および時間エンベロープ算出手段における高周波数帯域の時間エンベロープの算出のうち少なくとも1つを制御する時間エンベロープ算出制御手段をさらに備える、ことも好適である。かかる構成を採れば、符号化系列から得られた時間エンベロープ算出制御情報に応じて低周波数帯域の時間エンベロープの算出、或いは、高周波数帯域の時間エンベロープの算出の処理を省略することができ、演算量を削減することができる。
またさらに、高周波数帯域符号化系列解析手段は、時間エンベロープ算出制御情報をさらに取得し、符号化系列復号/逆量子化手段は、第2の周波数エンベロープ情報をさらに取得し、時間エンベロープ算出制御情報を基に、高周波数帯域成分の周波数エンベロープを第2の周波数エンベロープ情報を基に調整するか否かを判断し、当該周波数エンベロープを調整すると判断した場合には、第1〜第Nの低周波数帯域時間エンベロープ算出手段における低周波数帯域の時間エンベロープの算出、および時間エンベロープ算出手段における高周波数帯域の時間エンベロープの算出を行わないように制御する時間エンベロープ算出制御手段をさらに備える、ことも好適である。この場合も、符号化系列から得られた時間エンベロープ算出制御情報に応じて低周波数帯域の時間エンベロープの算出、或いは、高周波数帯域の時間エンベロープの算出の処理を省略することができ、演算量を削減することができる。
さらにまた、時間周波数エンベロープ調整手段は、高周波数帯域生成手段で生成された音声信号の高周波数帯域成分を所定の関数に基づき処理することも好適である。また、低周波数帯域時間エンベロープ算出手段は、取得した複数の低周波数帯域の時間エンベロープを所定の関数に基づき処理することも好適である。
また、本発明の一側面に係る符号化装置は、音声信号を符号化する音声符号化装置であって、音声信号を周波数領域に変換する周波数変換手段と、音声信号をダウンサンプリングして低周波数帯域信号を取得するダウンサンプリング手段と、ダウンサンプリング手段で取得した低周波数帯域信号を符号化する低周波数帯域符号化手段と、周波数変換手段によって周波数領域に変換された音声信号の低周波数帯域成分の時間エンベロープを複数算出する第1〜第N(Nは2以上の整数)の低周波数帯域時間エンベロープ算出手段と、第1〜第Nの低周波数帯域時間エンベロープ算出手段により算出された低周波数帯域成分の時間エンベロープを用いて、周波数変換手段によって変換された音声信号の高周波数帯域成分の時間エンベロープを取得するために必要な時間エンベロープ情報を算出する時間エンベロープ情報算出手段と、音声信号を分析し低周波数帯域信号から高周波数帯域成分を生成するために用いる高周波数帯域生成用補助情報を算出する補助情報算出手段と、補助情報算出手段によって生成された高周波数帯域生成用補助情報、および時間エンベロープ情報算出手段によって算出された時間エンベロープ情報を量子化および符号化する量子化符号化手段と、量子化符号化手段によって量子化および符号化された高周波数帯域生成用補助情報および時間エンベロープ情報を高周波数帯域符号化系列へと構成する符号化系列構成手段と、低周波数帯域符号化手段によって取得された低周波数帯域符号化系列と、符号化系列構成手段によって構成された高周波数帯域符号化系列とが多重化された符号化系列を生成する多重化手段と、を備える。
本発明の一側面に係る符号化方法は、音声信号を符号化する音声符号化方法であって、周波数変換手段が、音声信号を周波数領域に変換する周波数変換ステップと、ダウンサンプリング手段が、音声信号をダウンサンプリングして低周波数帯域信号を取得するダウンサンプリングステップと、低周波数帯域符号化手段が、ダウンサンプリング手段で取得した低周波数帯域信号を符号化する低周波数帯域符号化ステップと、第1〜第N(Nは2以上の整数)の低周波数帯域時間エンベロープ算出手段が、周波数変換手段によって周波数領域に変換された音声信号の低周波数帯域成分の時間エンベロープを複数算出する第1〜第Nの低周波数帯域時間エンベロープ算出ステップと、時間エンベロープ情報算出手段が、第1〜第Nの低周波数帯域時間エンベロープ算出手段により算出された低周波数帯域成分の時間エンベロープを用いて、周波数変換手段によって変換された音声信号の高周波数帯域成分の時間エンベロープを取得するために必要な時間エンベロープ情報を算出する時間エンベロープ情報算出ステップと、補助情報算出手段が、音声信号を分析し低周波数帯域信号から高周波数帯域成分を生成するために用いる高周波数帯域生成用補助情報を算出する補助情報算出ステップと、量子化符号化手段が、補助情報算出手段によって生成された高周波数帯域生成用補助情報、および時間エンベロープ情報算出手段によって算出された時間エンベロープ情報を量子化および符号化する量子化符号化ステップと、符号化系列構成手段が、量子化符号化手段によって量子化および符号化された高周波数帯域生成用補助情報および時間エンベロープ情報を高周波数帯域符号化系列へと構成する符号化系列構成ステップと、多重化手段が、低周波数帯域符号化手段によって取得された低周波数帯域符号化系列と、符号化系列構成手段によって構成された高周波数帯域符号化系列とが多重化された符号化系列を生成する多重化ステップと、を備える。
本発明の一側面に係る符号化プログラムは、音声信号を符号化する音声符号化プログラムであって、コンピュータを、音声信号を周波数領域に変換する周波数変換手段、音声信号をダウンサンプリングして低周波数帯域信号を取得するダウンサンプリング手段、ダウンサンプリング手段で取得した低周波数帯域信号を符号化する低周波数帯域符号化手段、周波数変換手段によって周波数領域に変換された音声信号の低周波数帯域成分の時間エンベロープを複数算出する第1〜第N(Nは2以上の整数)の低周波数帯域時間エンベロープ算出手段、第1〜第Nの低周波数帯域時間エンベロープ算出手段により算出された低周波数帯域成分の時間エンベロープを用いて、周波数変換手段によって変換された音声信号の高周波数帯域成分の時間エンベロープを取得するために必要な時間エンベロープ情報を算出する時間エンベロープ情報算出手段、音声信号を分析し低周波数帯域信号から高周波数帯域成分を生成するために用いる高周波数帯域生成用補助情報を算出する補助情報算出手段、補助情報算出手段によって生成された高周波数帯域生成用補助情報、および時間エンベロープ情報算出手段によって算出された時間エンベロープ情報を量子化および符号化する量子化符号化手段、量子化符号化手段によって量子化および符号化された高周波数帯域生成用補助情報および時間エンベロープ情報を高周波数帯域符号化系列へと構成する符号化系列構成手段、及び低周波数帯域符号化手段によって取得された低周波数帯域符号化系列と、符号化系列構成手段によって構成された高周波数帯域符号化系列とが多重化された符号化系列を生成する多重化手段、として機能させる。
このような符号化装置、符号化方法、或いは符号化プログラムによれば、音声信号がダウンサンプリングされて低周波数帯域信号が得られ、その低周波数帯域信号が符号化される一方で、周波数領域の音声信号を基に低周波数帯域成分の時間エンベロープが複数算出され、その複数の低周波数帯域成分の時間エンベロープを用いて高周波数帯域成分の時間エンベロープを取得するための時間エンベロープ情報が算出される。さらに、低周波数帯域信号から高周波数帯域成分を生成するための高周波数帯域生成用補助情報が算出され、高周波数帯域生成用補助情報と時間エンベロープ情報とが量子化及び符号化された後に、高周波数帯域生成用補助情報と時間エンベロープ情報とを含む高周波数帯域符号化系列が構成される。そして、低周波数帯域符号化系列及び高周波数帯域符号化系列とが多重化された符号化系列が生成される。これにより、符号化系列が復号装置に入力される際に、復号装置側で高周波数帯域成分の時間エンベロープの調整用に複数の低周波数帯域の時間エンベロープを用いることが可能になり、復号装置側で低周波数帯域成分の時間エンベロープと高周波数帯域成分の時間エンベロープとの相関を利用して高い精度で高周波数帯域成分の時間エンベロープの波形が調整される。その結果、復号信号における時間エンベロープが歪の少ない形状に調整され、復号装置側でプリエコーおよびポストエコーの十分に改善された再生信号を得ることができる。
ここで、周波数変換手段によって周波数領域に変換された音声信号の高周波数帯域成分の周波数エンベロープ情報を算出する周波数エンベロープ算出手段をさらに備え、量子化符号化手段は、周波数エンベロープ情報をさらに量子化および符号化し、符号化系列構成手段は、量子化符号化手段によって量子化および符号化された周波数エンベロープ情報をさらに加えて高周波数帯域符号化系列を構成する、ことが好適である。かかる構成を採れば、復号装置側で高周波数帯域成分の周波数エンベロープの調整も可能にされるので、復号装置側で周波数特性の改善された再生信号を得ることができる。
また、周波数変換手段によって周波数領域に変換された音声信号と、時間エンベロープ情報算出手段にて算出された時間エンベロープ情報のうち少なくとも1つを用いて、音声復号装置における時間エンベロープ算出を制御する時間エンベロープ算出制御情報を生成する制御情報生成手段をさらに備え、符号化系列構成手段は、制御情報生成手段にて生成された時間エンベロープ算出制御情報をさらに加えて高周波数帯域符号化系列を構成する、ことも好適である。この場合、音声信号の電力等の性質や時間エンベロープ情報を参照して、復号装置側での時間エンベロープの算出の処理を効率化することができ、演算量を削減することができる。
またさらに、時間エンベロープ情報算出手段は、周波数変換手段によって周波数領域に変換された音声信号の高周波数帯域成分の時間エンベロープを算出し、第1〜第Nの低周波数帯域成分の時間エンベロープから算出した時間エンベロープと、上記周波数帯域成分の時間エンベロープとの相関に基づいて、時間エンベロープ情報を算出することも好適である。