符号化器の符号化方法であって、入力信号を変換して第1変更された離散コサイン変換ModifiedDiscreteCosineTransform、MDCT係数を生成するステップと、前記第1MDCT係数を量子化してMDCTインデックスを生成するステップと、前記MDCTインデックスを逆量子化して第2MDCT係数を生成するステップと、前記第1MDCT係数と前記第2MDCT係数との差でMDCTエラー係数を計算するステップと、前記MDCTエラー係数を符号化してエラーインデックスを生成するステップと、前記第1MDCT係数と前記第2MDCT係数から、利得に対応する利得インデックスを生成するステップとを含むことを特徴とする符号化方法。前記MDCTインデックス、前記エラーインデックスおよび前記利得インデックスを多重化し、ビットストリームを生成するステップをさらに含むことを特徴とする請求項1記載の符号化方法。前記エラーインデックスを生成するステップは、複数の副帯域のうち、前記MDCTエラー係数のエネルギーが最も大きい副帯域のインデックスを検索するステップと、前記インデックスを符号化して副帯域インデックスを生成するステップとを含み、前記エラーインデックスは、前記副帯域インデックスを含むことを特徴とする請求項1記載の符号化方法。j番目の副帯域の前記MDCTエラー係数のエネルギーは、で決定され、ujとljは、それぞれj番目の副帯域の下位および上位境界インデックスであり、Ekは、k番目の前記MDCTエラー係数であることを特徴とする請求項3記載の符号化方法。前記エラーインデックスを生成するステップは、前記検索した副帯域の前記MDCTエラー係数を符号化するステップをさらに含むことを特徴とする請求項3記載の符号化方法。前記MDCTエラー係数を符号化するステップは、前記検索した副帯域のMDCTエラー係数に対する複数のトラックを構成するステップと、各トラックの可能な位置に相当するMDCTエラー係数のうち、最も大きい絶対値を有する予め定められた個数のMDCTエラー係数に相当するパルスを検索するステップと、前記パルスを符号化するステップとをさらに含み、前記エラーインデックスは、前記パルスを符号化した値をさらに含むことを特徴とする請求項5記載の符号化方法。前記パルスを符号化するステップは、前記パルスの位置を符号化するステップと、前記パルスの符号signを符号化するステップと、前記パルスの大きさを符号化するステップとを含み、前記パルスを符号化した値は、前記位置、符号および大きさをそれぞれ符号化した値を含むことを特徴とする請求項6記載の符号化方法。前記位置は、前記検索した副帯域の下位境界インデックスを基準とした前記パルスの相対的位置であることを特徴とする請求項7記載の符号化方法。前記MDCTエラー係数を符号化するステップは、前記検索した副帯域のMDCTエラー係数の二乗平均平方根RootMeanSquare、RMS値を計算するステップと、前記RMS値を量子化してRMSインデックスを生成するステップとを含み、前記エラーインデックスは、前記RMSインデックスをさらに含むことを特徴とする請求項7記載の符号化方法。前記パルスの大きさを符号化するステップは、前記RMSインデックスを逆量子化し、量子化されたRMS値を生成するステップと、前記パルスの大きさを前記量子化されたRMS値で除した値を用いて、前記パルスの大きさを符号化するステップとを含むことを特徴とする請求項9記載の符号化方法。前記利得インデックスを生成するステップは、前記パルスの位置を除いた位置で前記第2MDCT係数の大きさのログ関数値で指数値を計算するステップと、前記パルス位置で前記指数値を最小指数値に設定するステップと、前記指数値に基づいて前記利得インデックスのためのビットを割当てるステップとを含むことを特徴とする請求項6記載の符号化方法。前記利得インデックスを生成するステップは、前記割当てたビット、前記第1MDCT係数および前記第2MDCT係数から、前記利得インデックスを決定するステップをさらに含むことを特徴とする請求項11記載の符号化方法。前記利得インデクスは、を最大とするiで決定され、前記は、mビットに相当するコードブックのi番目のコードワードであり、前記iは、0から2m-1までの整数であり、前記Xkは、前記k番目の第1MDCTエラー係数であり、前記は、k番目の第2MDCTエラー係数であることを特徴とする請求項12記載の符号化方法。復号化器の復号化方法であって、変更された離散コサイン変換ModifiedDiscreteCosineTransform、MDCTインデックス、エラーインデックスおよび利得インデックスを受信するステップと、前記MDCTインデックスを逆量子化して第1MDCT係数を生成するステップと、前記エラーインデックスを復号化してMDCTエラー係数を復元するステップと、前記MDCTエラー係数に相当するパルスの位置と前記第1MDCT係数を用いて、前記利得インデックスから利得を復元するステップと、復元した利得で前記第1MDCT係数の利得を補償し、第2MDCT係数を生成するステップと、前記MDCTエラー係数で前記第2MDCT係数のエラーを補償するステップとを含むことを特徴とする復号化方法。前記エラーを補償するステップは、前記第2MDCT係数に前記MDCTエラー係数を加えるステップを含むことを特徴とする請求項14記載の復号化方法。前記MDCTエラー係数は、前記パルスの位置以外の位置では0の値を有することを特徴とする請求項15記載の復号化方法。前記エラーインデックスは、副帯域インデックスを含み、前記MDCTエラー係数を復元するステップは、前記副帯域インデックスを復号化し、前記MDCTエラー係数の副帯域を決定するステップを含むことを特徴とする請求項14記載の復号化方法。前記エラーインデックスは、前記パルスの位置、符号および大きさをそれぞれ符号化した値を含むことを特徴とする請求項14記載の復号化方法。前記MDCTエラー係数を復元するステップは、前記パルスの大きさを符号化した値を復号化し、前記パルスの大きさを復元するステップと、前記パルスの位置を符号化した値を復号化し、前記パルスの位置を復元するステップと、前記パルスの符号を符号化した値を復号化し、前記パルスの符号を復元するステップと、前記パルスの位置、符号および大きさで前記MDCTエラー係数を復元するステップとを含むことを特徴とする請求項18記載の復号化方法。前記エラーインデックスは、二乗平均平方根RootMeanSquare、RMSインデックスをさらに含み、前記パルスの大きさを復元するステップは、前記RMSインデックスから量子化されたRMS値を生成するステップと、復号化したパルスの大きさに前記量子化されたRMS値を乗じ、前記パルスの大きさを復元するステップとを含むことを特徴とする請求項19記載の復号化方法。前記利得を復元するステップは、前記パルスの位置を除いた位置で前記第1MDCT係数の大きさのログ関数値で指数値を計算するステップと、前記パルス位置で前記指数値を最小指数値に設定するステップと、前記指数値に基づいて前記利得インデックスにビットを割当ててビット割当表を生成するステップとを含むことを特徴とする請求項14記載の復号化方法。前記利得を復元するステップは、前記ビット割当表を用いて、前記利得インデックスから前記利得を復元するステップをさらに含むことを特徴とする請求項21記載の復号化方法。前記第2MDCT係数のエラーが補償され、生成されたMDCT係数をMDCT逆変換して信号を復元するステップをさらに含むことを特徴とする請求項14記載の復号化方法。入力信号を変換して第1変更された離散コサイン変換ModifiedDiscreteCosineTransform、MDCT係数を生成するMDCTと、前記第1MDCT係数を量子化してMDCTインデックスを生成するMDCT量子化器と、前記MDCTインデックスを逆量子化して第2MDCT係数を生成し、前記第1MDCT係数と前記第2MDCT係数との差に相当するMDCTエラー係数を符号化してエラーインデックスを生成し、前記第1MDCT係数と前記第2MDCT係数から、前記第1MDCT係数の利得に対応する利得インデックスを生成する向上階層符号化器と、前記MDCTインデックス、前記エラーインデックスおよび前記利得インデックスを多重化し、ビットストリームを出力する多重化器とを含むことを特徴とする符号化装置。前記向上階層符号化器は、複数の副帯域のうち、前記MDCTエラー係数のエネルギーが最も大きい副帯域を検索し、前記検索した副帯域のインデックスを符号化して副帯域インデックスを生成するエラー補償符号化器を含み、前記エラーインデックスは、前記副帯域インデックスを含むことを特徴とする請求項24記載の符号化装置。符号化装置。前記エラー補償符号化器は、前記検索した副帯域のMDCTエラー係数に対する複数のトラックを構成し、各トラックの可能な位置に相当するMDCTエラー係数のうち、最も大きい絶対値を有する予め定められた個数のMDCTエラー係数に相当するパルスの位置、符号signおよび大きさをそれぞれ符号化し、前記エラーインデックスは、前記パルスの位置、符号および大きさをそれぞれ符号化した値をさらに含むことを特徴とする請求項25記載の符号化装置。符号化装置。前記エラー補償符号化器は、前記検索した副帯域のMDCTエラー係数の二乗平均平方根RootMeanSquare、RMS値を量子化してRMSインデックスを生成し、前記エラーインデックスは、前記RMSインデックスをさらに含むことを特徴とする請求項26記載の符号化装置。符号化装置。前記向上階層符号化器は、前記パルスの位置を除いた位置で前記第2MDCT係数の大きさのログ関数値で指数値を計算し、前記パルス位置で前記指数値を最小指数値に設定し、前記指数値に基づいて前記利得インデックスのためのビットを割当てる利得補償符号化器をさらに含むことを特徴とする請求項26記載の符号化装置。符号化装置。前記利得補償符号化器は、を最大とするiで前記利得インデックスを決定し、前記は、mビットに相当するコードブックのi番目のコードワードであり、前記iは、0から2m-1までの整数であり、前記Xkは、前記k番目の第1MDCTエラー係数であり、前記は、k番目の第2MDCTエラー係数であることを特徴とする請求項28記載の符号化装置。受信したビットストリームを逆多重化し、変更された離散コサイン変換ModifiedDiscreteCosineTransform、MDCTインデックス、エラーインデックスおよび利得インデックスを出力する逆多重化器と、前記MDCTインデックスを逆量子化して第1MDCT係数を生成するMDCT逆量子化器と、前記エラーインデックスを復号化してMDCTエラー係数を復元し、前記MDCTエラー係数に相当するパルスの位置と前記第1MDCT係数を用いて、前記利得インデックスから利得を復元し、復元した利得で前記第1MDCT係数の利得を補償して第2MDCT係数を生成し、前記MDCTエラー係数で前記第2MDCT係数のエラーを補償する向上階層復号化器とを含むことを特徴とする復号化装置。前記向上階層復号化器は、前記第2MDCT係数に前記MDCTエラー係数を加え、前記第2MDCT係数のエラーを補償するエラー補償器を含むことを特徴とする請求項30記載の復号化装置。前記エラーインデックスは、副帯域インデックス、前記パルスの位置、符号および大きさをそれぞれ符号化した値を含み、前記向上階層復号化器は、前記副帯域インデックスを復号化し、前記MDCTエラー係数の副帯域を決定し、前記パルスの位置、符号および大きさをそれぞれ符号化した値を復号化し、前記パルスの位置、符号および大きさを復元するエラー補償復号化器を含むことを特徴とする請求項30記載の復号化装置。復号化装置。前記エラーインデックスは、二乗平均平方根RootMeanSquare、RMSインデックスをさらに含み、前記エラー補償復号化器は、前記RMSインデックスから量子化されたRMS値を生成し、復号化したパルスの大きさに前記量子化されたRMS値を乗じ、前記パルスの大きさを復元することを特徴とする請求項32記載の復号化装置。前記向上階層復号化器は、前記パルスの位置を除いた位置で前記第1MDCT係数の大きさのログ関数値で指数値を計算し、前記パルス位置で前記指数値を最小指数値に設定し、前記指数値に基づいて前記利得インデックスにビットを割当ててビット割当表を生成し、前記利得インデックスと前記ビット割当表を用いて前記利得を復元する利得補償復号化器を含むことを特徴とする請求項30記載の復号化装置。前記向上階層復号化器は、前記パルスの位置を除いた位置で前記第1MDCT係数の大きさのログ関数値で指数値を計算し、前記パルス位置で前記指数値を最小指数値に設定し、前記指数値に基づいて前記利得インデックスにビットを割当ててビット割当表を生成する利得補償復号化器を含むことを特徴とする請求項30記載の復号化装置。前記利得補償復号化器は、前記ビット割当表を用いて、前記利得インデックスから前記利得を復元することを特徴とする請求項35記載の復号化装置。エラーを補償した前記第2MDCT係数をMDCT逆変換して信号を復元する逆MDCTinverseMDCT、IMDCTをさらに含むことを特徴とする請求項30記載の復号化装置。本発明の技術的課題は、量子化エラーを効果的に補償することができる符号化/復号化方法および装置を提供することである。本発明の一特徴によれば、符号化器の符号化方法が提供される。前記符号化方法は、入力信号を変換して第1MDCT係数を生成するステップと、前記第1MDCT係数を量子化してMDCTインデックスを生成するステップと、前記MDCTインデックスを逆量子化して第2MDCT係数を生成するステップと、前記第1MDCT係数と前記第2MDCT係数との差でMDCTエラー係数を計算するステップと、前記MDCTエラー係数を符号化してエラーインデックスを生成するステップと、前記第1MDCT係数と前記第2MDCT係数から、前記第1MDCT係数の利得に対応する利得インデックスを生成するステップとを含む。前記符号化方法は、前記MDCTインデックス、前記エラーインデックスおよび前記利得インデックスを多重化し、ビットストリームを生成するステップをさらに含むことができる。前記エラーインデックスを生成するステップは、複数の副帯域のうち、前記MDCTエラー係数のエネルギーが最も大きい副帯域のインデックスを検索するステップと、前記インデックスを符号化して副帯域インデックスを生成するステップとを含むことができる。そして、前記エラーインデックスは、前記副帯域インデックスを含むことができる。j番目の副帯域の前記MDCTエラー係数のエネルギーは、で決定できる。この時、ujとljは、それぞれj番目の副帯域の下位および上位境界インデックスであり、Ekは、k番目の前記MDCTエラー係数である。前記エラーインデックスを生成するステップは、前記検索した副帯域の前記MDCTエラー係数を符号化するステップをさらに含むことができる。前記MDCTエラー係数を符号化するステップは、前記検索した副帯域のMDCTエラー係数に対する複数のトラックを構成するステップと、各トラックの可能な位置に相当するMDCTエラー係数のうち、最も大きい絶対値を有する予め定められた個数のMDCTエラー係数に相当するパルスを検索するステップと、前記パルスを符号化するステップとをさらに含むことができる。この時、前記エラーインデックスは、前記パルスを符号化した値をさらに含むことができる。前記パルスを符号化するステップは、前記パルスの位置を符号化するステップと、前記パルスの符号signを符号化するステップと、前記パルスの大きさを符号化するステップとを含むことができる。この時、前記パルスを符号化した値は、前記位置、符号および大きさをそれぞれ符号化した値を含むことができる。前記位置は、前記検索した副帯域の下位境界インデックスを基準とした前記パルスの相対的位置であり得る。前記MDCTエラー係数を符号化するステップは、前記検索した副帯域のMDCTエラー係数の二乗平均平方根RootMeanSquare、RMS値を計算するステップと、前記RMS値を量子化してRMSインデックスを生成するステップとを含むことができる。この時、前記エラーインデックスは、前記RMSインデックスをさらに含むことができる。前記パルスの大きさを符号化するステップは、前記RMSインデックスを逆量子化し、量子化されたRMS値を生成するステップと、前記パルスの大きさを前記量子化されたRMS値で除した値を用いて、前記パルスの大きさを符号化するステップとを含むことができる。前記利得インデックスを生成するステップは、前記パルスの位置を除いた位置で前記第2MDCT係数の大きさのログ関数値で指数値を計算するステップと、前記パルス位置で前記指数値を最小指数値に設定するステップと、前記指数値に基づいて前記利得インデックスのためのビットを割当てるステップとを含むことができる。前記利得インデックスを生成するステップは、前記割当てたビット、前記第1MDCT係数および前記第2MDCT係数から、前記利得インデックスを決定するステップをさらに含むことができる。前記利得インデクスは、を最大とするiで決定できる。この時、前記は、mビットに相当するコードブックのi番目のコードワードであり、前記iは、0から2m-1までの整数であり、前記Xkは、前記k番目の第1MDCTエラー係数であり、前記は、k番目の第2MDCTエラー係数である。本発明の他の特徴によれば、復号化器の復号化方法が提供される。前記復号化方法は、MDCTインデックス、エラーインデックスおよび利得インデックスを受信するステップと、前記MDCTインデックスを逆量子化して第1MDCT係数を生成するステップと、前記エラーインデックスを復号化してMDCTエラー係数を復元するステップと、前記MDCTエラー係数に相当するパルスの位置と前記第1MDCT係数を用いて、前記利得インデックスから利得を復元するステップと、復元した利得で前記第1MDCT係数の利得を補償し、第2MDCT係数を生成するステップと、前記MDCTエラー係数で前記第2MDCT係数のエラーを補償するステップとを含む。前記エラーを補償するステップは、前記第2MDCT係数に前記MDCTエラー係数を加えるステップを含むことができる。前記MDCTエラー係数は、前記パルスの位置以外の位置では0の値を有することができる。前記エラーインデックスは、副帯域インデックスを含み、前記MDCTエラー係数を復元するステップは、前記副帯域インデックスを復号化し、前記MDCTエラー係数の副帯域を決定するステップを含むことができる。前記エラーインデックスは、前記パルスの位置、符号および大きさをそれぞれ符号化した値を含むことができる。前記MDCTエラー係数を復元するステップは、前記パルスの大きさを符号化した値を復号化し、前記パルスの大きさを復元するステップと、前記パルスの位置を符号化した値を復号化し、前記パルスの位置を復元するステップと、前記パルスの符号を符号化した値を復号化し、前記パルスの符号を復元するステップと、前記パルスの位置、符号および大きさで前記MDCTエラー係数を復元するステップとを含むことができる。前記エラーインデックスは、二乗平均平方根RootMeanSquare、RMSインデックスをさらに含むことができる。この時、前記パルスの大きさを復元するステップは、前記RMSインデックスから量子化されたRMS値を生成するステップと、復号化したパルスの大きさに前記量子化されたRMS値を乗じ、前記パルスの大きさを復元するステップとを含むことができる。前記利得を復元するステップは、前記パルスの位置を除いた位置で前記第1MDCT係数の大きさのログ関数値で指数値を計算するステップと、前記パルス位置で前記指数値を最小指数値に設定するステップと、前記指数値に基づいて前記利得インデックスにビットを割当ててビット割当表を生成するステップとを含むことができる。前記利得を復元するステップは、前記ビット割当表を用いて、前記利得インデックスから前記利得を復元するステップをさらに含むことができる。前記復号化方法は、前記第2MDCT係数のエラーが補償され、生成されたMDCT係数をMDCT逆変換して信号を復元するステップをさらに含むことができる。本発明のさらに他の特徴によれば、MDCT、MDCT量子化器、向上階層符号化器および多重化器を含む符号化装置を提供する。前記MDCTは、入力信号を変換して第1MDCT係数を生成し、前記MDCT量子化器は、前記第1MDCT係数を量子化してMDCTインデックスを生成する。前記向上階層符号化器は、前記MDCTインデックスを逆量子化して第2MDCT係数を生成し、前記第1MDCT係数と前記第2MDCT係数との差に相当するMDCTエラー係数を符号化してエラーインデックスを生成し、前記第1MDCT係数と前記第2MDCT係数から、前記第1MDCT係数の利得に対応する利得インデックスを生成する。前記多重化器は、前記MDCTインデックス、前記エラーインデックスおよび前記利得インデックスを多重化し、ビットストリームを出力する。本発明のさらに他の特徴によれば、逆多重化器、MDCT逆量子化器および向上階層復号化器を含む復号化装置が提供される。前記逆多重化器は、受信したビットストリームを逆多重化し、MDCTインデックス、エラーインデックスおよび利得インデックスを出力し、前記MDCT逆量子化器は、前記MDCTインデックスを逆量子化して第1MDCT係数を生成する。前記向上階層復号化器は、前記エラーインデックスを復号化してMDCTエラー係数を復元し、前記MDCTエラー係数に相当するパルスの位置と前記第1MDCT係数を用いて、前記利得インデックスから利得を復元し、復元した利得で前記第1MDCT係数の利得を補償して第2MDCT係数を生成し、前記MDCTエラー係数で前記第2MDCT係数のエラーを補償する。本発明の一実施形態によれば、利得補償方式とエラー補償方式とを結合して用いることにより、利得補償方式の有するビット割当と実際のエラー係数との間の不一致によるスペクトル歪みにより発生し得る音質の低下を克服することができる。以下、添付した図面を参考にして、本発明の実施形態について、本発明の属する技術分野における通常の知識を有する者が容易に実施できるように詳細に説明する。しかし、本発明は、種々の異なる形態で実現可能であり、ここで説明する実施形態に限定されない。そして、図面において、本発明を明確に説明するために説明上不必要な部分は省略し、明細書全体にわたり、類似の部分については類似の図面符号を付した。図1は、階層型MDCT量子化システムの一例を示すブロック図であり、図2は、図1に示した利得補償符号化器と利得補償復号化器を示すブロック図であり、図3は、図1に示したMDCT量子化装置の性能を示す図である。図1を参照すれば、階層型MDCT量子化システムは、入力信号を符号化してビットストリームを出力する符号化器110と、ビットストリームを復号化し、復元した信号を出力する復号化器120とを含む。符号化器110は、MDCT111と、核心階層MDCT量子化器112と、向上階層符号化器113と、多重化器114とを含み、向上階層符号化器113は、ローカルMDCT逆量子化器115と、利得補償符号化器116とを含む。MDCT111は、入力信号を数式1のようにMDCT変換してMDCT係数を出力する。ここで、Nは、時間領域入力信号をブロック単位で処理するためのフレームの長さ、wnは、ウィンドウ関数、xnは、入力信号、Xkは、MDCT係数である。nは、時間領域インデックスであり、kは、周波数領域インデックスである。核心階層MDCT量子化器112は、MDCT係数を量子化してMDCTインデックスを出力する。核心階層MDCT量子化器112は、シェイプゲインshape-gainベクトル量子化vectorquantization、VQ、格子型ベクトル量子化latticeVQ、球形ベクトル量子化sphericalVQおよび代数ベクトル量子化algebraicVQなどの、あらゆる方式のMDCT量子化方式が利用できる。ローカルMDCT逆量子化器115は、逆量子化過程を経て、MDCTインデックスから量子化されたMDCT係数を出力する。利得補償符号化器116は、量子化されていないMDCT係数と量子化されたMDCT係数から利得を計算した後、その利得を量子化して利得インデックスを出力する。多重化器114は、MDCTインデックスと利得インデックスを多重化し、ビットストリームを出力する。復号化器120は、逆多重化器121と、核心階層MDCT逆量子化器122と、向上階層復号化器123と、逆MDCTinverseMDCT、IMDCT124とを含み、向上階層復号化器123は、利得補償復号化器125と、利得補償器126とを含む。逆多重化器121は、受信したビットストリームを逆多重化し、MDCTインデックスと利得インデックスをそれぞれ出力する。核心階層MDCT逆量子化器122は、逆量子化過程を経て、MDCTインデックスから量子化されたMDCT係数を出力する。利得補償復号化器125は、量子化されたMDCT係数を用いて利得インデックスを復号化し、量子化された利得を出力する。利得補償器126は、量子化されたMDCT係数を量子化された利得でスケーリングscalingし、最終的に復元されたMDCT係数を出力する。復元されたMDCT係数は、数式2のように付与できる。ここで、は、それぞれ量子化されたMDCT係数と復元されたMDCT係数であり、は、量子化された利得である。IMDCT124は、復元されたMDCT係数を数式3のように逆変換し、復元された信号を出力する。ここで、ynは、現在のフレームで逆変換された時間領域信号、y’nは、前のフレームで逆変換された時間領域信号であり、は、復元された信号である。図2を参照すれば、利得補償符号化器116は、指数exponent計算器211と、ビット割当計算器212と、利得計算器213と、利得量子化器214と、多重化器215とを含む。指数計算器211は、量子化された各MDCT係数の絶対値の大きさを、予め定められた間隔に分けて指数を計算する。例えば、間隔を下が2のログ単位に設定すれば、指数計算器211は、数式4のように量子化されたMDCT係数のログ関数値で指数を計算することができる。したがって、計算された指数は、量子化されたMDCT係数の絶対値の大きさに指数的に比例する。ここで、||は、絶対値関数であり、は、ラウンドrounding関数であり、MIN_EXPとMAX_EXPは、それぞれ最小指数値と最大指数値である。ビット割当計算器212は、フレーム内のすべてのMDCT係数に対する指数値と予め定められた利用可能ビット数を用いて、各MDCT係数の利得量子化のためのビット数を動的に計算し、ビット割当表を出力する。ここで、ビット割当表は、利用可能ビット数の限度内で各MDCT係数の補償利得に割当てられた量子化ビット数を格納したものである。この時、ビット割当計算器212は、数式5のように、各MDCT係数あたりの許容可能な最小および最大利得ビット数を制限することもできる。ここで、bkは、k番目のMDCT係数に割当てられた利得ビット数であり、MIN_BITSとMAX_BITSは、それぞれ最小利得ビット数と最大利得ビット数であり、Benhは、向上階層に割当てられた総ビット数である。利得計算器213は、量子化されていないMDCT係数と量子化されたMDCT係数との間の利得を計算し、各MDCT係数に対する利得を出力する。利得計算器213は、数式6のように、利得誤差エネルギーを最少化するように利得を計算することができる。ここで、Errkは、k番目のMDCT係数に対する利得誤差エネルギーであり、gkは、k番目のMDCT係数に対する利得である。利得量子化器214は、利得をビット割当表の各MDCT係数に相当する量子化ビット数によって量子化し、利得インデックスを出力する。利得量子化のために、別の利得量子化コードブックを用いる場合、利得計算器213と利得量子化器214は、量子化されていないMDCT係数と量子化されたMDCT係数を用いて、利得量子化コードブックの検索を通して利得インデックスを求めることもできる。この時、利得インデックスは、数式7のように付与できる。ここで、は、mビットに相当するコードブックで、2m個のコードワードを有する。は、mビットに相当するコードブックのi番目のコードワードであり、Ioptkは、k番目のMDCT係数に相当する最適な利得インデックスである。多重化器215は、複数のMDCT係数に対する利得インデックスを多重化し、利得ビットストリームを出力する。利得補償復号化器125は、逆多重化器221と、指数計算器222と、ビット割当計算器223と、利得逆量子化器224とを含む。指数計算器222とビット割当計算器223は、それぞれ利得補償符号化器116の指数計算器211とビット割当計算器212と同様に動作し、ビット割当表を出力する。逆多重化器221は、ビット割当表に従って利得ビットストリームを逆多重化し、複数のMDCT係数に対する利得インデックスを抽出する。利得逆量子化器224は、各利得インデックスとビット割当表を用いて、各MDCT係数に対する量子化された利得を復元する。図1および図2を参照して説明した周波数帯域係数、つまり、MDCT係数補償方法は、相対的に簡単で優れた性能を提供することができる。しかし、各MDCT係数に動的に割当てられるビット数が完全に量子化されたMDCT係数の絶対値の大きさにのみ従属するため、核心および向上階層の全体の量子化性能は、核心階層MDCT量子化器112の性能によって補償性能が低下することがある。つまり、核心階層MDCT量子化器112が特定のMDCT係数をよく表現できず、大きな量子化エラーをもたらし、同時に、量子化されたMDCT係数の大きさが他の係数に比べて相対的に小さい場合には、動的ビット割当器によってこのMDCT係数に少数のビットが割当てられ、核心階層による大きな量子化エラーに対する補償が効果的に行われない。図3を参照すれば、入力音声信号の特定のフレームについて、図1および図2で説明した方式で得られたビット割当表とMDCTエラー係数residualcoefficientの大きさが分かる。図3において、フレーム長さNは40であり、MDCT係数あたりの最小ビット数と最大ビット数はそれぞれ0と3ビットである。この場合、最初の6個のMDCT係数のエラー係数が残りのエラー係数に比べて非常に大きいにもかかわらず、すべて0ビットが割当てられていることが分かる。以下、ビット割当表とMDCTエラー係数との間の不一致を緩和させ得る周波数帯域係数補償量子化装置および方法について説明する。図4は、本発明の一実施形態にかかる階層型MDCT量子化システムを示すブロック図である。図4を参照すれば、階層型MDCT量子化システムは、階層型MDCT量子化方式を用いた音声およびオーディオ符号化器410と復号化器420とを含む。符号化器410は、MDCT411と、核心階層MDCT量子化器412と、向上階層符号化器413と、多重化器414とを含み、向上階層符号化器413は、ローカルMDCT逆量子化器415と、利得補償符号化器416と、エラー補償符号化器417とを含む。MDCT411は、入力信号をMDCT変換してMDCT係数を出力する。ここで、入力信号は、全体の信号帯域を含む全帯域音声および/またはオーディオ信号であるか、帯域分割コーデックの一部の帯域のみを有する信号またはスケーラブルコーデックの残留信号などとなり得る。核心階層MDCT量子化器412は、MDCT係数を量子化してMDCTインデックスを出力する。ローカルMDCT逆量子化器415は、逆量子化過程を経て、MDCTインデックスから量子化されたMDCT係数を出力する。MDCT411、核心階層MDCT量子化器412およびローカルMDCT逆量子化器415は、図1を参照して説明したMDCT111、核心階層MDCT量子化器112およびローカルMDCT逆量子化器115と同様に動作可能である。数式8のように、向上階層のために割当てられた総ビット数が、利得補償符号化器416の利得補償符号化とエラー補償符号化器417のエラー補償符号化とに分けて割当てられる。ここで、Benhは、向上階層全体に割当てられた総ビット数であり、BgcとBecは、それぞれ利得補償符号化器416に割当てられたビット数とエラー補償符号化器417に割当てられたビット数である。この時、向上階層全体に割当てられた総ビット数Benhは、図2の利用可能ビット数と同一であり得る。エラー補償符号化器417は、量子化されていないMDCT係数と量子化されたMDCT係数から、MDCTエラー係数を計算する。この時、MDCTエラー係数は、例えば、量子化されていないMDCT係数と量子化されたMDCT係数との差で計算できる。エラー補償符号化器417は、全体のMDCTエラー係数のうち、予め定められた個数のMDCTエラー係数を選択し、選択したMDCTエラー係数を量子化してエラーインデックスを出力する。また、エラー補償符号化器417は、選択したMDCTエラー係数の位置情報、つまり、パルス位置情報を利得補償符号化器416の指数計算器416aに伝達する。利得補償符号化器416は、量子化されていないMDCT係数、量子化されたMDCT係数およびパルス位置情報を用いて利得を計算し、各利得を量子化して利得インデックスを出力する。利得補償符号化器416の指数計算器416aは、エラー補償符号化器417から伝達されたパルス位置情報に相当するMDCT係数の指数をすべて最小値MIN_EXPに設定し、残りのMDCT係数に対しては、図1および図2を参照して説明したように指数値を計算する。この時、利得補償符号化器416は、図2の指数計算器211の指数計算過程で利用可能ビット数をBenhからBgcに変更した形態で指数を計算することができる。多重化器414は、MDCTインデックス、利得インデックスおよびエラーインデックスを多重化し、ビットストリームを出力する。復号化器420は、逆多重化器421と、核心階層MDCT逆量子化器422と、向上階層復号化器423と、IMDCT424とを含み、向上階層復号化器423は、利得補償復号化器425と、利得補償器426と、エラー補償復号化器427と、エラー補償器428とを含む。逆多重化器421は、受信したビットストリームを逆多重化し、MDCTインデックス、利得インデックスおよびエラーインデックスをそれぞれ出力する。核心階層MDCT逆量子化器422は、逆量子化過程を経て、MDCTインデックスから量子化されたMDCT係数を出力する。利得補償器426は、量子化された利得で量子化されたMDCT係数をスケーリングし、利得補償されたMDCT係数を出力する。IMDCT424は、復元されたMDCT係数をMDCT逆変換し、復元された信号を出力する。核心階層MDCT逆量子化器422、利得補償器426およびIMDCT424は、図1を参照して説明した核心階層MDCT逆量子化器122、利得補償器126およびIMDCT124と同様に動作可能である。エラー補償復号化器427は、エラーインデックスを復号化し、量子化されたMDCTエラー係数を出力し、選択されたMDCTエラー係数のそれぞれに対するパルス位置情報を利得補償復号化器425の指数計算器425aに伝達する。利得補償復号化器425は、量子化されたMDCT係数とパルス位置情報を用いて利得インデックスを復号化し、量子化された利得を出力する。利得補償復号化器425の指数計算器425aは、エラー補償復号化器427から伝達されたパルス位置情報に相当するMDCT係数の指数をすべて最小値MIN_EXPに設定し、残りのMDCT係数に対しては、図1および図2を参照して説明したように指数値を計算する。利得補償復号化器425は、図2の指数計算器222の指数計算過程で利用可能ビット数をBenhからBgcに変更した形態で指数を計算することができる。この時、選択されたパルス位置情報に相当するMDCT係数の指数が最小値に設定されたため、このMDCT係数の量子化された利得は1に設定できる。つまり、選択されたパルス位置情報において、利得補償器426によって利得補償されたMDCT係数は、量子化されたMDCT係数と実質的に同一であり得る。エラー補償器428は、利得補償されたMDCT係数を再びエラー補償し、復元されたMDCT係数を出力する。復元されたMDCT係数は、数式9のように計算できる。ここで、は、利得補償されたMDCT係数であり、は、量子化されたMDCTエラー係数であり、は、復元されたMDCT係数である。この時、符号化器410が選択されたパルス位置でのみエラーインデックスを生成したため、量子化されたMDCTエラー係数は、選択されたパルス位置以外の位置では0の値を有する。このように、本発明の一実施形態にかかる階層型MDCT量子化システムは、選択したパルス位置ではMDCTエラー係数を用いてMDCT係数を復元し、選択したパルス位置以外の位置では量子化された利得を用いてMDCT係数を復元することができる。つまり、本発明の一実施形態にかかる階層型MDCT量子化システムは、エラー補償と利得補償をすべて行うことにより、量子化エラーに対する補償を効果的に行うことができる。図5は、本発明の一実施形態にかかるMDCT向上階層符号化方法を示すフローチャートである。図5を参照すれば、符号化器410は、まず、MDCT係数と量子化されたMDCT係数から、MDCTエラー係数を計算するS510。MDCTエラー係数[Ek]は、数式10のように計算できる。MDCTエラー係数は、複数の副帯域に分割splitされる。符号化器410は、計算したMDCTエラー係数を用いて、各副帯域に対するエラーエネルギーを計算するS520。ここで、副帯域の個数と各副帯域の境界は、コーデック設計段階で予め決定できる。各副帯域のエラーエネルギーは、数式11のように計算できる。ここで、ejは、j番目の副帯域のエラーエネルギーであり、Mは、副帯域の個数であり、ljとujは、それぞれj番目の副帯域の下位および上位境界boundaryインデックスである。符号化器410は、数式12のように、M個の副帯域に対して最も大きいエラーエネルギーを有する副帯域インデックスjmaxを検索するS530。符号化器410は、検索した副帯域インデックスjmaxを符号化するS540。例えば、副帯域の個数が4の場合、符号化器410は、副帯域インデックスを2ビットで符号化することができる。そして、符号化器410は、検索した副帯域に相当するMDCTエラー係数を符号化するS550。この時、符号化器410は、検索した副帯域のMDCTエラー係数に対する二乗平均平方根RootMeanSquare、RMS値を量子化してRMSインデックスを生成し、再び逆量子化を経て、RMSインデックスから量子化されたRMS値を求めることができる。そして、検索した副帯域のMDCTエラー係数をT個のトラックに分けて、各トラックにおいて絶対値がのMDCTエラー係数を選択する。ここで、は、t番目のトラックのパルス個数である。各トラックから選択されたMDCTエラー係数、つまり、パルスは、各トラックにおける位置、符号signおよび大きさに分けられ、これらはそれぞれ符号化される。この時、副帯域インデックス、検索した副帯域から選択されたパルスの各位置、符号および大きさが符号化された値、そして、RMSインデックスがエラーインデックスとして出力される。次に、符号化器410は、利得補償符号化のために、各トラックのMDCTエラー係数の位置情報と量子化されたMDCT係数を用いて、指数値を計算するS560。指数値は、数式13のように計算できる。この時、選択されたパルスの場合、符号化された値がエラーインデックスとして提供されるため、符号化器410は、ビット割当の無駄遣いを防止するために、選択されたパルスの指数値を最小指数値MIN_EXP、例えば、0に設定する。ここで、piは、つまり、検索した副帯域の下位境界インデックスを基準とした相対的な位置であり、Npは、総パルスの個数であり、数式14のように付与できる。符号化器410は、指数値を用いて、図2の利得補償符号化器116で説明したように利得符号化過程を行い、利得インデックスを出力するS570。この時、前述したように、利得符号化過程での利用可能ビット数はBgcに相当する。図6は、本発明の一実施形態にかかるMDCT向上階層符号化方法における副帯域MDCTエラー係数符号化過程を示すフローチャートである。まず、符号化器410のエラー補償符号化器417は、ステップS530で検索した副帯域のMDCTエラー係数に対してRMS値を計算した後、RMS値を量子化してRMSインデックスを出力するS610。RMS値rmsは、数式15のように計算可能であり、数式16のようにRMSインデックスIrmsで符号化できる。ここで、は、jmax番目の副帯域のMDCTエラー係数の個数である。エラー補償符号化器417は、パルス検索のために、副帯域MDCTエラー係数に対してトラックを構成するS620。例えば、副帯域のMDCTエラー係数の個数が12個であり、各トラックの可能な位置が4つの場合に、トラックは、インターリービングinterleavingの有無に従って、下記の表1または表2のように構成できる。表1は、インターリービングをしない場合のトラックを示し、表2は、インターリービングをした場合のトラックを示す。ここで、各位置のインデックスは、を基準とした相対的な位置を示したものである。エラー補償符号化器417は、トラックを用いて、各トラックに対して予め定められた個数のパルスを検索するS630。例えば、エラー補償符号化器417は、トラックあたりのパルスの個数が1個の場合に、各トラックの可能な位置に相当するMDCTエラー係数のうち、最も大きい絶対値を有するMDCTエラー係数、つまり、パルスを検索する。エラー補償符号化器417は、ステップS630で検索したパルスを位置、符号および大きさ成分に分け、これらをそれぞれ量子化する。具体的には、エラー補償符号化器417は、パルス位置を各当該トラックにおける相対的な位置として符号化するS640。表1および表2の例の場合、各トラックの可能な位置は4つであるので、検索されたパルスの位置は2ビットで符号化できる。そして、エラー補償符号化器417は、検索した各パルスの符号を1ビットで符号化しS650、検索した各パルスの絶対値に対する量子化過程を経て、パルスの大きさを符号化するS660。例えば、逆量子化を通して、ステップS610のRMSインデックスから量子化されたRMS値を生成した後に、数式17のように各パルスの大きさを量子化されたRMS値で正規化した後、個別的にスカラー量子化されたり、あるいはベクトル量子化して、パルスの大きさの符号化された値Iampを生成することもできる。ここで、は、i番目のパルスのRMS正規化されたパルスの大きさであり、rms_qは、量子化されたRMS値である。一方、各トラックにおいて絶対値が最も大きい1個のMDCTエラー係数を選択する場合、つまり、が1の場合、パルス位置の符号化された値[Ipost]とパルス符号の符号化された値[Isignt]は、それぞれ数式18および19のように表現できる。ここで、tは、トラックのインデックスであり、ptは、t番目のトラックにおけるパルスの相対的な位置で、数式13のpiに相当する。ここで、stは、t番目のトラックにおけるパルスの符号で、数式20のように表現できる。一方、このように生成されたMDCTインデックス、利得インデックスおよびエラーインデックスなどが多重化されたビットストリームは、例えば、表3のように表現できる。図7は、本発明の一実施形態にかかるMDCT向上階層復号化方法を示すフローチャートである。図7を参照すれば、復号化器420は、MDCTインデックス、エラーインデックスおよび利得インデックスを含むビットストリームを受信しS710、受信したビットストリームを逆多重化し、MDCTインデックス、利得インデックスおよびエラーインデックスを出力するS720。次に、復号化器420は、MDCT利得インデックスを逆量子化し、量子化されたMDCT係数を出力しS730、副帯域インデックスjmaxに相当するエラーインデックスを復号化し、MDCTエラー係数を復元するS740。また、復号化器420は、各トラックのMDCTエラー係数の位置情報と量子化されたMDCT係数を用いて、指数値を計算するS750。指数値は、図5のステップS560と同様の方式で計算できる。次に、復号化器420は、指数値を用いて、図2の利得補償復号化器125で説明したように利得復号化過程を行い、利得を復元するS760。つまり、復号化器420は、指数値を用いてビット割当表を生成し、ビット割当表を用いて利得インデックスから利得を復元する。前述したように、利得復号化過程における利用可能ビット数はBgcに相当する。この時、選択されたパルス位置において、指数値は最小指数値に設定されたため、選択されたパルス位置における復元された利得は、量子化されたMDCT係数を変更させない値、例えば、1に設定できる。次に、復号化器420は、復元した利得で量子化されたMDCT係数の利得を補償しS770、数式9のように、MDCTエラー係数で利得補償されたMDCT係数のエラーを補償し、MDCT係数を復元するS780。利得補償されたMDCT係数と復元されたMDCT係数は、それぞれ数式21および数式22のように表現できる。ここで、は、数式7においてiがIoptkであるコードワードを示す。図8は、本発明の一実施形態にかかるMDCT復号化方法におけるMDCTエラー係数復号化過程を示すフローチャートである。図8を参照すれば、まず、復号化器420のエラーを補償する副帯域インデックスを復号化しS810、逆量子化を通して、RMSインデックスから量子化されたRMS値を計算するS820。そして、復号化器420は、副帯域のパルスに対する位置、符号および大きさ成分をそれぞれ復号化しS830、S840、S850、復号化したパルスの大きさを量子化されたRMS値で逆正規化するS860。つまり、復号化器420は、復号化したパルスの大きさで量子化されたRMS値を乗じ、復号化したパルスの大きさを逆正規化する。次に、復号化器420は、復号化したパルス符号と逆正規化されたパルスの大きさを用いてパルスを復元しS870、復元したパルス位置情報を用いて、予め定められたトラック構造に従って復元したパルスを配置し、量子化されたMDCTエラー係数を復元するS880。復元されたMDCTエラー係数は、数式23のように付与できる。ここで、siは、i番目のパルスの符号であり、は、i番目のパルスのRMS正規化された量子化パルスの大きさである。例えば、piは、数式24のように表現でき、siは、数式19および20のstに相当する値で、数式25のように表現できる。このように、本発明の一実施形態によれば、利得補償方式とエラー補償方式とを結合して用いることにより、利得補償方式の有するビット割当と実際のエラー係数との間の不一致によるスペクトル歪みにより発生し得る音質の低下を克服することができる。以上、本発明の実施形態について詳細に説明したが、本発明の権利範囲は、これに限定されるものではなく、下記の請求の範囲で定義している本発明の基本概念を利用した当業者の様々な変形および改良形態も本発明の権利範囲に属する。