入力された音信号を符号化するための時間領域周波数領域混合型符号化装置であって、前記入力された音信号に応じて時間領域の励振寄与分を計算する計算器と、前記入力された音信号に応じて時間領域の励振寄与分のカットオフ周波数を計算する計算器と、前記カットオフ周波数に応じて前記時間領域の励振寄与分の周波数範囲を調整するフィルタと、前記入力された音信号に応じて周波数領域励振寄与分を計算する計算器と、前記フィルタリングされた時間領域の励振寄与分と前記周波数領域の励振寄与分とを加算して、前記入力された音信号の符号化バージョンを構成する時間領域周波数領域混合型の励振を形成する加算器とを備える時間領域周波数領域混合型符号化装置。前記時間領域の励振寄与分は、適応コードブック寄与分のみ、または前記適応コードブック寄与分および固定コードブック寄与分を含む、請求項1に記載の時間領域周波数領域混合型符号化装置。前記時間領域の励振寄与分計算器は、前記入力された音信号の符号励振線形予測符号化を使用する、請求項1または2に記載の時間領域周波数領域混合型符号化装置。現在のフレームで使用するサブフレーム数を計算する計算器を備え、前記時間領域の励振寄与分の計算器は、前記現在のフレームについて前記サブフレーム数計算器によって決定されたサブフレーム数を前記現在のフレームで使用する、請求項1から3のいずれか一項に記載の時間領域周波数領域混合型符号化装置。前記現在のフレームの前記サブフレーム数の計算器は、利用可能なビット配分と、前記入力された音信号の高域周波数のスペクトル動特性との少なくとも1つに応答する、請求項4に記載の時間領域周波数領域混合型符号化装置。前記時間領域の励振寄与分の周波数変換の計算器を備える、請求項1から5のいずれか一項に記載の時間領域周波数領域混合型符号化装置。前記周波数領域の励振寄与分の計算器は、前記入力された音信号のLP分析から得られるLP残差の周波数変換を行って、前記LP残差の周波数表現を生成する、請求項1から6のいずれか一項に記載の時間領域周波数領域混合型符号化装置。前記カットオフ周波数の計算器は、前記LP残差の周波数表現と、前記時間領域の励振寄与分の周波数表現との間の相互相関を複数の周波数帯各々について算出する算出器を備え、前記符号化装置は、前記相互相関に応じて前記カットオフ周波数の推定値を見つける発見器を備える、請求項7に記載の時間領域周波数領域混合型符号化装置。前記周波数帯間の相互相関を平滑化して相互相関ベクトルを生成する平滑器と、前記周波数帯にわたる前記相互相関ベクトルの平均を計算する計算器と、前記相互相関ベクトルの平均を正規化する正規化器とを備え、前記カットオフ周波数の推定値の前記発見器は、前記周波数帯のうち1つの周波数帯の最後の周波数と、前記相互相関ベクトルの前記正規化平均にスペクトル幅値を乗算した値との差分が最小になる最後の周波数を見つけることにより、前記カットオフ周波数の第1の推定値を求める、請求項7または8に記載の時間領域周波数領域混合型符号化装置。前記カットオフ周波数の計算器は、前記時間領域の励振寄与分から算出される高調波が位置する、前記周波数帯のうち1つを見つける発見器と、前記カットオフ周波数の前記第1の推定値と、前記高調波が位置する前記周波数帯の最後の周波数とのうち高い方の周波数を前記カットオフ周波数として選択する選択器とを備える、請求項9に記載の時間領域周波数領域混合型符号化装置。前記フィルタは、前記カットオフ周波数より上の複数の周波数帯の周波数ビンを強制的にゼロにする、周波数ビンのゼロ化器を備える、請求項1から10のいずれか一項に記載の時間領域周波数領域混合型符号化装置。前記フィルタは、前記カットオフ周波数が所与の値より低い場合に複数の周波数帯のすべての周波数ビンを強制的にゼロにする周波数ビンのゼロ化器を備える、請求項1から11のいずれか一項に記載の時間領域周波数領域混合型符号化装置。前記周波数領域の励振寄与分の計算器は、前記入力された音信号のLP残差の周波数表現と、前記時間領域の励振寄与分のフィルタリング後周波数表現との差分を計算する計算器を備える、請求項1から12のいずれか一項に記載の時間領域周波数領域混合型符号化装置。前記周波数領域の励振寄与分の計算器は、前記LP残差の周波数表現と、前記カットオフ周波数までの前記時間領域の励振寄与分の周波数表現との差分を計算して、差分ベクトルの第1の部分を形成する計算器を備える、請求項7に記載の時間領域周波数領域混合型符号化装置。前記カットオフ周波数に続く所定の周波数範囲内の前記時間領域の励振寄与分の前記周波数表現に適用されて、前記差分ベクトルの第2の部分を形成するための縮小係数を備える、請求項14に記載の時間領域周波数領域混合型符号化装置。前記差分ベクトルは、前記所定の周波数範囲より上の残りの第3の部分については前記LP残差の周波数表現で形成される、請求項15に記載の時間領域周波数領域混合型符号化装置。前記差分ベクトルの量子化器を備える、請求項14から16のいずれか一項に記載の時間領域周波数領域混合型符号化装置。前記加算器は、前記量子化された差分ベクトルと、前記フィルタリング後の時間領域の励振寄与分の周波数変換されたバージョンとを前記周波数領域で加算して前記時間領域周波数領域混合型励振を形成する、請求項17に記載の時間領域周波数領域混合型符号化装置。前記加算器は、前記時間領域の励振寄与分と前記周波数領域の励振寄与分とを前記周波数領域で加算する、請求項1から18のいずれか一項に記載の時間領域周波数領域混合型符号化装置。前記時間領域の励振寄与分と前記周波数領域の励振寄与分間でビット配分を動的に割り当てる手段を備える、請求項1から19のいずれか一項に記載の時間領域周波数領域混合型符号化装置。時間領域および周波数領域モデルを使用するエンコーダであって、入力された音信号を音声または非音声に分類する分類器と、時間領域専用符号器と、請求項1から20のいずれか一項に記載の時間領域周波数領域混合型符号化装置と、前記入力された音信号の分類に応じて、前記入力された音信号を符号化するために、前記時間領域専用符号器および前記時間領域周波数領域混合型符号化装置の一方を選択する選択器とを備えるエンコーダ。前記時間領域専用符号器は符号励振線形予測符号器である、請求項21に記載のエンコーダ。前記分類器が前記入力された音信号を非音声に分類し前記入力された音信号中に一時的アタックを検出すると、前記時間領域専用符号器で前記入力された音信号を符号化する際にメモリレス時間領域符号化モードを強制的に使用させるメモリレス時間領域符号化モードの選択器を備える、請求項21または22に記載のエンコーダ。前記時間領域周波数領域混合型符号化装置は、時間領域寄与分の計算で可変長のサブフレームを使用する、請求項21から23のいずれか一項に記載のエンコーダ。入力された音信号を符号化するための時間領域周波数領域混合型符号化装置であって、前記入力された音信号に応じて時間領域の励振寄与分を計算する計算器であって、前記時間領域の励振寄与分の計算器は、前記入力音信号の連続したフレーム単位で前記入力された音信号を処理し、前記入力された音信号の現在のフレームで使用するサブフレーム数を計算する計算器を備え、前記時間領域の励振寄与分の計算器は、前記現在のフレームについて前記サブフレーム数計算器によって決定されたサブフレーム数を前記現在のフレームで使用する、計算器と、前記入力された音信号に応じて周波数領域の励振寄与分を計算する計算器と、前記時間領域の励振寄与分と前記周波数領域の励振寄与分とを加算して、前記入力された音信号の符号化バージョンを構成する時間領域周波数領域混合型の励振を形成する加算器とを備える時間領域周波数領域混合型符号化装置。前記現在のフレームの前記サブフレーム数の計算器は、利用可能なビット配分と、前記入力された音信号の高域周波数のスペクトル動特性との少なくとも1つに応答する、請求項25に記載の時間領域周波数領域混合型符号化装置。請求項1から20のいずれか一項に記載の時間領域周波数領域混合型符号化装置を使用して符号化された音信号を復号するデコーダであって、時間領域周波数領域混合型励振を時間領域に変換する変換器と、時間領域に変換された前記時間領域周波数領域混合型励振に応じて前記音信号を合成する合成フィルタとを備えるデコーダ。前記変換器は逆離散コサイン変換を使用する、請求項27に記載のデコーダ。前記合成フィルタはLP合成フィルタである、請求項27または28に記載のデコーダ。請求項25または26に記載の時間領域周波数領域混合型符号化装置を使用して符号化された音信号を復号するデコーダであって、前記時間領域周波数領域混合型励振を時間領域に変換する変換器と、時間領域に変換された前記時間領域周波数領域混合型励振に応じて前記音信号を合成する合成フィルタとを備えるデコーダ。入力された音信号を符号化する時間領域周波数領域混合型符号化方法であって、前記入力された音信号に応じて時間領域の励振寄与分を計算するステップと、前記入力された音信号に応じて時間領域の励振寄与分のカットオフ周波数を計算するステップと、前記カットオフ周波数に応じて前記時間領域の励振寄与分の周波数範囲を調整するステップと、前記入力された音信号に応じて周波数領域励振寄与分を計算するステップと、前記調整された時間領域の励振寄与分と前記周波数領域の励振寄与分とを加算して、前記入力された音信号の符号化バージョンを構成する時間領域周波数領域混合型を形成するステップととを含む方法。前記時間領域の励振寄与分は、適応コードブック寄与分のみ、または前記適応コードブック寄与分および固定コードブック寄与分を含む、請求項31に記載の時間領域周波数領域混合型符号化方法。前記時間領域の励振寄与分を計算するステップは、前記入力された音信号の符号励振線形予測符号化を使用するステップを含む、請求項31または32に記載の時間領域周波数領域混合型符号化方法。現在のフレームで使用するサブフレーム数を計算するステップを含み、前記時間領域の励振寄与分を計算するステップは、前記現在のフレームについて決定されたサブフレーム数を前記現在のフレームで使用するステップを含む、請求項31から32のいずれか一項に記載の時間領域周波数領域混合型符号化方法。前記現在のフレームの前記サブフレーム数を計算するステップは、利用可能なビット配分と、前記入力された音信号の高域周波数のスペクトル動特性との少なくとも1つに応答する請求項34に記載の時間領域周波数領域混合型符号化方法。前記時間領域の励振寄与分の周波数変換を計算するステップを含む、請求項31から35のいずれか一項に記載の時間領域周波数領域混合型符号化方法。前記周波数領域の励振寄与分を計算するステップは、前記入力された音信号のLP分析から得られるLP残差の周波数変換を行って、前記LP残差の周波数表現を生成するステップを含む、請求項31から36に記載の時間領域周波数領域混合型符号化方法。前記カットオフ周波数を計算するステップは、前記LP残差の周波数表現と、前記時間領域の励振寄与分の周波数表現との間の相互相関を複数の周波数帯各々について算出するステップを含み、前記符号化方法は、前記相互相関に応じて前記カットオフ周波数の推定値を見つけるステップを含む、請求項37に記載の時間領域周波数領域混合型符号化方法。前記周波数帯間の相互相関を平滑化して相互相関ベクトルを生成し、前記周波数帯にわたる前記相互相関ベクトルの平均を計算し、前記相互相関ベクトルの平均を正規化するステップを含み、前記カットオフ周波数の推定値を見つけるステップは、前記周波数帯のうち1つの周波数帯の最後の周波数と、前記相互相関ベクトルの前記正規化平均にスペクトル幅値を乗算した値との差分が最小になる最後の周波数を見つけることにより、前記カットオフ周波数の第1の推定値を求めるステップを含む、請求項38に記載の時間領域周波数領域混合型符号化方法。前記カットオフ周波数を計算するステップは、前記時間領域の励振寄与分から算出される高調波が位置する、前記周波数帯のうち1つを見つけ、前記カットオフ周波数の前記第1の推定値と、前記高調波が位置する前記周波数帯の最後の周波数とのうち高い方の周波数を前記カットオフ周波数として選択するステップを含む、請求項39に記載の時間領域周波数領域混合型符号化方法。前記時間領域の励振寄与分の周波数範囲を調整するステップは、前記カットオフ周波数より上の複数の周波数帯の周波数ビンを強制的にゼロにする周波数ビンのゼロ化ステップを含む、請求項31から40のいずれか一項に記載の時間領域周波数領域混合型符号化方法。前記時間領域の励振寄与分の周波数範囲を調整するステップは、前記カットオフ周波数が所与の値より低い場合に、複数の周波数帯のすべての周波数ビンをゼロにする周波数ビンのゼロ化ステップを含む、請求項31から41のいずれか一項に記載の時間領域周波数領域混合型符号化方法。前記周波数領域の励振寄与分を計算するステップは、前記入力された音信号のLP残差の周波数表現と、前記時間領域の励振寄与分のフィルタリング後周波数表現との差分を計算するステップを含む、請求項31から42のいずれか一項に記載の時間領域周波数領域混合型符号化方法。前記周波数領域の励振寄与分を計算するステップは、前記LP残差の周波数表現と、前記カットオフ周波数までの前記時間領域の励振寄与分の周波数表現との差分を計算して、差分ベクトルの第1の部分を形成するステップを含む、請求項31から43のいずれか一項に記載の時間領域周波数領域混合型符号化方法。前記カットオフ周波数に続く所定の周波数範囲内の前記時間領域の励振寄与分の前記周波数表現に縮小係数を適用して、前記差分ベクトルの第2の部分を形成するステップを含む、請求項44に記載の時間領域周波数領域混合型符号化方法。前記所定の周波数範囲より上の残りの第3の部分については前記LP残差の周波数表現で前記差分ベクトルを形成するステップを含む、請求項45に記載の時間領域周波数領域混合型符号化方法。前記差分ベクトルを量子化するステップを含む、請求項44から46のいずれか一項に記載の時間領域周波数領域混合型符号化方法。調整された時間領域の励振寄与分と前記周波数領域の励振寄与分とを加算して前記時間領域周波数領域混合型励振を形成するステップは、前記量子化された差分ベクトルと、前記調整された時間領域の励振寄与分の周波数変換バージョンとを前記周波数領域で加算するステップを含む、請求項47に記載の時間領域周波数領域混合型符号化方法。調整された時間領域の励振寄与分と前記周波数領域の励振寄与分とを加算して前記時間領域周波数領域混合型励振を形成するステップは、前記時間領域の励振寄与分と前記周波数領域の励振寄与分とを前記周波数領域で加算するステップを含む、請求項31から48のいずれか一項に記載の時間領域周波数領域混合型符号化方法。前記時間領域の励振寄与分と前記周波数領域の励振寄与分間でビット配分を動的に割り当てるステップを含む、請求項31から49のいずれか一項に記載の時間領域周波数領混合型域符号化方法。時間領域および周波数領域モデルを使用した符号化の方法であって、入力された音信号を音声または非音声に分類するステップと、時間領域のみの符号化方法を備えるステップと、請求項31から50のいずれか一項に記載の時間領域周波数領域混合型符号化方法を備えるステップと、前記入力された音信号の分類に応じて、前記入力された音信号を符号化するために、前記時間領域のみの符号化方法および前記時間領域周波数領域混合型符号化方法の一方を選択するステップとを含む方法。前記時間領域のみの符号化方法は符号励振線形予測符号化方法である、請求項51に記載の符号化の方法。前記入力された音信号が非音声に分類され前記入力された音信号中に一時的アタックが検出されると、前記時間領域のみの符号化方法を使用して前記入力された音信号を符号化する際にメモリレス時間領域符号化モードを強制的に使用させる、メモリレス時間領域符号化モードを選択するステップを含む、請求項51または52に記載の符号化の方法。前記時間領域周波数領域混合型符号化方法は、時間領域寄与分の計算で可変長のサブフレームを使用するステップを含む、請求項51から53のいずれか一項に記載の符号化の方法。入力された音信号を符号化する時間領域周波数領域混合型符号化方法であって、前記入力された音信号に応じて時間領域の励振寄与分を計算するステップであって、前記時間領域の励振寄与分を計算するステップは、前記入力音信号の連続したフレーム単位で前記入力された音信号を処理し、前記入力された音信号の現在のフレームで使用するサブフレーム数を計算するステップを含み、前記時間領域の励振寄与分を計算するステップは、前記現在のフレームについて計算されたサブフレーム数を前記現在のフレームで使用するステップを含む、ステップと前記入力された音信号に応じて周波数領域の励振寄与分を計算するステップと、前記時間領域の励振寄与分と前記周波数領域の励振寄与分とを加算して、前記入力された音信号の符号化バージョンを構成する時間領域周波数領域混合型の励振を形成するステップとを含む方法。前記現在のフレームの前記サブフレーム数を計算するステップは、利用可能なビット配分と、前記入力された音信号の高域周波数のスペクトル動特性との少なくとも1つに応答する、請求項55に記載の時間領域周波数領域混合型符号化方法。請求項31から50のいずれか一項に記載の時間領域周波数領域混合型符号化方法を使用して符号化された音信号を復号する方法であって、時間領域周波数領域混合型励振を時間領域に変換するステップと、時間領域に変換された前記時間領域周波数領域混合型励振に応じて、合成フィルタを通じて前記音信号を合成するステップとを含む方法。前記時間領域周波数領域混合型励振を時間領域に変換するステップは逆離散コサイン変換を使用するステップを含む、請求項57に記載の復号の方法。前記合成フィルタはLP合成フィルタである、請求項57または58に記載の復号の方法。請求項55または56に記載の時間領域周波数領域混合型符号化方法を使用して符号化された音信号を復号する方法であって、前記時間領域周波数領域混合型励振を時間領域に変換するステップと、時間領域に変換された前記時間領域周波数領域混合型励振に応じて、合成フィルタを通じて前記音信号を合成するステップとを含む方法。本開示は、入力された音信号を符号化するための時間領域周波数領域混合型符号化装置に関し、この装置は、入力された音信号に応じて時間領域の励振寄与分を計算する計算器と、入力された音信号に応じて時間領域の励振寄与分のカットオフ周波数を計算する計算器と、カットオフ周波数に応じて時間領域の励振寄与分の周波数範囲を調整するフィルタと、入力された音信号に応じて周波数領域励振寄与分を計算する計算器と、フィルタリングされた時間領域の励振寄与分と周波数領域の励振寄与分とを加算して、入力された音信号の符号化バージョンを構成する時間領域周波数領域混合型の励振を形成する加算器とを備える。本開示は、時間領域および周波数領域モデルを使用するエンコーダにも関し、このエンコーダは、入力された音信号を音声または非音声に分類する分類器と、時間領域専用符号器と、上記の時間領域周波数領域混合型符号化装置と、入力された音信号の分類に応じて、入力された音信号を符号化するために、時間領域専用符号器および時間領域周波数領域混合型符号化装置の一方を選択する選択器とを備える。本開示には、入力された音信号を符号化するための時間領域周波数領域混合型符号化装置が記載され、この装置は、入力された音信号に応じて時間領域の励振寄与分を計算する計算器であって、時間領域の励振寄与分の計算器は、入力音信号の連続したフレーム単位で入力された音信号を処理し、入力された音信号の現在のフレームで使用するサブフレーム数を計算する計算器を備え、時間領域の励振寄与分の計算器は、現在のフレームについてサブフレーム数計算器によって決定されたサブフレーム数を現在のフレームで使用する、計算器と、入力された音信号に応じて周波数領域の励振寄与分を計算する計算器と、時間領域の励振寄与分と周波数領域の励振寄与分とを加算して、入力された音信号の符号化バージョンを構成する時間領域周波数領域混合型の励振を形成する加算器とを備える。本開示はさらに、上記の時間領域周波数領域混合型符号化装置を使用して符号化された音信号を復号するデコーダに関し、このデコーダは、時間領域周波数領域混合型励振を時間領域に変換する変換器と、時間領域に変換された時間領域周波数領域混合型励振に応じて音信号を合成する合成フィルタとを備える。本開示は、入力された音信号を符号化する時間領域周波数領域混合型符号化方法にも関し、この方法は、入力された音信号に応じて時間領域の励振寄与分を計算するステップと、入力された音信号に応じて時間領域の励振寄与分のカットオフ周波数を計算するステップと、カットオフ周波数に応じて時間領域の励振寄与分の周波数範囲を調整するステップと、入力された音信号に応じて周波数領域励振寄与分を計算するステップと、調整された時間領域の励振寄与分と周波数領域の励振寄与分とを加算して、入力された音信号の符号化バージョンを構成する時間領域周波数領域混合型の励振を形成するステップとを含む。本開示にはさらに、時間領域および周波数領域モデルを使用した符号化の方法が記載され、この方法は、入力された音信号を音声または非音声に分類するステップと、時間領域のみの符号化方法を備えるステップと、上記の時間領域周波数領域混合型符号化方法を備えるステップと、入力された音信号の分類に応じて、入力された音信号を符号化するために、時間領域のみの符号化方法および時間領域周波数領域混合型符号化方法の一方を選択するステップとを含む。本開示はさらに、入力された音信号を符号化する時間領域周波数領域混合型符号化方法に関し、この方法は、入力された音信号に応じて時間領域の励振寄与分を計算するステップであって、時間領域の励振寄与分を計算するステップは、入力音信号の連続したフレーム単位で入力された音信号を処理し、入力された音信号の現在のフレームで使用するサブフレーム数を計算するステップを含み、時間領域の励振寄与分を計算するステップは、現在のフレームについて計算されたサブフレーム数を現在のフレームで使用するステップを含む、ステップと、入力された音信号に応じて周波数領域の励振寄与分を計算するステップと、時間領域の励振寄与分と周波数領域の励振寄与分とを加算して、入力された音信号の符号化バージョンを構成する時間領域周波数領域混合型の励振を形成するステップとを含む。本開示にはさらに、上記の時間領域周波数領域混合型符号化方法を使用して符号化された音信号を復号する方法が記載され、この方法は、時間領域周波数領域混合型励振を時間領域に変換するステップと、時間領域に変換された時間領域周波数領域混合型励振に応じて、合成フィルタを通じて音信号を合成するステップとを含む。上述の特徴および他の特徴は、単なる例として添付図面を参照して与えられる、以下の提案される時間領域および周波数領域モデルの例示的実施形態の非制限的な説明を読むことにより、より明らかになろう。ここに提案される時間領域と周波数領域がより統合されたモデルは、処理遅延とビットレートを増大させることなく、例えば音楽や残響音声などの一般的なオーディオ信号の合成品質を向上させることができる。このモデルは、例えば、利用可能なビットが、入力信号の特性に応じて、適応コードブック、1つまたは複数の固定コードブック、および周波数領域符号化モードの間で動的に割り当てられる線形予測の残差領域で動作する。音楽や残響音声などの一般的なオーディオ信号の合成品質を向上させる低処理遅延、低ビットレートの会話コーデックを実現するために、周波数領域符号化モードを、CELPによる時間領域符号化モードと可能な限り統合することができる。その目的のために、周波数領域符号化モードでは、例えば、LP残差領域で行われる周波数変換を使用する。それにより、1つのフレーム、例えば20msのフレームのフレームから別のフレームへの切り替えをほぼアーチファクトを生じずに行うことが可能となる。また、2つの符号化モードの統合は十分に緊密であるため、現在の符号化モードが十分に効率的でないと判断される場合に、ビット配分を別の符号化モードに動的に再割り当てすることができる。提案される時間領域と周波数領域がより統合されたモデルの特徴の1つは、時間領域構成要素の可変の時間サポートであり、時間領域構成要素はフレームごとに4分の1フレームから1フレーム全体まで変動し、この構成要素をサブフレームと呼ぶ。説明のための例として、1フレームが20msの入力信号に相当するとする。これは、コーデックの内部サンプリング周波数が16kHzの場合は1フレーム当たり320サンプルに相当し、コーデックの内部サンプリング周波数が128kHzの場合は1フレーム当たり256サンプルに相当する。すると、4分の1フレームは、コーデックの内部サンプリング周波数によって64または80サンプルに相当する。以下の例示的実施形態では、コーデックの内部サンプリング周波数は128kHzであり、256サンプルのフレーム長になるものとする。可変の時間サポートにより、最小のビットレートで主要な時間的事象を捉えて、基本の時間領域励振寄与分を生成することが可能となる。非常に低いビットレートでは、時間サポートは通常1フレーム全体である。その場合、励振信号への時間領域寄与分は適応コードブックのみからなり、対応する利得を含むそれに対応するピッチ情報は1フレームにつき1回送信される。より高いビットレートが利用可能な場合は、時間サポートを短くすることにより、より多くの時間的事象を捉えることができる。最後に、時間サポートが十分に短く、利用可能なビットレートが十分に高い時には、時間領域寄与分は、対応する利得と共に、適応コードブック寄与分、固定コードブック寄与分、またはその両方を含むことができる。そして、コードブックのインデックスおよび利得を記述するパラメータがサブフレームごとに送信される。低いビットレートでは、会話コーデックは、高域周波数を適切に符号化することができない。その結果、入力信号が音楽およびまたは残響音声を含む場合には合成品質の重大な劣化が生じる。この問題を解決するために、時間領域の励振寄与分の効率性を計算する機能が追加される。場合によっては、入力ビットレートと時間フレームサポートに関係なく、時間領域の励振寄与分が有益でないことがある。そのような場合は、すべてのビットを周波数領域符号化の次の段階に再割り当てする。しかし、大半の時間には、時間領域の励振寄与分は、特定の周波数までしか有益でない。そのような場合には、カットオフ周波数より上で時間領域の励振寄与分をフィルタリングで除去する。このフィルタリング動作により、有益な情報が時間領域の励振寄与分で符号化された状態を保つことができ、カットオフ周波数より上の有益でない情報を除去することができる。例示的実施形態では、このフィルタリングは、周波数領域で特定周波数より上の周波数ビンをゼロに設定することにより行われる。可変の時間サポートを可変のカットオフ周波数と組み合わせると、時間領域と周波数領域が統合されたモデル内のビット割り当てが非常に動的になる。LPフィルタの量子化後のビットレートは、すべて時間領域に割り当てるか、またはすべて周波数領域に割り当てるか、またはその中間とすることができる。時間領域と周波数領域間のビットレートの割り当ては、時間領域寄与分に使用されるサブフレームの数、利用可能なビット配分、および算出されたカットオフ周波数に応じて行うことができる。より効率的に入力残差に合致する合計励振を生成するために、周波数領域符号化モードを適用する。本開示の特徴は、入力LP残差の周波数表現とカットオフ周波数までにフィルタリングされた時間領域の励振寄与分の周波数表現との差を含んでいるベクトルであって、そのカットオフ周波数より上の入力LP残差自体の周波数表現を含んでいるベクトルに周波数領域の符号化が行われることである。カットオフ周波数のすぐ上の両セグメントの間に滑らかなスペクトル遷移が挿入される。換言すると、まず時間領域の励振寄与分の周波数表現の高域周波数部分をゼロにする。スペクトルの変化していない部分とスペクトルのゼロにした部分との間の遷移領域をカットオフ周波数のすぐ上に挿入して、スペクトルの両部分間が確実に滑らかに遷移するようにする。次いで、この時間領域の励振寄与分の変更を加えたスペクトルを入力LP残差の周波数表現から引く。したがって、その結果得られるスペクトルは、カットオフ周波数より下の両スペクトルの差と、カットオフ周波数より上のLP残差の周波数表現とに対応し、いくらかの遷移領域を含んでいる。上述のように、カットオフ周波数はフレームごとに変化する可能性がある。選択される周波数量子化方法に関係なく、特に非常に長い窓の場合は常にプリエコーの可能性がある。本技術では、使用する窓は矩形窓であり、符号化信号と比較した余分な窓長がゼロになる、すなわち重畳加算を使用しない。これは、発生する可能性のあるプリエコーを低減するための最適な窓に相当するが、一時的アタックtemporalattacksではいくらかのプリエコーがなお聞こえる可能性がある。そのようなプリエコーの問題を解決する技術は多数存在するが、本開示はこのプリエコーの問題を解消するための単純な機能を提案する。この機能は、ITUT勧告G718の遷移モードから導き出されたメモリレス時間領域符号化モードに基づく。この機能の背後にある発想は、提案される時間領域と周波数領域がより統合されたモデルがLP残差領域に組み込まれ、それによりほぼ常にアーチファクトのない切替えが可能になることを利用するというものである。信号が一般的なオーディオと考えられ、フレーム内で一時的アタックが検出された場合は、そのフレームだけがこの特別なメモリレス時間領域符号化モードで符号化される。このモードは一時的アタックに対処して、そのフレームの周波数領域符号化によって生じる可能性のあるプリエコーを回避する。例示的実施形態提案される時間領域と周波数領域がより統合されたモデルでは、上記の適応コードブック、1つまたは複数の固定コードブック、すなわちいわゆる時間領域コードブック、および周波数領域量子化をコードブックライブラリと見なすことができ、すべての利用可能なコードブックまたはその部分集合にビットを分配することができる。これは、例えば入力された音信号がクリーンな音声である場合は、すべてのビットが時間領域符号化モードに割り当てられ、基本的に符号化を旧来のCELP方式にすることを意味する。一方、何らかの音楽セグメントの場合は、入力LP残差を符号化するために割り当てられるすべてのビットを、周波数領域、例えば変換領域で消費するのが最適である場合がある。上記説明で指摘したように、時間領域符号化モードと周波数領域符号化モードの時間サポートは、同じである必要はない。異なる時間領域量子化方法に消費されるビットは、通常はサブフレーム単位で分配され、周波数領域符号化モードに割り当てられるビットは、フレーム単位で分配して周波数分解能を改善する。時間領域CELP符号化モードに割り当てられるビット配分は、入力された音信号に応じて動的に制御することもできる。場合によっては、時間領域のCELP符号化モードに割り当てられるビット配分をゼロにすることができ、これは実質的に全ビット配分が周波数領域符号化モードに当てられることを意味する。時間領域の手法と周波数領域の手法の両方についてLP残差領域で動作することを選択すると、2つの主な利点がある。第1に、これはCELP符号化モードと両立することができ、音声信号の符号化で効率的であることが分かっている。その結果、2種類の符号化モードの切替えによるアーチファクトが生じない。第2に、元の入力された音信号に対するLP残差の動特性の低さとその相対的な平坦性のために、周波数変換に矩形窓を使用することが容易になり、したがって重なりのない窓を使用することが可能となる。コーデックの内部サンプリング周波数が128kHzである非制限的な例では、ITUT勧告G718と同様に、時間領域のCELP符号化モードで使用するサブフレームの長さは、典型的な4分の1フレーム長から2分の1フレームまたは全フレーム長まで異なる可能性がある。サブフレーム長の決定は、利用可能なビットレート、および入力された音信号の分析、特にその入力された音信号のスペクトル動特性の分析に基づく。サブフレーム長の決定は閉ループ方式で行うことができる。複雑性を軽減するために、サブフレーム長の決定を開ループ方式で行うこともできる。サブフレーム長はフレームごとに変えることができる。特定のフレームでサブフレーム長が選択されると、標準的な閉ループのピッチ分析を行い、励振信号への第1の寄与分を適応コードブックから選択する。そして、利用可能なビット配分と入力された音信号の特性に応じて、1つまたは数個の固定コードブックから得た第2の寄与分を変換領域符号化を行う前に追加することができる。その結果得られる励振を時間領域の励振寄与分と呼ぶ。一方、非常に低いビットレートで一般的なオーディオの場合は、固定コードブック段階を省き、残りのすべてのビットを変換領域符号化モードに使用する方がよい場合がしばしばある。変換領域符号化モードは例えば周波数領域符号化モードである。上記のように、サブフレーム長は4分の1フレーム、2分の1フレーム、または1フレームの長さである。固定コードブックの寄与分は、サブフレーム長が4分の1フレーム長に等しい場合にのみ使用する。サブフレーム長を2分の1フレームまたは1フレーム長に決定した場合は、適応コードブックの寄与分のみを使用して時間領域励振を表し、残りのすべてのビットは周波数領域符号化モードに割り当てる。時間領域の励振寄与分の算出が完了すると、その効率を評価し、量子化する必要がある。時間領域における符号化の利得が非常に低い場合は、時間領域の励振寄与分を完全になくし、代わりにすべてのビットを周波数領域符号化モードに使用する方が効率的である。対して、例えばクリーンな入力音声の場合は、周波数領域符号化モードは必要でなく、すべてのビットを時間領域符号化モードに割り当てる。しかし、しばしば、時間領域における符号化は特定の周波数までしか効率的でない。その周波数を時間領域の励振寄与分のカットオフ周波数と呼ぶ。そのようなカットオフ周波数を判定することにより、全時間領域符号化が、周波数領域符号化に逆らって作用せずに、より良好な最終的合成を得る助けとなることが保証される。カットオフ周波数は周波数領域で推定する。カットオフ周波数を算出するために、まずLP残差と時間領域の符号化寄与分両方のスペクトルを所定数の周波数帯に分割する。周波数帯の数と、各周波数帯に含まれる周波数ビンの数は、実装ごとに異なってよい。周波数帯ごとに、時間領域の励振寄与分の周波数表現とLP残差の周波数表現との間の正規化相関を算出し、隣接する周波数帯間で相関を平滑化する。周波数帯単位の相関は、05を下限とし、0~1の間に正規化される。次いで、平均相関を、すべての周波数帯の相関の平均として算出する。次いで、カットオフ周波数の第1の推定のために、平均相関を0から2分の1サンプリングレートの間に調節する。そして、カットオフ周波数の第1の推定値を、その値に最も近い周波数帯の上限として求める。実装の一例では、128kHzの16個の周波数帯を相関の算出のために定義する。人間の耳の音響心理学的性質を利用して、ピッチの第8高調波周波数の推定位置を、相関の算出で推定されたカットオフ周波数と比較することにより、カットオフ周波数推定の信頼性を向上させる。その位置が相関の算出で推定されたカットオフ周波数より高い場合は、ピッチの第8高調波周波数の位置に対応するようにカットオフ周波数を変更する。そして、カットオフ周波数の最終値を量子化し、送信する。実装の一例では、ビットレートに応じて、そのような量子化に3ビットまたは4ビットを使用して、8個または16個の可能なカットオフ周波数を得る。カットオフ周波数が分かると、周波数領域の励振寄与分の周波数量子化を行う。まず、入力LP残差の周波数表現と、時間領域の励振寄与分の周波数表現との差分を求める。次いで、その差分からカットオフ周波数までと、残りのスペクトルの入力LP残差の周波数表現への滑らかな推移とから構成される新しいベクトルを作成する。そして、新しいベクトル全体に周波数量子化を適用する。実装の一例では、この量子化では、支配的なスペクトルパルスの正負符号および位置を符号化する。1つの周波数帯につき量子化するパルスの数は、周波数領域符号化モードに利用可能なビットレートに関係する。利用可能なビットがすべての周波数帯をカバーするのに十分でない場合は、残りの周波数帯はノイズのみで埋める。前の段落で説明した量子化方法を使用した周波数帯の周波数量子化では、その周波数帯にあるすべての周波数ビンが量子化されることは保証されない。これは特に、1周波数帯当たりの量子化されるパルスの数が比較的少ない低ビットレートの場合にそうである。そのような量子化されていないビンに起因する可聴アーチファクトの出現を防ぐために、何らかのノイズを付加してそれらの空白を埋める。低いビットレートでは、挿入されたノイズではなく量子化されたパルスがスペクトルの大半を占めるので、ノイズスペクトルの振幅は、パルスの振幅の何分の1かにしか相当しない。スペクトル中の付加ノイズの振幅は、利用可能なビット配分が低い時に大きくなり、利用可能なビット配分が大きい時には小さくなる。周波数領域符号化モードでは、周波数帯ごとに利得を算出して、非量子化信号のエネルギーと量子化信号のエネルギーを一致させる。利得はベクトル量子化され、周波数帯ごとに量子化信号に適用される。エンコーダが時間領域のみの符号化モードから時間領域周波数領域混合型符号化モードにビット割り当てを変更すると、時間領域のみの符号化モードの周波数帯ごとの励振スペクトルエネルギーは、時間領域周波数領域混合型符号化モードの周波数帯ごとの励振スペクトルエネルギーと一致しない。このエネルギーの不一致は、特に低ビットレートで、切替えによるアーチファクトを生じさせる可能性がある。このビットの再割り当てによって生じる可聴の劣化を軽減するために、周波数帯ごとに長期間の利得を算出し、時間領域符号化モードから時間領域周波数領域混合型符号化モードに切り替わった後に適用して、数フレームにわたり各周波数帯のエネルギーを補正することができる。周波数領域符号化モードが完了すると、周波数領域励振寄与分を時間領域の励振寄与分の周波数表現に加算することによって合計励振を求め、その後励振寄与分の合計を変換して時間領域に戻すことにより合計励振を形成する。最後に、LP合成フィルタで合計励振をフィルタリングすることにより、合成信号を算出する。一実施形態では、時間領域の励振寄与分のみを使用してサブフレーム単位でCELP符号化メモリを更新する一方で、合計励振を使用してそれらのメモリをフレーム境界で更新する。別の可能な実装では、時間領域の励振寄与分のみを使用して、サブフレーム単位とフレーム境界の両方でCELP符号化メモリを更新する。その結果、周波数領域の量子化信号がコアCELP層と別個に上層の量子化層を構成する埋め込み構造が得られる。この特定の事例では、適応コードブックの内容を更新するために、常に固定コードブックを使用する。ただし、周波数領域符号化モードは1フレーム全体に適用することができる。この埋め込み方式は、12kbps前後からそれ以上のビットレートに有効である。1音種類の分類図1は、拡張CELPエンコーダ100、例えばACELPエンコーダの概略を示す概略ブロック図である。言うまでもなく、同じ概念を使用して他の種類の拡張CELPエンコーダを実装することができる。図2は、拡張CELPエンコーダ100のより詳細な構造の概略ブロック図である。CELPエンコーダ100は、入力された音信号101のパラメータを分析するプリプロセッサ102を備える。図2を参照すると、プリプロセッサ102は、入力された音信号101のLP分析器201、スペクトル分析器202、開ループピッチ分析器203、および信号分類器204を備える。分析器201および202は、CELP符号化で通常行われるLPおよびスペクトル分析を行う。これについては、例えばITUT勧告G718の項64および614に記載されており、したがって本開示ではこれ以上説明しない。プリプロセッサ102は、例えば参考文献TVaillancourtetalIntertonenoisereductioninalowbitrateCELPdecoderProcIEEEICASSPTaipeiTaiwanApr2009pp411316に記載されるのと同様にして、または他の信頼できる音声非音声の判別方法により、第1レベルの分析を行って、入力された音信号101を音声と非音声に分類する。上記参考文献は、参照により全内容が本明細書に組み込まれる。この第1レベルの分析の後、プリプロセッサ102は入力信号パラメータの第2レベルの分析を行って、強い非音声特性を持つが時間領域の手法で符号化した方がよい音信号に時間領域のCELP符号化を使用できるようにする。エネルギーの重大な変動が発生すると、この第2レベルの分析において、CELPエンコーダ100はメモリレス時間領域符号化モードに切り替わることができる。このモードは、参考文献EkslerVandJelinekMTransitionmodecodingforsourcecontrolledCELPcodecsIEEEProceedingsofInternationalConferenceonAcousticsSpeechandSignalProcessingMarchAprilpp400140043では一般に遷移モードと呼ばれている。参考文献の全内容は参照により本明細書に組み込まれる。この第2レベルの分析時に、信号分類器204は、開ループのピッチ分析器203から得られる開ループのピッチ相関の平滑化されたバージョンcstの変動σc、現在の合計フレームエネルギーEtot、および現在の合計フレームエネルギーと直前の合計フレームエネルギーとの差分Ediffを計算し、使用する。初めに、平滑化された開ループピッチ相関の変動を以下のように算出し、cstは、cst09col01cstと定義される平滑化された開ループのピッチ相関である。colは、例えばITUT勧告G718、項66に記載される、CELP符号化技術の当業者に知られる方法を使用して分析器203で計算された開ループのピッチ相関であり、は、平滑化された開ループのピッチ相関cstの直近の10フレームにわたる平均であり、σcは、平滑化された開ループのピッチ相関の変動である。第1レベルの分析の際に、信号分類器204がフレームを非音声に分類すると、信号分類器204が下記の検証を第2レベルの分析で行って、時間領域周波数領域混合型符号化モードを使用することが本当に安全であるかどうかを判断する。ただし、時間領域符号化モードの前処理機能で推定された時間領域手法の1つを使用して、現在のフレームを時間領域符号化モードのみで符号化する方がよい場合がある。特に、メモリレス時間領域符号化モードを使用して、時間領域周波数領域混合型符号化モードによって生じる可能性のあるプリエコーを最小に低減する方がよい場合もある。時間領域周波数領域混合型符号化を使用すべきかどうかについての第1の検証として、信号分類器204は、現在の合計フレームエネルギーと直前のフレームの合計エネルギーとの差分を計算する。現在の合計フレームエネルギーEtotと直前のフレーム合計エネルギーとの差Ediffが6dBより高い場合は、入力された音信号中にいわゆる一時的アタックがあることに相当する。そのような状況では、音声非音声の決定および選択された符号化モードを上書きし、メモリレス時間領域符号化モードを強制する。より具体的には、拡張CELPエンコーダ100は、時間のみ時間周波数符号化選択器103を備え、選択器103自体は、音声一般オーディオ選択器205、一時的アタック検出器208、およびメモリレス時間領域符号化モードの選択器206を備える。すなわち、選択器205で非音声信号と判定され、検出器208で入力された音信号中の一時的アタックが検出されると、選択器206は閉ループCELP符号器207に強制的にメモリレス時間領域符号化モードを使用させる。閉ループCELP符号器207は、図1の時間領域専用符号器104の一部を形成する。第2の検証として、現在の合計フレームエネルギーEtotと直前のフレームの合計エネルギーの差Ediffが6dB以下であるが、平滑化された開ループのピッチ相関Cstが096より高いか、または平滑化された開ループのピッチ相関Cstが085より高く、かつ現在の合計フレームエネルギーEtotと直前のフレームの合計エネルギーとの差Ediffが03dB未満であるか、または平滑化された開ループのピッチ相関σcの変動が01未満であり、かつ現在の合計フレームエネルギーEtotと直前のフレーム合計エネルギーの差Ediffが06dB未満であるか、または現在の合計フレームエネルギーEtotが20dB未満であり、それが、第1レベルの分析の決定を変更しようとする少なくとも2番目の連続したフレームである場合は、音声一般オーディオ選択器205は、現在のフレームは、閉ループの汎用CELP符号器207を使用して、時間領域のみのモードを使用して符号化することを決定する。そうでない場合、時間時間周波数符号化選択器103は、以下の説明で開示される時間領域周波数領域混合型符号化装置によって行われる時間領域周波数領域混合型符号化モードを選択する。これは、例えば非音声の音信号が音楽である場合には、以下の擬似コードで要約することができる。Etotはとして表される現在のフレームエネルギーであり、は、フレーム中の入力された音信号のサンプルを表し、Ediffは、現在の合計フレームエネルギーEtotと直前のフレームの合計エネルギーの差である。2サブフレーム長の決定典型的なCELPでは、入力された音信号サンプルは10~30msのフレーム単位で処理され、それらのフレームを、適応コードブックおよび固定コードブックの分析のために数個のサブフレームに分割する。例えば、20msのフレームを使用することができ、4つの5msサブフレームに分割することができる。可変のサブフレーム長は、1つの符号化モードへの時間領域と周波数領域の完全な統合を実現するために使用される機能である。サブフレーム長は、典型的な4分の1フレーム長から、2分の1フレーム、または1フレーム長全体まで変化させることができる。言うまでもなく、別の数のサブフレームの使用を実装することができる。サブフレームの長さ、すなわち時間サポートの決定は、利用可能なビットレートおよびプリプロセッサ102における入力信号の分析、特に分析器209による入力された音信号101の高域周波数のスペクトル動特性、および分析器203から得られる平滑化された開ループのピッチ相関を含む開ループのピッチ分析に基づいて、サブフレーム数の計算器210によって決定される。分析器209は、スペクトル分析器202からの情報に応答して、入力信号101の高域周波数のスペクトル動特性を求める。スペクトル動特性は、そのノイズフロアが入力スペクトル動特性の表現を持たない入力スペクトルとして、ITUT勧告G718、項6722に記載される機能で算出される。44kHz~64kHzの周波数帯における入力された音信号101の分析器209で判定された平均スペクトル動特性が96dB未満であり、最後のフレームが高いスペクトル動特性を有すると見なされた場合、入力信号101は、高域周波数に高いスペクトル動特性成分を有するとは見なされなくなる。その場合は、時間領域符号化モードにより多くのサブフレームを追加するか、または周波数領域寄与分の低域周波数部分のパルスを強制的に増やすことにより、例えば4kHz未満の周波数により多くのビットを割り当てることができる。一方、分析器209による判定で高いスペクトル動特性を有すると見なされなかった最後のフレームの平均スペクトル動特性と比べた、入力信号101の高域周波数成分の平均動特性の増加が、例えば45dBより大きい場合は、入力された音信号101は、例えば4kHzを超える高いスペクトル動的成分を有すると見なされる。その場合は、利用可能なビットレートに応じて、入力された音信号101の高域周波数を符号化するためにいくらかの追加的なビットを使用して、1つまたは複数の周波数パルスの符号化を可能にする。計算器210で決定されるサブフレーム長は、利用可能なビット配分にも依存する。非常に低いビットレート、例えば9kbps未満のビットレートでは、時間領域符号化には1つのサブフレームしか利用することができず、そうでないと、周波数領域符号化に利用可能なビット数が不十分になる。中間ビットレート、例えば9kbps~16kbpsのビットレートでは、高域周波数が高い動的スペクトル成分を含んでいる場合には1サブフレームが使用され、そうでない場合には2サブフレームが使用される。中間から高いビットレート、例えば16kbps前後からそれ以上のビットレートでは、音種類の分類の項の段落0031で定義した平滑化された開ループのピッチ相関Cstが08より高ければ、4サブフレームの事例も利用可能になる。1つまたは2つのサブフレームの場合は、時間領域符号化が適応コードブックの寄与分のみに制限される。すなわちその場合は固定コードブックは使用されないのに対して、4サブフレームの場合は、利用可能なビット配分が十分であれば、適応型および固定コードブックの寄与分が可能となる。4サブフレームの事例は、16kbps前後から可能になる。ビット配分の制約のために、時間領域励振は、低ビットレートでは適応コードブックの寄与分のみからなる。高いビットレート、例えば24kbps以上のビットレートでは、単純な固定コードブックの寄与分を追加することができる。すべての事例で、事後に時間領域符号化の効率性を評価して、どの周波数までそのような時間領域符号化が有用であるかを判断する。3閉ループのピッチ分析時間領域周波数領域混合型符号化モードを使用する場合は、必要であれば固定型代数コードブックの検索を伴う閉ループのピッチ分析を行う。そのために、CELPエンコーダ100は、時間領域励振寄与分の計算器105を備える。この計算器はさらに分析器211を備え、分析器211は、開ループピッチ分析器203で行われる開ループのピッチ分析と、計算器210で行われるサブフレーム長の決定に応じて、閉ループのピッチ分析を行う。閉ループのピッチ分析は当業者にはよく知られており、実装の一例が例えば参考文献ITUTG718RecommendationSection684141に記載される。上記参考文献は、参照により全内容が本明細書に組み込まれる。閉ループのピッチ分析の結果、適応コードブックパラメータとも呼ばれるピッチパラメータが算出され、このパラメータは主としてピッチ遅延およびピッチ利得からなる。適応コードブックの寄与分は通常は、遅延Tにおける過去の励振か、またはそれを補間したバージョンである。適応コードブックインデックスTを符号化し、遠隔のデコーダに送信する。ピッチ利得bも量子化し、遠隔のデコーダに送信する。閉ループのピッチ分析が完了すると、CELPエンコーダ100は、通常は固定コードブックインデックスおよび固定コードブック利得からなる最良の固定コードブックパラメータを見つけるために検索される固定コードブック212を備える。固定コードブックのインデックスおよび利得が固定コードブックの寄与分を形成する。固定コードブックインデックスを符号化し、遠隔のデコーダに送信する。固定コードブック利得も量子化し、遠隔のデコーダに送信する。固定代数コードブックとその検索はCELP符号化技術の当業者によく知られているものと思われ、そのため本開示ではこれ以上説明しない。適応コードブックのインデックスおよび利得ならびに固定コードブックのインデックスおよび利得が、時間領域のCELP励振寄与分を形成する。4対象信号の周波数変換時間領域周波数領域混合型符号化モードの周波数領域符号化の際には、変換領域、例えば周波数領域で2つの信号を表す必要がある。一実施形態では、時間から周波数への変換は、256点タイプIIのDCTを使用して実現することができ、128kHzの内部サンプリング周波数で25Hzの分解能を得ることができるが、他の変換を使用することもできる。別の変換を使用する場合は、周波数の分解能、周波数帯の数および1band当たりの周波数ビンの数をそれに応じて変更する必要がある可能性もある。この点に関して、CELPエンコーダ100は、分析器201による入力された音信号のLP分析で得られた入力LP残差resに応じて周波数領域励振寄与分を計算する計算器107を備える。図2に示すように、計算器107は、DCT213、例えば入力LP残差resのタイプIIのDCTを計算することができる。CELPエンコーダ100は、時間領域の励振寄与分の周波数変換の計算器106も備える。図2に示すように、計算器106は、時間領域の励振寄与分のDCT214、例えばタイプIIのDCTを計算することができる。入力LP残差fresおよび時間領域のCELP励振寄与分fexcの周波数変換は、以下の式を使用して計算することができる。および式中、resは入力LP残差であり、etdは時間領域の励振寄与分であり、Nはフレーム長である。可能な実装では、対応する128kHzの内部サンプリング周波数の場合、フレーム長は256サンプルである。時間領域の励振寄与分は以下の関係により与えられる。etdbvgc式中、vは適応コードブックの寄与分であり、bは適応コードブック利得であり、cは固定コードブックの寄与分であり、gは固定コードブック利得である。時間領域の励振寄与分は、前述で説明したように、適応コードブックの寄与分のみからなる場合があることに留意されたい。5時間領域寄与分のカットオフ周波数一般的なオーディオサンプルでは、時間領域の励振寄与分は、周波数領域の符号化と比べると、符号化の向上に常に大きく貢献するという訳ではない。しばしば、スペクトルの低い部分の符号化は改善するが、スペクトルの高い部分の改善は最小にとどまる。CELPエンコーダ100は、時間領域の励振寄与分で得られる符号化の向上が低くて有用性を失う周波数であるカットオフ周波数の発見器およびフィルタ108を備える。発見器およびフィルタ108は、図2のカットオフ周波数の計算器215とフィルタ216を備える。初めに、各周波数帯の計算器107で得られる周波数変換された入力LP残差と、計算器106で得られる周波数変換された時間領域の励振寄与分との正規化相互相関の算出器303を使用して、時間領域の励振寄与分のカットオフ周波数を計算器215で推定する。例えば16個の周波数帯それぞれに含まれる最後の周波数LfをHz単位で以下のように定義する。説明のための本例では、128kHzのサンプリング周波数で20msフレームの場合に、1周波数帯当たりの周波数ビンの数Bb、1周波数帯当たりの累積周波数ビンCBb、および1周波数帯ごとの正規化相互相関CCを以下のように定義する。ここでかつである。Bbは、1周波数帯Bb当たりの周波数ビンの数であり、CBbは、1周波数帯当たりの累積周波数ビンであり、は周波数帯ごとの正規化された相互相関であり、は周波数帯の励振エネルギーであり、同様には1周波数帯当たりの残余エネルギーである。カットオフ周波数の計算器215は、異なる周波数帯間の相互相関ベクトルを平滑化するためにいくつかの動作を行う、周波数帯間の相互相関の平滑器304を備える。より具体的には、周波数帯間の相互相関の平滑器304は、下記の関係を使用して新しい相互相関ベクトルを算出する。ここで、α095、δ、Nb13、βδ2であるカットオフ周波数の計算器215はさらに、最初のNb個の周波数帯にわたる新しい相互相関ベクトルの平均を計算する計算器305を備える。カットオフ周波数の計算器215はカットオフ周波数モジュール306も備え、モジュール306は、相互相関の制限器406、相互相関の正規化器407、および相互相関が最も低い周波数を見つける発見器408を含む。より具体的には、制限器406は、相互相関ベクトルの平均を05の最小値に制限し、正規化器408は、制限された相互相関ベクトルの平均を0~1の間に正規化する。発見器408は、1つの周波数帯Lfの最後の周波数と、相互相関ベクトルの正規化平均に入力された音信号のスペクトルの幅F2を乗算した値との差を最小にする周波数帯Lfの最後の周波数を見つけることにより、カットオフ周波数の第1の推定値を得る。ここでは、カットオフ周波数の第1の推定値である。低ビットレートで、正規化平均が非常に高くなることが全くない場合、またはの値を人為的に増大して時間領域の寄与分に多少多くの重みを与えたい場合には、の値を固定の倍率、例えば8kbps未満のビットレートで増すことが可能であり、例示的実装ではに常に2が乗算される。カットオフ周波数の精度は、下記の構成要素を算出に追加することによって上げることができる。そのために、カットオフ周波数の計算器215は、下記の関係を使用してすべてのサブフレームの時間領域の励振寄与分の最小または最低のピッチ遅延値から算出される第8高調波の外挿器410を備える。Fs12800Hzであり、Nsubはサブフレームの数であり、Tはサブフレームiの適応コードブックインデックスまたはピッチ遅延である。カットオフ周波数の計算器215は、第8高調波が位置する周波数帯を見つける発見器409も備える。より具体的には、すべてのi2375Hzまたはftc1175HzかつCol07かつGlt≧06またはftc≧1175HzかつCst08かつGlt≧04またはftcQ0かつCol05かつCst05かつGlt≧06Colは開ループのピッチ相関413であり、Cstは、Cst09Col01Cstと定義される開ループのピッチ相関414の平滑化されたバージョンに相当する。さらに、Gltは、時間領域の励振寄与分内で閉ループのピッチ分析器211で取得されたピッチ利得の長期平均に相当する。ピッチ利得の長期平均412は、と定義され、は現在のフレームにわたる平均ピッチ利得である。周波数領域のみの符号化と時間領域周波数領域混合型符号化の間で切り替わる率をさらに下げるために、ハングオーバーを追加することができる。6周波数領域の符号化差分ベクトルの生成時間領域の励振寄与分のカットオフ周波数を定義すると、周波数領域符号化が行われる。CELPエンコーダ100は減算器または計算器109を備え、計算器109は、DCT213で得られる入力LP残差の周波数変換fres502と、DCT214で得られる、ゼロから時間領域の励振寄与分のカットオフ周波数ftcまでの時間領域の励振寄与分の周波数変換fexc501との差で、差分ベクトルfdの第1の部分を形成する。縮小係数603を次の遷移領域ftrans2kHzのために周波数変換fexc501に適用してから、周波数変換fresのそれぞれのスペクトル部分から減算する。減算の結果が、カットオフ周波数ftcからftcftransまでの周波数範囲に相当する差分ベクトルfdの第2の部分を構成する。ベクトルfdの残りの第3の部分には、入力LP残差の周波数変換fres502を使用する。縮小係数603の適用で得られるベクトルfdの縮小された部分は、任意種のフェードアウト機能で行うことができ、数個のみの周波数ビンに短縮することができるが、カットオフ周波数ftcが変化している時に利用可能なビット配分がエネルギー振動アーチファクトを防止するのに十分であると判断される場合は省略することも可能である。例えば、128kHzの場合に256点DCTで1周波数ビンfbin25Hzに相当する25Hzの分解能では、差分ベクトルはとして構築することができる。fres、fexc、およびftcは、上記項4および5で定義している。周波数パルスの検索CELPエンコーダ100は、差分ベクトルfdの周波数量子化器110を備える。差分ベクトルfdは、いくつかの方法を使用して量子化することができる。いずれの場合も、周波数パルスを探し、量子化しなければならない。可能な単純な方法の1つでは、周波数領域符号化は、スペクトル全体で差分ベクトルfdの最もエネルギーが高いパルスの検索を含む。パルス検索の方法は、スペクトルを複数の周波数帯に分割し、周波数帯ごとに一定数のパルスを許可するという単純なものとすることができる。周波数帯ごとのパルスの数は、利用可能なビット配分と、スペクトル内での周波数帯の位置に応じて決まる。通例は、低域周波数により多くのパルスが割り当てられる。量子化された差分ベクトル利用可能なビットレートに応じて、種々の技術を使用して周波数パルスの量子化を行うことができる。一実施形態では、12kbps未満のビットレートでは、単純な検索および量子化方式を使用してパルスの位置および正負符号を符号化することができる。この方式について以下で説明する。例えば3175Hzより低い周波数では、この単純な検索および量子化方式では、階乗パルス符号化に基づく手法を使用する。FPCについては文献、例えば参考文献MittalUAshleyJPandCruzZenoEMLowComplexityFactorialPulseCodingofMDCTCoefficientsusingApproximationofCombinatorialFunctionsIEEEProceedingsonAcousticSpeechandSignalsProcessingVol1Aprilpp289292に記載される。上記参考文献は、参照により全内容が本明細書に組み込まれる。より具体的には、選択器504が、全スペクトルをFPCを使用して量子化しないことを決定する。図5に示すように、FPC符号化とパルス位置および正負符号の符号化が符号器506で行われる。図6に示すように、符号器506は周波数パルスの検索器609を備える。検索は、3175Hzより低い周波数を求めてすべての周波数帯に行われる。次いでFPC符号器610が周波数パルスを処理する。符号器506は、3175Hz以上の周波数について最もエネルギーの高いパルスを見つける発見器611、および、見つかった最もエネルギーが高いパルスの位置と正負符号を量子化する量子化器612も備える。1つの周波数帯で1つ以上のパルスが許される場合は、先に見つかったパルスの振幅を2で割り、その周波数帯全体に再度検索を行う。パルスが見つかるたびに、その位置および正負符号が量子化とビットパッキング段階のために記憶される。以下の擬似コードは、この単純な検索および量子化方式を説明するものである。NBDは周波数帯の数、Npは周波数帯kで符号化されるパルスの数であり、Bbは1周波数帯Bb当たりの周波数ビンの数であり、CBbは上記項5で定義した1周波数帯当たりの累積周波数ビンであり、は見つかったパルス位置を含むベクトルを表し、は、見つかったパルスの正負符号を含むベクトルを表し、Pmaxπpmaxは見つかったパルスのエネルギーを表す。12kbpsより高いビットレートでは、選択器504は、FPCを使用してすべてのスペクトルを量子化すると決定する。図5に示すように、FPC符号化は符号器505で行われる。図6に示すように、符号器505は周波数パルスの検索器607を備える。検索は全周波数帯に行われる。そして、FPC処理器610が見つかった周波数パルスをFPC符号化する。次いで、見つかった各位置ppに、パルス正負符号psを有するパルスの数nbpulsesを足すことにより、量子化された差分ベクトルfdQを得る。周波数帯ごとに、以下の擬似コードで量子化差分ベクトルfdQを表すことができる。forj0jnbpulsesfdQpsノイズの埋め込み精度の差はあるもののすべての周波数帯が量子化される。前項で説明した量子化方法では、周波数帯内にあるすべての周波数ビンが量子化されることは保証されない。これは特に1周波数帯当たりの量子化されるパルスの数が比較的少ない低ビットレートの場合にそうである。そのような量子化されていないビンに起因する可聴アーチファクトの出現を防止するために、ノイズ付加器507でそのような空白に何らかのノイズを付加する。このノイズの付加は、例えば12kbps未満のビットレートではすべてのスペクトルに行われるが、高ビットレートの場合は時間領域の励振寄与分のカットオフ周波数ftcより上だけに適用することができる。単純化のために、ノイズの強度は利用可能なビットレートのみに応じて変動するとする。高いビットレートでは、ノイズレベルは低いが、低ビットレートではノイズレベルは高くなる。ノイズ付加器504は、付加ノイズの強度またはエネルギーレベルが推定器614で決定された後、かつ周波数ごとの利得が算出器615で決定される前に量子化差分ベクトルfdQにノイズを付加する加算器613を備える。この例示的実施形態では、ノイズレベルは符号化ビットレートに直接関係する。例えば、660kbpsでは、ノイズレベルNLは、特定の周波数帯内で符号化されたスペクトルパルスの振幅の04倍であり、そこから漸減して、24kbpsでは周波数帯内で符号化されたスペクトルパルスの振幅02倍の値になる。ノイズは、一定数の連続した周波数ビンのエネルギーが非常に低いスペクトル区間のみに付加され、例えば、エネルギーが非常に低い連続したビンの数Nzがその周波数帯に含まれるビンの数の半分である時に付加される。特定の周波数帯iについて、ノイズは以下のように注入される。周波数帯iについて、CBbは1周波数帯当たりのビンの累積数であり、Bbは特定の周波数帯iにあるビンの数であり、NLはノイズレベルであり、randは1から1の間に制限された乱数生成器である。7周波数帯ごとの利得の量子化周波数量子化器110は、周波数帯ごとの利得の計算器615および計算された周波数帯ごとの利得の量子化器616を含む周波数帯ごとの利得計算器量子化器508を備える。必要な場合はノイズの埋め込みを含んでいる量子化された差分ベクトルfdQが見つかると、計算器615は各周波数帯の周波数帯ごとの利得を算出する。特定周波数帯の周波数帯ごとの利得Gbは、対数領域における量子化されていない差分ベクトルfd信号のエネルギーと、量子化された差分ベクトルfdQのエネルギーとの対数領域として次のように定義される。CBbおよびBbは上記項5で定義している。図5および図6の実施形態では、周波数帯ごとの利得量子化器616は、周波数帯ごとの周波数利得をベクトル量子化する。ベクトル量子化の前に、低ビットレートでは、最後の利得を別に量子化し、残りのすべての15個の利得を量子化された最後の利得で割る。次いで、正規化された残りの15個の利得がベクトル量子化される。高いビットレートでは、周波数帯ごとの利得の平均値が初めに量子化され、次いで、例えば16個の周波数帯のすべての周波数帯ごとの利得から、それらの周波数帯ごとの利得がベクトル量子化される前にその平均値が除去される。使用するベクトル量子化は、周波数帯ごとの利得を含んでいるベクトルと、特定のコードブックの項目との間の距離の対数領域における標準的な最小化とすることができる。周波数領域符号化モードでは、利得は、量子化されていないベクトルfdのエネルギーを量子化されたベクトルfdQに一致させるように、周波数帯ごとに計算器615で算出される。利得は量子化器616でベクトル量子化され、周波数帯ごとに乗算器509を通じて量子化ベクトルfdQに適用される。あるいは、周波数帯の一部のみを量子化のために選択することにより、スペクトル全体について12kbps未満のビットレートでFPC符号化方式を使用することも可能である。周波数帯の選択を行う前に、量子化されていない差分ベクトルfdの周波数帯のエネルギーEdを量子化する。このエネルギーは次のように算出される。CBbおよびBbは上記の項5で定義している。周波数帯エネルギーEdの量子化を行うために、まず、使用する16個の周波数帯のうち最初の12個の周波数帯の平均エネルギーを量子化し、16個すべての周波数帯のエネルギーから減算する。そして、すべての周波数帯を、3つまたは4つの周波数帯からなるグループごとにベクトル量子化する。使用するベクトル量子化は、周波数帯ごとの利得を含んでいるベクトルと、特定のコードブックの項目との間の距離の対数領域における標準的な最小化とすることができる。十分なビットが利用可できない場合は、最初の12個の周波数帯のみを量子化し、先行する3つの周波数帯の平均を使用するか、または他の方法により最後の4周波数帯を外挿することが可能である。量子化されていない差分ベクトルの周波数帯のエネルギーが量子化されると、デコーダ側で複製できるようにエネルギーを降順に並べ替えることが可能になる。この並べ替えの時に、2kHz未満のすべてのエネルギー帯を常に維持し、最もエネルギーが高い周波数帯のみをパルス振幅および正負符号の符号化のためにFPCに渡す。この手法では、FPC方式で符号化されるベクトルは小さくなるが、より広い周波数範囲が対象となる。すなわち、全スペクトルにわたって重要なエネルギー事象をカバーするのに必要なビットが少なくて済む。パルス量子化の工程後、上記と同様のノイズの埋め込みが必要となる。そして、量子化された差分ベクトルfdQのエネルギーEdQを量子化されていない差分ベクトルfdの量子化されたエネルギーEdに一致させるように、周波数帯ごとに利得調整係数Gaを算出する。そして、その周波数帯ごとの利得調整係数を量子化された差分ベクトルfdQに適用する。Ga10EdEdQここでEdは、上記で定義したように、量子化されていない差分ベクトルfdの周波数帯ごとの量子化されたエネルギーである。周波数領域符号化段階が完了すると、加算器111で、フィルタリング後の周波数変換された時間領域の励振寄与分fexcFに、周波数量子化された差分ベクトルfdQを合計することにより、合計の時間領域周波数領域励振を求める。拡張CELPエンコーダ100がビット割り当てを時間領域のみの符号化モードから時間領域周波数領域混合型符号化モードに変更すると、時間領域のみの符号化モードの周波数帯当たりの励振スペクトルエネルギーは、時間領域周波数領域混合型符号化モードの1周波数帯当たりの励振スペクトルエネルギーと一致しない。このエネルギーの不一致により、低ビットレートでより聞こえやすい切替えアーチファクトが生じる可能性がある。このビットの再割り当てで生じる可聴の劣化を低減するために、周波数帯ごとに長期の利得を算出し、再割り当て後に合計励振に適用して、数フレームにわたって各周波数帯のエネルギーを補正することができる。そして、周波数量子化された差分ベクトルfdQと、周波数変換され、フィルタリングされた時間領域の励振寄与分fexcFとの和を、例えばIDCT220からなる変換器112で変換して時間領域に戻す。最後に、IDCT220で得られる合計励振信号をLP合成フィルタ113でフィルタリングすることにより、合成信号を算出する。周波数量子化された差分ベクトルfdQと、周波数変換され、フィルタリングされた時間領域の励振寄与分fexcFとの和は、遠隔のデコーダに送信される時間領域周波数領域混合型励振を形成する。遠隔のデコーダも、例えばIDCT220を使用して時間領域周波数領域混合型励振を変換して時間領域に戻す変換器112を備える。最後に、IDCT220で得られる合計励振信号をフィルタリングすることにより、すなわち時間領域周波数領域混合型励振をLP合成フィルタ113でフィルタリングすることにより、デコーダで合成信号が算出される。一実施形態では、時間領域の励振寄与分のみを使用してサブフレーム単位でCELP符号化メモリを更新する一方で、合計励振を使用してそれらのメモリをフレーム境界で更新する。別の可能な実装では、時間領域の励振寄与分のみを使用して、サブフレーム単位でCELP符号化メモリを更新すると共にフレーム境界でも更新する。その結果、周波数領域の量子化された信号がコアCELP層と別に上層の量子化層を構成する埋め込み構造が得られる。これは、特定の応用例で利点がある。この特定の事例では、固定コードブックを常に使用して良好な知覚的品質を維持し、同じ理由からサブフレーム数は常に4とする。ただし、周波数領域分析をフレーム全体に適用することができる。この埋め込み型の手法は、12kbps前後からそれ以上のビットレートに有効である。上述の開示は、非制限的な例示的実施形態に関し、それらの実施形態は、付記の特許請求の範囲内で任意に変更を加えることができる。