(57)【特許請求の範囲】
【請求項１】
隣接するブロックのオーディオ信号が重複して直交変換され、符号化された結果得られる符号化データを復号する復号手段と、
前記復号手段により復号された前記符号化データを逆直交変換し、前記ブロック単位の時系列波形要素を得る逆直交変換手段と、
前記復号手段による復号時にエラーが発生した前記ブロックであるエラーブロックの直前の前記ブロックの前記時系列波形要素と、そのブロックより所定数前のブロックの前記時系列波形要素との相関を求める相関計算手段と、
前記所定数ごとに、前記相関計算手段により求められた前記相関に基づいて、前記エラーブロックの直前の前記ブロックより前記所定数前の前記ブロックの評価値を計算し、前記評価値が最大値であるときの前記所定数を、前記エラーブロックのブロック単位の基本周期として求める周期計算手段と、
前記周期計算手段により求められた前記基本周期に基づいて、前記エラーブロックより前記ブロック単位の基本周期だけ前の前記ブロックの前記時系列波形要素を用いて、前記エラーブロックの前記時系列波形要素の代替信号を生成する生成手段と、
前記評価値の最大値が所定の閾値より小さい場合、前記評価値が最大値であるときの前記所定数だけ前記エラーブロックの直前の前記ブロックより前のブロックから所定のサンプル数だけずれたブロックの時系列波形要素と、前記エラーブロックの直前の前記ブロックの前記時系列波形要素との相関をずれ相関として前記所定のサンプル数ごとに求め、前記ずれ相関が前記相関計算手段により求められる前記相関より大きい場合、前記ずれ相関が最大値であるときの前記所定のサンプル数を、前記エラーブロックの基本周期の前記ブロックの周期に対するずれ量として求める周期調節手段と
を備え、
前記生成手段は、前記ずれ相関が前記相関計算手段により求められる前記相関より大きい場合、前記ブロック単位の基本周期と前記ずれ量とに基づいて、前記エラーブロックより前記ブロック単位の基本周期と前記ずれ量だけ前のブロックの時系列波形要素を用いて、前記代替信号を生成する
復号装置。
【請求項２】
前記周期調節手段は、前記評価値の最大値が所定の閾値以上である場合、前記エラーブロックの直前の前記ブロックより前記ブロック単位の基本周期の1/m(mは2以上前記ブロック単位の基本周期以下の整数)倍前の前記ブロックの前記時系列波形要素と、前記エラーブロックの直前の前記ブロックの前記時系列波形要素との相関を分数相関としてmごとに求め、前記分数相関が前記相関計算手段により求められる前記相関より大きい場合、前記ブロック単位の基本周期を前記分数相関が最大値であるときの前記1/m倍に補正し、
前記生成手段は、前記分数相関が前記相関計算手段により求められる前記相関より大きい場合、前記周期調節手段による補正後の前記ブロック単位の基本周期に基づいて、その基本周期だけ前記エラーブロックより前の前記ブロックの前記時系列波形要素を用いて、前記代替信号を生成する
請求項１に記載の復号装置。
【請求項３】
前記生成手段は、前記エラーブロックの次のブロックの復号時にエラーが発生した場合、前記エラーブロックより前記ブロック単位の基本周期だけ前の前記ブロックの次のブロックの前記時系列波形要素を用いて、前記エラーブロックの次のブロックの前記時系列波形要素の代替信号を生成する
請求項１に記載の復号装置。
【請求項４】
前記生成手段は、前記エラーの発生が連続している期間に応じて前記代替信号を減衰させる
請求項３に記載の復号装置。
【請求項５】
前記ブロックの後半の前記時系列波形要素と、前記ブロックより１つ後ろのブロックの前半の前記時系列波形要素を加算する加算手段
をさらに備え、
前記加算手段は、前記エラーブロックの次のブロックの復号時にエラーが発生していない場合、前記エラーブロックの後半の前記時系列波形要素の代替信号と、前記逆直交変換手段により得られる前記エラーブロックの次のブロックの前半の前記時系列波形要素とを加算する
請求項１に記載の復号装置。
【請求項６】
前記逆直交変換手段により得られた前記時系列波形要素を記憶する記憶手段
をさらに備える
請求項１に記載の復号装置。
【請求項７】
前記記憶手段は、所定の圧縮形式で圧縮された前記時系列波形要素を記憶する
請求項６に記載の復号装置。
【請求項８】
復号装置が、
隣接するブロックのオーディオ信号が重複して直交変換され、符号化された結果得られる符号化データを復号する復号ステップと、
前記復号ステップの処理により復号された前記符号化データを逆直交変換し、前記ブロック単位の時系列波形要素を得る逆直交変換ステップと、
前記復号ステップの処理による復号時にエラーが発生した前記ブロックであるエラーブロックの直前の前記ブロックの前記時系列波形要素と、そのブロックより所定数前のブロックの前記時系列波形要素との相関を求める相関計算ステップと、
前記所定数ごとに、前記相関計算ステップの処理により求められた前記相関に基づいて、前記エラーブロックの直前の前記ブロックより前記所定数前の前記ブロックの評価値を計算し、前記評価値が最大値であるときの前記所定数を、前記エラーブロックのブロック単位の基本周期として求める周期計算ステップと、
前記周期計算ステップの処理により求められた前記基本周期に基づいて、前記エラーブロックより前記ブロック単位の基本周期だけ前の前記ブロックの前記時系列波形要素を用いて、前記エラーブロックの前記時系列波形要素の代替信号を生成する生成ステップと、
前記評価値の最大値が所定の閾値より小さい場合、前記評価値が最大値であるときの前記所定数だけ前記エラーブロックの直前の前記ブロックより前のブロックから所定のサンプル数だけずれたブロックの時系列波形要素と、前記エラーブロックの直前の前記ブロックの前記時系列波形要素との相関をずれ相関として前記所定のサンプル数ごとに求め、前記ずれ相関が前記相関計算ステップの処理により求められる前記相関より大きい場合、前記ずれ相関が最大値であるときの前記所定のサンプル数を、前記エラーブロックの基本周期の前記ブロックの周期に対するずれ量として求める周期調節ステップと
を含み、
前記生成ステップの処理では、前記ずれ相関が前記相関計算ステップの処理により求められる前記相関より大きい場合、前記ブロック単位の基本周期と前記ずれ量とに基づいて、前記エラーブロックより前記ブロック単位の基本周期と前記ずれ量だけ前のブロックの時系列波形要素を用いて、前記代替信号を生成する
復号方法。
【請求項９】
コンピュータに、
隣接するブロックのオーディオ信号が重複して直交変換され、符号化された結果得られる符号化データを復号する復号ステップと、
前記復号ステップの処理により復号された前記符号化データを逆直交変換し、前記ブロック単位の時系列波形要素を得る逆直交変換ステップと、
前記復号ステップの処理による復号時にエラーが発生した前記ブロックであるエラーブロックの直前の前記ブロックの前記時系列波形要素と、そのブロックより所定数前のブロックの前記時系列波形要素との相関を求める相関計算ステップと、
前記所定数ごとに、前記相関計算ステップの処理により求められた前記相関に基づいて、前記エラーブロックの直前の前記ブロックより前記所定数前の前記ブロックの評価値を計算し、前記評価値が最大値であるときの前記所定数を、前記エラーブロックのブロック単位の基本周期として求める周期計算ステップと、
前記周期計算ステップの処理により求められた前記基本周期に基づいて、前記エラーブロックより前記ブロック単位の基本周期だけ前の前記ブロックの前記時系列波形要素を用いて、前記エラーブロックの前記時系列波形要素の代替信号を生成する生成ステップと、
前記評価値の最大値が所定の閾値より小さい場合、前記評価値が最大値であるときの前記所定数だけ前記エラーブロックの直前の前記ブロックより前のブロックから所定のサンプル数だけずれたブロックの時系列波形要素と、前記エラーブロックの直前の前記ブロックの前記時系列波形要素との相関をずれ相関として前記所定のサンプル数ごとに求め、前記ずれ相関が前記相関計算ステップの処理により求められる前記相関より大きい場合、前記ずれ相関が最大値であるときの前記所定のサンプル数を、前記エラーブロックの基本周期の前記ブロックの周期に対するずれ量として求める周期調節ステップと
を含み、
前記生成ステップの処理では、前記ずれ相関が前記相関計算ステップの処理により求められる前記相関より大きい場合、前記ブロック単位の基本周期と前記ずれ量とに基づいて、前記エラーブロックより前記ブロック単位の基本周期と前記ずれ量だけ前のブロックの時系列波形要素を用いて、前記代替信号を生成する
処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、復号装置、復号方法、およびプログラムに関し、特に、復号時にエラーが発生した場合に、違和感の少ない代替信号を容易に生成することができるようにした復号装置、復号方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、隣接するブロックのオーディオ信号を重複させて直交変換し、符号化する符号化装置が存在する。このような符号化装置において生成された符号化データを復号化し、逆直交変換してオーディオ信号を出力する復号化装置は、復号時にエラーが発生した場合、エラーをマスキングする目的で代替信号を生成する。
【０００３】
代替信号の生成方法としては、例えば、ピッチ周期を求め、そのピッチ周期に基づいて過去の復号信号から代替信号を生成する方法がある（例えば、特許文献１および２参照）。
【０００４】
特許文献１および特許文献２に記載されている代替信号の生成方法では、エラーが発生する直前の復号信号と、その復号信号から所定のサンプル数遡った過去の復号信号との自動相関を所定のサンプル数ごとに求め、その自動相関が最大となるときの所定のサンプル数をピッチ周期として求める。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２００２−５４２５１８号公報
【特許文献２】特表２００２−５４２５１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した方法でピッチ周期を求めるためには多くの演算が必要である。特に、サンプリング周波数が高い場合、ピッチ周期の想定範囲に対応するサンプル数の範囲が広いため、ピッチ周期を求めるための演算量は大きくなる。従って、ピッチ周期に基づいて、過去の復号信号から違和感の少ない代替信号を生成することは困難であった。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、復号時にエラーが発生した場合に、違和感の少ない代替信号を容易に生成することができるようにするものである。
【課題を解決するための手段】
【０００８】
本発明の一側面の復号装置は、隣接するブロックのオーディオ信号が重複して直交変換され、符号化された結果得られる符号化データを復号する復号手段と、前記復号手段により復号された前記符号化データを逆直交変換し、前記ブロック単位の時系列波形要素を得る逆直交変換手段と、前記復号手段による復号時にエラーが発生した前記ブロックであるエラーブロックの直前の前記ブロックの前記時系列波形要素と、そのブロックより所定数前のブロックの前記時系列波形要素との相関を求める相関計算手段と、前記所定数ごとに、前記相関計算手段により求められた前記相関に基づいて、前記エラーブロックの直前の前記ブロックより前記所定数前の前記ブロックの評価値を計算し、前記評価値が最大値であるときの前記所定数を、前記エラーブロックのブロック単位の基本周期として求める周期計算手段と、前記周期計算手段により求められた前記基本周期に基づいて、前記エラーブロックより前記ブロック単位の基本周期だけ前の前記ブロックの前記時系列波形要素を用いて、前記エラーブロックの前記時系列波形要素の代替信号を生成する生成手段と、前記評価値の最大値が所定の閾値より小さい場合、前記評価値が最大値であるときの前記所定数だけ前記エラーブロックの直前の前記ブロックより前のブロックから所定のサンプル数だけずれたブロックの時系列波形要素と、前記エラーブロックの直前の前記ブロックの前記時系列波形要素との相関をずれ相関として前記所定のサンプル数ごとに求め、前記ずれ相関が前記相関計算手段により求められる前記相関より大きい場合、前記ずれ相関が最大値であるときの前記所定のサンプル数を、前記エラーブロックの基本周期の前記ブロックの周期に対するずれ量として求める周期調節手段とを備え、前記生成手段は、前記ずれ相関が前記相関計算手段により求められる前記相関より大きい場合、前記ブロック単位の基本周期と前記ずれ量とに基づいて、前記エラーブロックより前記ブロック単位の基本周期と前記ずれ量だけ前のブロックの時系列波形要素を用いて、前記代替信号を生成する復号装置である。
【０００９】
本発明の一側面の復号方法およびプログラムは、本発明の一側面の復号装置に対応する。
【００１０】
本発明の一側面においては、隣接するブロックのオーディオ信号が重複して直交変換され、符号化された結果得られる符号化データが復号され、復号された前記符号化データが逆直交変換されて、前記ブロック単位の時系列波形要素が得られ、復号時にエラーが発生した前記ブロックであるエラーブロックの直前の前記ブロックの前記時系列波形要素と、そのブロックより所定数前のブロックの前記時系列波形要素との相関が求められ、前記所定数ごとに、前記相関に基づいて、前記エラーブロックの直前の前記ブロックより前記所定数前の前記ブロックの評価値が計算され、前記評価値が最大値であるときの前記所定数が、前記エラーブロックのブロック単位の基本周期として求められる。前記評価値の最大値が所定の閾値より小さい場合、前記評価値が最大値であるときの前記所定数だけ前記エラーブロックの直前の前記ブロックより前のブロックから所定のサンプル数だけずれたブロックの時系列波形要素と、前記エラーブロックの直前の前記ブロックの前記時系列波形要素との相関がずれ相関として前記所定のサンプル数ごとに求められ、前記ずれ相関が前記相関より大きい場合、前記ずれ相関が最大値であるときの前記所定のサンプル数が、前記エラーブロックの基本周期の前記ブロックの周期に対するずれ量として求められる。そして、前記ずれ相関が前記相関より大きい場合、前記ブロック単位の基本周期と前記ずれ量とに基づいて、前記エラーブロックより前記ブロック単位の基本周期と前記ずれ量だけ前のブロックの時系列波形要素が、前記エラーブロックの前記時系列波形要素の代替信号として生成される。
【００１１】
本発明の一側面の復号装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【発明の効果】
【００１２】
本発明の一側面によれば、復号時にエラーが発生した場合に、違和感の少ない代替信号を容易に生成することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明を適用した復号装置の一実施の形態の構成例を示すブロック図である。
【図２】MDCTスペクトルを説明する図である
【図３】新たに復号時のエラーが発生した場合の時系列信号を示す図である。
【図４】ブロック単位の基本周期の補正について説明する図である。
【図５】基本周期の補正について説明する図である。
【図６】エラーが発生しなくなった場合の時系列信号を示す図である。
【図７】図１の復号装置の復号処理を説明するフローチャートである。
【図８】図７の代替波形要素生成処理の詳細を説明するフローチャートである。
【図９】コンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
＜一実施の形態＞
［復号装置の一実施の形態の構成例］
図１は、本発明を適用した復号装置の一実施の形態の構成例を示すブロック図である。
【００１５】
図１の復号装置１０は、逆多重化器１１、パラメータ解釈器１２、スペクトル復号化器１３、IDCT（Inverse Discrete Cosine Transform）変換器１４、窓関数乗算器１５、スイッチ１６、加算器１７、カウンタ制御器１８、メモリ１９、相関計算器２０、評価計算器２１、周期調節器２２、およびゲイン調節器２３により構成される。復号装置１０は、隣接するブロックの時系列信号であるオーディオ信号が重複して直交変換され、符号化された結果得られる符号化データを復号する。
【００１６】
具体的には、復号装置１０の逆多重化器１１は、図示せぬ回線等を介して符号化データのパケットを受信する。逆多重化器１１は、受信された符号化データのパケットを逆多重化し、符号化データを抽出する。このとき、逆多重化器１１は、パケットの損失やエラーの発生を検出し、検出結果に応じてスイッチ１６、加算器１７、カウンタ制御器１８、および相関計算器２０に供給する復号時のエラーの発生の有無を表すerrFlagを設定する。また、逆多重化器１１は、パケットの損失やエラーの発生を検出しない場合、抽出された符号化データをパラメータ解釈器１２に供給する。
【００１７】
パラメータ解釈器（Parameter Parser）１２は、逆多重化器１１から供給される符号化データからオーディオ信号の符号化スペクトルをブロック単位で抽出する。このとき、パラメータ解釈器１２は、抽出エラーの発生を検出し、検出結果に応じてスイッチ１６、加算器１７、カウンタ制御器１８、および相関計算器２０に供給するerrFlagを設定する。また、パラメータ解釈器１２は、抽出エラーの発生を検出しない場合、抽出されたブロック単位の符号化スペクトルをスペクトル復号化器１３に供給する。
【００１８】
スペクトル復号化器１３は、パラメータ解釈器１２から供給されるブロック単位の符号化スペクトルを復号化する。スペクトル復号化器１３は、その結果得られるJ番目のブロックのk（0≦ｋ≦NB-1）個のMDCTスペクトルXＪ(k)をIDCT変換器１４に供給する。なお、NBとは、ブロック長であり、ブロックのサンプル数、即ち変換ブロック長NTの1/2の値である。
【００１９】
IDCT変換器１４と窓関数乗算器１５は、逆直交変換手段として機能し、スペクトル復号化器１３から供給されるMDCTスペクトルXＪ(k)に対してIMDCT（Inverse Modified Discrete Cosine Transform）の一部を行う。具体的には、IDCT変換器１４は、スペクトル復号化器１３から供給されるMDCTスペクトルXＪ(k)に対してIDCTを行い、その結果得られる時系列信号を窓関数乗算器１５に供給する。
【００２０】
窓関数乗算器１５は、IDCT変換器１４から供給される時系列信号に対して逆方向の窓関数を乗算し、その結果得られるブロック単位の時系列信号をJ番目のブロックの波形要素ｙ１，Ｊ(i)（0≦i≦2NB-1）としてスイッチ１６とメモリ１９に供給する。
【００２１】
スイッチ１６は、逆多重化器１１から供給されるerrFlagに応じて、窓関数乗算器１５から供給される波形要素ｙ１，Ｊ(i)（0≦i≦2NB-1）、または、ゲイン調節器２３から供給されるJ番目のブロックの半分の波形要素の代替信号である代替波形要素ｙ’１，Ｊを選択し、加算器１７に供給する。
【００２２】
加算器１７は、スイッチ１６から供給される波形要素ｙ１，Ｊ(i)（0≦i≦2NB-1）のうちの半分の波形要素ｙ１，Ｊ、または、代替波形要素ｙ’１，Ｊと、メモリ１９に記憶されている１ブロック前の半分の波形要素ｙ１，Ｊ−１または代替波形要素ｙ’１，Ｊ−１とを加算する。加算器１７は、逆多重化器１１およびパラメータ解釈器１２から供給されるerrFlagおよびカウンタ制御器１８から供給されるerrCntに基づいて加算結果を減衰させる。即ち、加算器１７は、errFlagおよびerrCntに基づいて加算結果の振幅を抑圧する。加算器１７は、その結果得られる時系列信号ｙを出力するとともに、メモリ１９に供給して記憶させる。
【００２３】
カウンタ制御器１８は、逆多重化器１１およびパラメータ解釈器１２から供給されるerrFlagに応じてerrCntを設定し、そのerrCntを加算器１７に供給する。
【００２４】
メモリ１９は、記憶手段として機能し、窓関数乗算器１５から供給される少なくとも最近のN個（Nは整数）の波形要素ｙ１，Ｊ(i)（0≦i≦2NB-1）と、ゲイン調節器２３から供給される半ブロックの代替波形要素ｙ’１，Ｊとを記憶する。なお、メモリ１９は、波形要素ｙ１，Ｊ(i)（0≦i≦2NB-1）や半ブロックの代替波形要素ｙ’１，Ｊをそのまま記憶してもよいし、対数圧縮などの圧縮形式で圧縮された状態で記憶してもよい。
【００２５】
また、メモリ１９は、評価計算器２１から供給されるブロック単位のピッチ周期等の基本周期n０、並びに、周期調節器２２から供給される、基本周期を調節するためのずれ量D０および割合m０を記憶する。さらに、メモリ１９は、加算器１７から供給される時系列信号ｙを記憶する。
【００２６】
相関計算器２０は、逆多重化器１１およびパラメータ解釈器１２から供給されるerrFlagに基づいて、メモリ１９から、復号時にエラーが発生したブロックの直前のブロックの前半の波形要素と、そのブロックよりn（1≦n≦N）個前のブロックの前半の波形要素を読み出す。そして、相関計算器２０は、復号時にエラーが発生したブロックの直前のブロックの前半の波形要素と、そのブロックよりn個前のブロックの前半の波形要素との相関値Cｎをnごとに求め、評価計算器２１に供給する。
【００２７】
評価計算器２１は、nごとに、相関計算器２０から供給される相関値Cｎに基づいて、復号時にエラーが発生したブロックの直前のブロックよりn個前のブロックの評価値Ev(n)を計算する。評価計算器２１は、評価値Ev(n)がN個の評価値Ev(n)のうちの最大値であるときのnを、復号時にエラーが発生したブロックのブロック単位の基本周期n０に決定し、メモリ１９と周期調節器２２に供給する。また、評価計算器２１は、評価値Ev(n０)と相関値Cｎ０を周期調節器２２に供給する。
【００２８】
周期調節器２２は、評価計算器２１から供給されるブロック単位の基本周期n０、評価値Ev(n０)、および相関値Cｎ０、並びに、メモリ１９に記憶されている半ブロックの波形要素に基づいて、ブロック単位の基本周期n０をn０/m０に補正する。また、周期調節器２２は、ブロック単位の基本周期n０および相関値Cｎ０、並びに、メモリ１９に記憶されている波形要素および時系列信号に基づいて、復号時にエラーが発生したブロックの基本周期の、ブロックの周期に対するずれ量D０を求める。周期調節器２２は、補正後のブロック単位の基本周期n０/m０に対する補正前のブロック単位の基本周期ｎ０に対する割合m０と、基本周期のブロックの周期に対するずれ量D０を、メモリ１９に供給する。
【００２９】
ゲイン調節器２３は、メモリ１９からブロック単位の基本周期n０、割合m０、およびずれ量D０を読み出す。また、ゲイン調節器２３は、生成手段として機能し、ブロック単位の基本周期n０、割合m０、およびずれ量D０に基づいて、復号時にエラーが発生されたブロックよりn０/m０＋D０前のブロックの半分の波形要素を求める。ゲイン調節器２３は、求められた半ブロックの波形要素を増幅して半ブロックの代替波形要素ｙ’１，Ｊを生成し、メモリ１９およびスイッチ１６に供給する。
【００３０】
［MDCTスペクトルの説明］
図２は、MDCTスペクトルXＪ(k)を説明する図である。
【００３１】
図２に示すように、MDCTスペクトルXJ(k)は、隣接するブロックのオーディオ信号が重複するように、直交変換されたものである。具体的には、MDCTでは、Jブロックの前半の時系列信号x(i+J・NB)（0≦i≦NB-1）が１つ前のブロックJ-1の後半の時系列信号x(i+（J-1）・NB)（NB≦i≦2NB-1）と重複する。また、Jブロックの後半の時系列信号x(i+J・NB)（NB≦i≦2NB-1）が、１つ後ろのブロックJ+1の前半の時系列信号x(i+（J+1）・NB)（0≦i≦NB-1）と重複する。そして、以下の式（１）を用いて、2NB(=NT)サンプルのJブロックの時系列信号x(i+J・NB)（0≦i≦2NB-1）が、NB個のMDCTスペクトルXJ(k)に変換される。
【００３２】
【数１】
0005637379.tif 000002
【００３３】
なお、式（１）において、w１(i)は順方向の窓関数である。
【００３４】
以上のように、MDCTスペクトルXＪ(k)は、隣接するブロックのオーディオ信号が重複するように直交変換されたものであるので、ブロック歪が少ない。
【００３５】
図１のIDCT変換器１４と窓関数乗算器１５は、以上のようにして得られたNB個のMDCTスペクトルXＪ(k)を、以下の式（２）を用いて2NB(=NT)サンプルの波形要素ｙ１，Ｊ(i)(0≦i≦2NB-1)に変換する。具体的には、IDCT変換器１４は、以下の式（２）のMDCTスペクトルXＪ(k)と変換係数b(k,i)の乗算を行い、窓関数乗算器１５は、その乗算結果に逆方向の窓関数w２(i)を乗算する。
【００３６】
【数２】
0005637379.tif 000003
【００３７】
そして、図１の加算器１７は、以下の式（３）を用いて、Ｊブロックの前半の波形要素y１,J(i)（0≦i≦NB-1）とJ-1ブロックの後半の波形要素y１,J−１(i+NB)（0≦i≦NB-1）を加算し、時系列信号y(i+J・NB)（0≦i≦NB-1）を得る。
【００３８】
【数３】
0005637379.tif 000004
【００３９】
[代替時系列信号の生成方法]
図３乃至図６は、代替時系列信号の生成方法を説明する図である。なお、図３乃至図６において、実線は、復号時にエラーが発生していないブロックの時系列信号を表し、点線は、復号時にエラーが発生したブロックの時系列信号を表している。
【００４０】
図３に示すように、J番目のブロックにおいて新たに復号時のエラーが発生した場合、1つ前のJ-1番目のブロックにおいては、復号時にエラーが発生していない。従って、J番目のブロックの時系列信号y(i+J・NB)（0≦i≦NB-1）のうち、J-1番目のブロックの後半の波形要素y１,J−１(i＋NB)（0≦i≦NB-1）にはエラーが発生していないが、J番目のブロックの前半の波形要素y１,J(i)（0≦i≦NB-1）にはエラーが発生している。
【００４１】
従って、まず、相関計算器２０は、エラーが発生したJ番目のブロックの直前のJ-1番目のブロックの後半の波形要素y１,J−１(i＋NB)（0≦i≦NB-1）と、J-1番目のブロックからn個前のJ-1-n番目のブロックの後半の波形要素y１,J−１−ｎ(i＋NB)（0≦i≦NB-1）との相互相関値Rｎを、nごとに、以下の式（４）により求める。
【００４２】
【数４】
0005637379.tif 000005
【００４３】
また、相関計算器２０は、J-1-n番目のブロックの後半の波形要素y１,J−１−ｎ(i＋NB)（0≦i≦NB-1）の電力値Pｎを以下の式（５）により求める。
【００４４】
【数５】
0005637379.tif 000006
【００４５】
そして、相関計算器２０は、以上のようにして求められた相互相関値Rｎと電力値Pｎを用いて、以下の式（６）により相関値Cｎを求める。
【００４６】
【数６】
0005637379.tif 000007
【００４７】
次に、評価計算器２１は、相関計算器２０により求められた相関値Cｎを用いて、ブロック間隔であるnなどを加味した以下の式（７）により、評価値Ev(n)を求める。
【００４８】
【数７】
0005637379.tif 000008
【００４９】
なお、評価値Ev(n)を求める式は式（７）に限定されない。
【００５０】
評価計算器２１は、以上のようにして求められた評価値Ev(n)が最大となるときのnをブロック単位の基本周期n０に決定する。
【００５１】
ここで、一般的なオーディオ信号の基本周期は、大体2.5msec乃至20msecであり、周期性の強いオーディオ信号では、2.5msec乃至20msecに対応するnの範囲内で相関が高くなると考えられる。例えば、ブロックの周期が1/750秒(1.33msec)のような短い周期である場合、基本周期はブロックの周期の略2倍乃至15倍であり、周期性の強いオーディオ信号では、nが2乃至15の範囲内にあるとき相関が高くなると考えられる。なお、この場合、サンプリング周波数が48000Hzであるとすると、ブロック長NBは64になり、変換ブロック長NTは128となる。
【００５２】
以上のように、周期性の強いオーディオ信号では、2.5msec乃至20msecに対応するnの範囲内で相関が高くなると考えられるので、復号装置１０は、例えばNを20msecに対応するnの最大値以上に設定する。
【００５３】
しかしながら、ブロック単位の基本周期n０が比較的大きい場合、ブロック単位の基本周期n０は、実際のブロック単位の基本周期の整数倍である可能性がある。そこで、周期調整器２２は、上述した式（４）乃至式（６）を用いて、図４に示すように、エラーが発生したJ番目のブロックの直前のJ-1番目のブロックの後半の波形要素y１,J−１(i＋NB)（0≦i≦NB-1）と、J-1-n０/m番目の後半の波形要素y１,Ｊ−１−ｎ０/ｍ(i＋NB)（0≦i≦NB-1）との相関値Cｎ０/ｍ（分数相関）をmごとに求める。なお、mは2以上ブロック単位の基本周期n０以下の整数であり、波形要素y1,Ｊ−１―ｎ０／ｍ(i+NB)（0≦i≦NB-1）は、以下の式（８）により求められる。
【００５４】
【数８】
0005637379.tif 000009
【００５５】
そして、周期調整器２２は、相関値Cｎ０/ｍが相関値Cｎ０より大きい場合、割合m０を相関値Cｎ０/ｍが最大値であるときのmに設定することにより、ブロック単位の基本周期n０をn０/m０に補正する。一方、相関値Cｎ０/ｍが相関値Cｎ０より大きくはない場合、周期調整器２２は、割合m０を1に設定し、ブロック単位の基本周期を補正しない。
【００５６】
また、ブロック単位の基本周期n０の評価値Ev(n０)が比較的小さい場合、オーディオ信号の周期性が低いか、基本周期とブロックの周期にずれが生じていると考えられる。そこで、周期調整器２２は、図５に示すように、J-1-n０番目のブロックからDサンプルだけ前にずれたブロックの時系列信号y(i+(J-n０)NB-D)（0≦i≦NB-1）から、J-1-n０番目のブロックの後半の波形要素y'’1,Ｊ−１―ｎ０(i+NB)（0≦i≦NB-1）を、以下の式（９）によりDごとに求める。
【００５７】
【数９】
0005637379.tif 000010
【００５８】
そして、周期調整器２２は、式（９）によりDごとに求められた後半の波形要素y''1, Ｊ−１―ｎ０(i+NB)（0≦i≦NB-1）と、J-1番目のブロックの後半の波形要素y１,J−１(i＋NB)（0≦i≦NB-1）との相関値Cｎ０，Ｄ（ずれ相関）を、上述した式（４）乃至（６）と同様の式を用いてDごとに求める。
【００５９】
周期調整器２２は、相関値Cｎ０，Ｄが相関値Cｎ０より大きい場合、相関値Cｎ０，Ｄが最大値であるときのDをずれ量D０として求める。一方、相関値Cｎ０，Ｄが相関値Cｎ０より大きくはない場合、周期調節器２２は、ずれ量D０を0に設定する。
【００６０】
以上のようにして、ブロック単位の基本周期n０、割合m０、およびずれ量D０が決定されると、ゲイン調節器２３は、以下の式（１０）により、復号時にエラーが発生したJ番目のブロック前半の波形要素y1,J(i)（0≦i≦NB-1）の代替波形要素y'1,J(i)（0≦i≦NB-1）を生成する。
【００６１】
【数１０】
0005637379.tif 000011
【００６２】
そして、加算器１７は、以下の式（１１）により、時系列信号y(i+J・NB)（0≦i≦NB-1）の代替時系列信号y'(i+J・NB)（0≦i≦NB-1）を得る。この代替時系列信号y'(i+J・NB)（0≦i≦NB-1）は、時系列信号y(i+J・NB)（0≦i≦NB-1）として出力される。
【００６３】
【数１１】
0005637379.tif 000012
【００６４】
なお、式（１１）において、α(i)は、復号時のエラーが新たに発生されたとき1であり、それ以降エラーの発生が連続している期間の長さが長くなるにつれて0に近づく減衰係数である。
【００６５】
次に、J番目のブロックの次のJ+1番目のブロックにおいても復号時のエラーが発生した場合について説明する。
【００６６】
この場合、ゲイン調節器２３は、J番目のブロックのブロック単位の基本周期n０、割合m０、および、ずれ量D０に基づいて、代替波形要素y'1,J(i)（0≦i≦NB-1）の生成に用いられた波形要素のブロックの次のJ-n０/m０+1番目のブロックの波形要素y1,J＋１−ｎ０／ｍ０(i)（0≦i≦NB-1）または波形要素y''1,J＋１−ｎ０／ｍ０(i)（0≦i≦NB-1）から、上述した式（１０）により、波形要素y1,J＋１(i)（0≦i≦NB-1）の代替波形要素y'1,J＋１(i)（0≦i≦NB-1）を生成する。
【００６７】
また、ゲイン調節器２３は、J-n０/m０番目のブロックの波形要素y1,J−ｎ０／ｍ０(i+NB)（0≦i≦NB-1）から、上述した式（１０）と同様の式により、波形要素y1,J(i+NB)（0≦i≦NB-1）の代替波形要素y'1,J(i＋NB)（0≦i≦NB-1）を生成する。
【００６８】
そして、加算器１７は、上述した式（１１）と同様の式により、代替波形要素y'1,J(i＋NB)（0≦i≦NB-1）と代替波形要素y'1,J＋１(i)（0≦i≦NB-1）を加算し、代替時系列信号y'(i+J・NB)（0≦i≦NB-1）の生成時より0に近づいた減衰係数α(i)で減衰させる。その結果得られる代替時系列信号y'(i+(J+1)・NB)（0≦i≦NB-1）は、時系列信号y(i+(J+1)・NB)（0≦i≦NB-1）として出力される。
【００６９】
以降も同様にして、エラーが発生し続ける限り、J番目のブロックのブロック単位の基本周期n０、割合m０、および、ずれ量D０に基づいて、代替波形要素の生成に用いられる波形要素が決定される。そして、生成された隣接するブロックの前半と後半の代替波形要素が加算され、前回の加算時より減衰される。
【００７０】
次に、図６に示すように、J番目のブロックにおいてエラーが発生しなくなった場合について説明する。
【００７１】
この場合、１ブロック前のJ-1番目のブロックにおいては、エラーが発生している。従って、J番目のブロックの時系列信号y(i+J・NB)（0≦i≦NB-1）のうち、J番目のブロックの前半の波形要素y１,J(i)（0≦i≦NB-1）にはエラーが発生していないが、J-1番目のブロックの後半の波形要素y１,J−１(i+NB)（0≦i≦NB-1）にはエラーが発生している。
【００７２】
よって、ゲイン調節器２３は、エラーの発生が開始したブロックのブロック単位の基本周期n０、割合m０、および、ずれ量D０に基づいて、代替波形要素y'1,J−２(i+NB)（0≦i≦NB-1）の生成に用いられた波形要素y1,J−２−ｎ０／ｍｏ(i+NB)（0≦i≦NB-1）または波形要素y''1,J−１−ｎ０／ｍ０(i＋NB)（0≦i≦NB-1）のブロックの次のブロックの後半の波形要素y1,J−１−ｎ０／ｍ０(i＋NB)（0≦i≦NB-1）または波形要素y''1,J−１−ｎ０／ｍ０(i+NB)（0≦i≦NB-1）から、上述した式（１０）と同様の式により、波形要素y1,J−１(i+NB)（0≦i≦NB-1）の代替波形要素y'１， J−１(i＋NB)（0≦i≦NB-1）を生成する。
【００７３】
そして、加算器１７は、以下の式（１２）により、時系列信号y(i+J・NB)（0≦i≦NB-1）の代替時系列信号y'(i+J・NB)（0≦i≦NB-1）を得る。この代替時系列信号y'(i+J・NB)（0≦i≦NB-1）は、時系列信号y(i+J・NB)（0≦i≦NB-1）として出力される。
【００７４】
【数１２】
0005637379.tif 000013
【００７５】
なお、式（１２）において、β(i)は、直前の減衰係数α(i)から1に近づく減衰係数である。
【００７６】
［復号装置の処理の説明］
図７は、図１の復号装置１０の復号処理を説明するフローチャートである。この復号処理は、例えば、復号装置１０に符号化データのパケットが入力されたとき、開始される。なお、errCntの初期値は0である。
【００７７】
図７のステップＳ１１において、逆多重化器１１は、入力された符号化データのパケットを逆多重化し、符号化データを抽出する。
【００７８】
ステップＳ１２において、逆多重化器１１は、パケットのエラーまたは損失が発生したかどうかを判定する。ステップＳ１２でパケットのエラーまたは損失が発生していないと判定された場合、ステップＳ１３において、逆多重化部１１は、スイッチ１６、加算器１７、カウンタ制御器１８、および相関計算器２０に供給するerrFlagを0に設定する。また、逆多重化器１１は、ステップＳ１１で抽出された符号化データをパラメータ解釈器１２に供給する。
【００７９】
ステップＳ１４において、パラメータ解釈器１２は、逆多重化器１１から供給される符号化データからオーディオ信号の符号化スペクトルを抽出する。
【００８０】
ステップＳ１５において、パラメータ解釈器１２は、抽出エラーが発生したかどうかを判定する。ステップＳ１５で抽出エラーが発生していないと判定された場合、ステップＳ１６において、パラメータ解釈器１２は、スイッチ１６、加算器１７、カウンタ制御器１８、および相関計算器２０に供給するerrFlagを0に設定する。また、パラメータ解釈器１２は、抽出された符号化スペクトルをスペクトル復号化器１３に供給する。
【００８１】
ステップＳ１７において、スペクトル復号化器１３は、パラメータ解釈器１２から供給される符号化スペクトルを復号化する。スペクトル復号化器１３は、その結果得られるMDCTスペクトルXＪ(k)（0≦ｋ≦NB-1）をIDCT変換器１４に供給する。
【００８２】
ステップＳ１８において、IDCT変換器１４は、スペクトル復号化器１３から供給されるMDCTスペクトルXＪ(k)に対してIDCTを行い、その結果得られる時系列信号を窓関数乗算器１５に供給する。
【００８３】
ステップＳ１９において、窓関数乗算器１５は、IDCT変換器１４から供給される時系列信号に対して逆方向の窓関数を乗算する。
【００８４】
ステップＳ２０において、窓関数乗算器１５は、ステップＳ１９の処理の結果得られるブロック単位の時系列信号を、波形要素ｙ１，Ｊ(i)（0≦i≦2NB-1）としてメモリ１９に供給し、記憶させる。波形要素ｙ１，Ｊ(i)（0≦i≦2NB-1）は、スイッチ１６にも供給され、スイッチ１６は、波形要素ｙ１，Ｊ(i)（0≦i≦2NB-1）を選択し加算器１７に供給する。
【００８５】
ステップＳ２１において、カウンタ制御器１８は、errCntが0であるかどうかを判定する。ステップＳ２１でerrCntが0であると判定された場合、処理はステップＳ２２に進む。
【００８６】
ステップＳ２２において、加算器１７は、上述した式（３）に示すように、スイッチ１６から供給される波形要素ｙ１，Ｊ(i)（0≦i≦2NB-1）のうちの前半の波形要素ｙ１，Ｊ(i)（0≦i≦NB-1）と、メモリ１９に記憶されている１ブロック前の後半の波形要素ｙ１，Ｊ−１(i＋NB)（0≦i≦NB-1）とを加算する。
【００８７】
ステップＳ２３において、加算器１７は、ステップＳ２２の処理の結果得られる時系列信号ｙ(i＋J・NB)（0≦i≦NB-1）を出力するとともに、メモリ１９に供給して記憶させ、処理を終了する。
【００８８】
一方、ステップＳ１２でパケットのエラーまたは損失が発生したと判定された場合、ステップＳ２４において、逆多重化部１１は、スイッチ１６、加算器１７、カウンタ制御器１８、および相関計算器２０に供給するerrFlagを1に設定する。そして、処理はステップＳ２６に進む。
【００８９】
また、ステップＳ１５で抽出エラーが発生したと判定された場合、パラメータ解釈器１２は、スイッチ１６、加算器１７、カウンタ制御器１８、および相関計算器２０に供給するerrFlagを0に設定し、処理をステップＳ２６に進める。
【００９０】
ステップＳ２６において、カウンタ制御器１８は、errCntが0であるかどうかを判定する。ステップＳ２６でerrCntが0であると判定された場合、即ち新たなエラーの発生が検出された場合、ステップＳ２７において、カウンタ制御器１８は、errCntを1に設定する。
【００９１】
ステップＳ２８において、復号装置１０は、代替波形要素y’１，Ｊ(i)（0≦i≦NB-1）を生成する代替波形要素生成処理を行う。この代替波形要素生成処理の詳細は、後述する図８を参照して説明する。
【００９２】
ステップＳ２９において、加算器１７は、ステップＳ２８の処理の結果スイッチ１６から供給される代替波形要素y’１，Ｊ(i)（0≦i≦NB-1）と、メモリ１９に記憶されている１ブロック前の波形要素y１，Ｊ−１(i＋NB)（0≦i≦NB-1）とを加算する。
【００９３】
ステップＳ３０において、加算器１７は、上述した式（１１）に示すように、ステップＳ２９の処理により得られる加算値と減衰係数α(i)を用いて、代替時系列信号y’(i+J・NB)（0≦i≦NB-1）を生成する。加算器１７は、その代替時系列信号y’(i+J・NB)（0≦i≦NB-1）を時系列信号y(i+J・NB)（0≦i≦NB-1）として出力するとともに、メモリ１９に供給して記憶させ、処理を終了する。
【００９４】
一方、ステップＳ２６でerrCnt=0ではないと判定された場合、即ち、エラーの発生が連続して検出されている場合、ステップＳ３１において、カウンタ制御器１８は、errCntを1だけインクリメントする。
【００９５】
ステップＳ３２において、ゲイン調節器２３は、前回の代替波形要素y'１，Ｊ−１(i)（0≦i≦NB-1）の生成に用いられた波形要素y１，Ｊ−１−ｎ０／ｍ０(i)（0≦i≦NB-1）または波形要素y''1, Ｊ−１−ｎ０／ｍ０(i)（0≦i≦NB-1）のブロックの次のブロックの波形要素を用いて、上述した式（１０）と同様の式により、代替波形要素y'１，Ｊ(i)（0≦i≦NB-1）を生成し、メモリ１９に記憶させる。また、ゲイン調節器２３は、波形要素y１，Ｊ−１−ｎ０／ｍ０(i)（0≦i≦NB-1）または波形要素y''1, Ｊ−１−ｎ０／ｍ０(i)（0≦i≦NB-1）のブロックの後半の波形要素を用いて、上述した式（１０）と同様の式により、代替波形要素y'１，Ｊ−１(i)（0≦i≦NB-1）を生成し、メモリ１９に記憶させる。
【００９６】
ステップＳ３３において、加算器１７は、メモリ１９に記憶されている代替波形要素y'１，Ｊ−１(i+NB)（0≦i≦NB-1）と代替波形要素y'１，Ｊ(i)（0≦i≦NB-1）を加算する。
【００９７】
ステップＳ３４において、加算器１７は、上述した式（１１）と同様の式において、代替時系列信号y'(i+(J-1)・NB)（0≦i≦NB-1）の生成時より0に近づいた減衰係数α(i)を用いて、代替時系列信号y’(i+J・NB)（0≦i≦NB-1）を生成する。そして、加算器１７は、その代替時系列信号y’(i+J・NB)（0≦i≦NB-1）を時系列信号y(i+J・NB)（0≦i≦NB-1）として出力するとともに、メモリ１９に供給して記憶させ、処理を終了する。
【００９８】
また、ステップＳ２１でerrCntが0ではないと判定された場合、即ち、エラーの発生が検出されなくなった場合、処理はステップＳ３５に進む。ステップＳ３５において、カウンタ制御器１８は、errCntを0に設定する。
【００９９】
ステップＳ３６において、ゲイン調節器２３は、代替波形要素y'１，Ｊ−２(i+NB)（0≦i≦NB-1）の生成に用いられた波形要素y１，Ｊ−２−ｎ０／ｍ０(i＋NB)（0≦i≦NB-1）または波形要素y''１，Ｊ−２−ｎ０／ｍ０(i+NB)（0≦i≦NB-1）のブロックの次のブロックの後半の波形要素を用いて、代替波形要素y'１，Ｊ-1(i＋NB)（0≦i≦NB-1）を生成し、メモリ１９に記憶させる。
【０１００】
ステップＳ３７において、加算器１７は、メモリ１９に記憶されている１ブロック前の代替波形要素y’１，Ｊ−１(i+NB)（0≦i≦NB-1）と、スイッチ１６を介して供給される波形要素y１，Ｊ(i)（0≦i≦2NB-1）のうちの前半の波形要素y１，Ｊ(i)（0≦i≦NB-1）とを加算する。
【０１０１】
ステップＳ３８において、加算器１７は、上述した式（１２）のように、ステップＳ３７の処理により得られる加算値と減衰係数β（i)を用いて、代替時系列信号y’(i+J・NB)（0≦i≦NB-1）を生成する。そして、加算器１７は、その代替時系列信号y’(i+J・NB)を時系列信号y(i+J・NB)（0≦i≦NB-1）として出力するとともに、メモリ１９に供給して記憶させる。そして、処理は終了する。
【０１０２】
なお、図７のステップＳ１４乃至Ｓ２３およびステップＳ２５乃至Ｓ３８の処理は、ブロック単位で行われる。
【０１０３】
図８は、図７のステップＳ２８の代替波形要素生成処理の詳細を説明するフローチャートである。
【０１０４】
図８のステップＳ５１において、相関計算器２０は、メモリ１９からエラーが発生する直前のブロックの後半の波形要素y１，Ｊ−１(i+NB)（0≦i≦NB-1）と、そのブロックからn個前のブロックの後半の波形要素y１，Ｊ−１−ｎ(i+NB)（1≦n≦N）（0≦i≦NB-1）とを読み出す。
【０１０５】
ステップＳ５２において、相関計算器２０は、上述した式（４）乃至式（６）により、読み出された波形要素y１，Ｊ−１(i+NB)（0≦i≦NB-1）と波形要素y１，Ｊ−１−ｎ(i+NB)（0≦i≦NB-1）を用いて相関値Cｎを求め、評価計算器２１に供給する。
【０１０６】
ステップＳ５３において、評価計算器２１は、上述した式（７）により、相関計算器２０から供給される相関値Cｎを用いて評価値Ev(n)を求める。そして、評価計算器２１は、評価値Ev(n)が最大となるときのnをブロック単位の基本周期n０に決定し、メモリ１９および周期調節器２２に供給する。また、評価計算器２１は、評価値Ev(n０)と相関値Cｎ０を周期調節器２２に供給する。
【０１０７】
ステップＳ５４において、周期調節器２２は、評価計算器２１から供給される評価値Ev(n０)が閾値THＥＶ以上であるかどうかを判定する。ステップＳ５４で評価値Ev(n０)が閾値THＥＶ以上であると判定された場合、処理はステップＳ５５に進む。
【０１０８】
ステップＳ５５において、周期調節器２２は、割合m０の候補mを2に設定し、割合m０を1に設定し、相関値Cｎ０/ｍの最大値MCｎ０/ｍを評価計算器２１から供給される相関値Cｎ０に設定する。
【０１０９】
ステップＳ５６において、周期調節器２２は、n０/mが1より大きいかどうか、即ちn０がmより大きいかどうかを判定する。ステップＳ５６でn０/mが1より大きいと判定された場合、処理はステップＳ５７に進む。
【０１１０】
ステップＳ５７において、周期調節器２２は、波形要素y１，Ｊ−１(i+NB)（0≦i≦NB-1）のブロックよりn０/m個前のブロックの後半の波形要素y１，Ｊ−１−ｎ０／ｍ(i+NB)（0≦i≦NB-1）を、メモリ１９から読み出した時系列信号y(i+J・NB-n０・NB/m)（0≦i≦NB-1）を用いて上述した式（８）により求める。また、周期調節器２２は、波形要素y１，Ｊ−１(i+NB)（0≦i≦NB-1）をメモリ１９から読み出す。
【０１１１】
ステップＳ５８において、周期調節器２２は、上述した式（４）乃至式（６）により、波形要素y１，Ｊ−１(i+NB)（0≦i≦NB-1）と波形要素y１，Ｊ−１−ｎ０／ｍ(i+NB)（0≦i≦NB-1）を用いて相関値Cｎ０／ｍを求める。
【０１１２】
ステップＳ５９において、周期調節器２２は、ステップＳ５８で求められた候補mの相関値Cｎ０／ｍが最大値MCｎ０/ｍより大きいかどうかを判定する。ステップＳ５９で候補mの相関値Cｎ０／ｍが最大値MCｎ０/ｍより大きいと判定された場合、処理はステップＳ６０に進む。
【０１１３】
ステップＳ６０において、周期調節器２２は、最大値MCｎ０/ｍを候補mの相関値Cｎ０／ｍに設定し、割合m０を候補mに設定する。そして、処理はステップＳ６１に進む。
【０１１４】
一方、ステップＳ５９で候補mの相関値Cｎ０／ｍが最大値MCｎ０/ｍより大きくはないと判定された場合、最大値MCｎ０/ｍは変更されず、処理はステップＳ６１に進む。
【０１１５】
ステップＳ６１において、周期調節器２２は、候補mを1だけインクリメントし、処理をステップＳ５６に戻す。そして、n０/mが1以下になるまでステップＳ５６乃至Ｓ６１の処理が行われる。
【０１１６】
ステップＳ５６でn０/mが1より大きくはないと判定された場合、周期調節器２２は、ずれ量D０を0に設定し、そのずれ量D０と割合m０をメモリ１９に供給し、記憶させる。そして、ステップＳ６２において、ゲイン調節器２３は、n０/m０個前のブロックの前半の波形要素y１，Ｊ−ｎ０／ｍ０(i)（0≦i≦NB-1）を以下の式（１３）を用いて求め、上述した式（１０）により、代替波形要素y'１，Ｊ(i)（0≦i≦NB-1）を生成し、メモリ１９に記憶させる。そして、処理は図７のステップＳ２８に戻り、処理はステップＳ２９に進む。
【０１１７】
【数１３】
0005637379.tif 000014
【０１１８】
一方、ステップＳ５４で評価値Ev(n０)が閾値THＥＶ以上ではないと判定された場合、処理はステップＳ６３に進む。ステップＳ６３において、周期調節器２２は、ずれ量D０の候補Dを予め決められている最小値Dｍｉｎに設定し、ずれ量D０を0に設定し、相関値Cｎ０，Ｄの最大値MCｎ０，Ｄを評価計算器２１から供給される相関値Cｎ０に設定する。
【０１１９】
ステップＳ６４において、周期調節器２２は、候補Dが予め決められている最大値Dｍａｘ以下であるかどうかを判定する。ステップＳ６４で候補Dが最大値Dｍａｘ以下であると判定された場合、処理はステップＳ６５に進む。
【０１２０】
ステップＳ６５において、周期調節器２２は、上述した式（９）により、メモリ１９に記憶されている、J-1-n０番目のブロックから候補Dサンプルだけ前にずれたブロックの時系列信号y(i+(J-n０)NB-D)（0≦i≦NB-1）から、波形要素y''1, Ｊ−１―ｎ０(i+NB)（0≦i≦NB-1）を求める。
【０１２１】
ステップＳ６６において、周期調節器２２は、上述した式（４）乃至式（６）と同様の式により、メモリ１９に記憶されている波形要素y１，Ｊ−１(i+NB)（0≦i≦NB-1）と波形要素y’'１，Ｊ−１―ｎ０(i+NB)（0≦i≦NB-1）との相関値Cｎ０，Ｄを求める。
【０１２２】
ステップＳ６７において、周期調節器２２は、ステップＳ６６で求められた候補Dの相関値Cｎ０，Ｄが最大値MCｎ０，Ｄより大きいかどうかを判定する。ステップＳ６７で候補Dの相関値Cｎ０，Ｄが最大値MCｎ０，Ｄより大きいと判定された場合、処理はステップＳ６８に進む。
【０１２３】
ステップＳ６８において、周期調節器２２は、最大値MCｎ０，Ｄを候補Dの相関値Cｎ０，Ｄに設定し、ずれ量D０を候補Dに設定する。そして、処理はステップＳ６９に進む。
【０１２４】
一方、ステップＳ６７で候補Dの相関値Cｎ０，Ｄが最大値MCｎ０，Ｄより大きくはないと判定された場合、最大値MCｎ０，Ｄは変更されず、処理はステップＳ６９に進む。
【０１２５】
ステップＳ６９において、周期調節器２２は、候補Dを予め決められた所定値Dｗだけインクリメントし、処理をステップＳ６４に戻す。そして、候補Dが最大値Dｍａｘより大きくなるまでステップＳ６４乃至Ｓ６９の処理が行われる。
【０１２６】
ステップＳ６４で候補Dが最大値Dｍａｘより大きいと判定された場合、周期調節器２２は、割合m０を1に設定し、その割合ｍ０とずれ量D０をメモリ１９に供給し、記憶させる。
【０１２７】
そして、ステップＳ７０において、ゲイン調節器２３は、J-n0番目のブロックからずれ量D0サンプルだけ前にずれたブロックの波形要素y'’1,J-n0(i)（0≦i≦NB-1）を用いて、上述した式（１０）により、代替波形要素y'1,J(i)（0≦i≦NB-1）を生成し、メモリ１９に記憶させる。なお、ゲイン調節器２３は、上述した式（９）と同様の式により、メモリ１９に記憶されている、J-n0番目のブロックからずれ量D0サンプルだけ前にずれたブロックの時系列信号y(i+(J+1-n0)NB-D)（0≦i≦NB-1）から、波形要素y''1,J-n0(i+NB)（0≦i≦NB-1）を求める。
【０１２８】
ステップＳ７０の処理後、処理は図７のステップＳ２８に戻り、処理はステップＳ２９に進む。
【０１２９】
以上のように、復号装置１０は、エラーが発生したブロックの直前のブロックの波形要素と、そのブロックよりn個前のブロックの波形要素との相関値に基づいて、エラーが発生したブロックの基本周期をブロック単位で求める。従って、サンプル単位で基本周期を求める場合に比べて、基本周期を求めるための演算量が少なくて済む。その結果、基本周期に基づいて過去の波形要素から代替波形要素を生成し、不快な異音等による違和感の少ない代替時系列信号を生成することが容易に可能である。
【０１３０】
また、復号装置１０は、基本周期とブロックの周期にずれが存在し、評価値Ev（n０）が閾値EvＴＨより小さくなる場合、ブロック単位の基本周期n０個前のブロックの周囲の既に復号されている時系列信号を用いて、そのずれ量を求める。従って、比較的高速で、より正確な基本周期を算出することができる。
【０１３１】
さらに、復号装置１０は、ブロック単位の基本周期n０が2より大きい場合、ブロック単位の基本周期n０/mの相関値Cｎ０/ｍを求め、相関値Cｎ０/ｍが相関値Cｎ０より大きい場合、ブロック単位の基本周期n０をブロック単位の基本周期n０/mに補正する。従って、実際の基本周期の整数倍が、ブロック単位の基本周期として算出されることを防止することができる。
【０１３２】
[本発明を適用したコンピュータの説明]
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０１３３】
そこで、図９は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０１３４】
プログラムは、コンピュータに内蔵されている記録媒体としての記憶部２０８やROM（Read Only Memory）２０２に予め記録しておくことができる。
【０１３５】
あるいはまた、プログラムは、リムーバブルメディア２１１に格納（記録）しておくことができる。このようなリムーバブルメディア２１１は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブルメディア２１１としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
【０１３６】
なお、プログラムは、上述したようなリムーバブルメディア２１１からドライブ２１０を介してコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵する記憶部２０８にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
【０１３７】
コンピュータは、CPU(Central Processing Unit)２０１を内蔵しており、CPU２０１には、バス２０４を介して、入出力インタフェース２０５が接続されている。
【０１３８】
CPU２０１は、入出力インタフェース２０５を介して、ユーザによって、入力部２０６が操作等されることにより指令が入力されると、それに従って、ROM２０２に格納されているプログラムを実行する。あるいは、CPU２０１は、記憶部２０８に格納されたプログラムを、RAM(Random Access Memory)２０３にロードして実行する。
【０１３９】
これにより、CPU２０１は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU２０１は、その処理結果を、必要に応じて、例えば、入出力インタフェース２０５を介して、出力部２０７から出力、あるいは、通信部２０９から送信、さらには、記憶部２０８に記録等させる。
【０１４０】
なお、入力部２０６は、キーボードや、マウス、マイク等で構成される。また、出力部２０７は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
【０１４１】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含む。
【０１４２】
また、プログラムは、１のコンピュータ（プロセッサ）により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０１４３】
本発明は、ブロック長が比較的小さい場合に特に有効である。
【０１４４】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１４５】
１０  復号装置，  １１  逆多重化器，  １２  パラメータ解釈器，  １３  スペクトル復号化器，  １４  IDCT変換器，  １５  窓関数乗算器，  １７  加算器，  ２０  相関計算器，  ２１  評価計算器，  ２２  周期調節器，  ２３  ゲイン調節器
【図１】
0005637379.tif 000015
【図２】
0005637379.tif 000016
【図３】
0005637379.tif 000017
【図４】
0005637379.tif 000018
【図５】
0005637379.tif 000019
【図６】
0005637379.tif 000020
【図７】
0005637379.tif 000021
【図８】
0005637379.tif 000022
【図９】
0005637379.tif 000023