(57)【要約】【課題】Ｇ．７１１コーデックの量子化誤差の減少及び音質向上のための符号化装置及び復号化装置を提供する。【解決手段】本発明の実施の形態による符号化装置は、入力音声信号を符号化して、Ｇ．７１１ビットストリームを出力するＧ．７１１符号化部と、入力音声信号及びＧ．７１１ビットストリームに基づいて、静的ビット割り当て方式及び動的ビット割り当て方式のうち、量子化誤差がより少ない方式を選択し、選択された方式に従って符号化された追加仮数情報を含む向上階層ビットストリームを出力する向上階層符号化部と、Ｇ．７１１ビットストリームと前記向上階層ビットストリームとを多重化する多重化部とを備える。これにより、Ｇ．７１１コーデックの量子化誤差が減少し、音質が向上するようになる。【選択図】図４
2010146006.tif 000002
【特許請求の範囲】
【請求項１】
入力音声信号を 符号化して、Ｇ．７１１ビットストリームを出力するＧ．７１１符号化部と、
前記入力音声信号及び前記Ｇ．７１１ビットストリームに基づいて、静的ビット割り当て方式及び動的ビット割り当て方式のうち、量子化誤差がより少ない方式を選択し、該選択された方式に従って符号化された追加仮数情報を含む向上階層ビットストリームを出力する向上階層符号化部と、
前記Ｇ．７１１ビットストリームと前記向上階層ビットストリームとを多重化する多重化部と
を備えることを特徴とする符号化装置。
【請求項２】
前記向上階層符号化部は、
各サンプルの符号化指数情報の大きさに応じて前記各サンプルの追加仮数情報のビット数が可変する前記動的ビット割り当て情報を演算する動的ビット割り当て部と、
前記各サンプルの追加仮数情報のビット数が一定な前記静的ビット割り当て情報を演算する静的ビット割り当て部と、
前記動的ビット割り当て情報と前記静的ビット割り当て情報とに基づいて、前記静的ビット割り当て方式及び動的ビット割り当て方式のうち、量子化誤差がより少ない方式を選択するモードフラグを出力するモード選択部と
を備えることを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記モードフラグに応じて符号化された動的追加仮数情報と符号化された静的追加仮数情報のうちの何れか一つを選択して出力するスイッチをさらに備えることを特徴とする請求項２に記載の符号化装置。
【請求項４】
前記各サンプルの符号化指数情報から入力フレーム内の各サンプルの追加仮数情報を抽出する追加仮数抽出部をさらに備え、
前記モード選択部は、前記追加仮数情報に基づいて前記モードフラグを出力することを特徴とする請求項２に記載の符号化装置。
【請求項５】
前記動的ビット割り当て情報に基づいて追加仮数を符号化して、符号化された動的追加仮数情報を出力する動的追加仮数符号化部と、
前記静的ビット割り当て情報に基づいて追加仮数を符号化して、符号化された静的追加仮数情報を出力する静的追加仮数符号化部と
をさらに備えることを特徴とする請求項２に記載の符号化装置。
【請求項６】
前記各サンプルの符号化指数情報と前記動的ビット割り当て情報とに基づいて、前記符号化された動的追加仮数情報を復号化して、復号化された動的追加仮数情報を前記モード選択部に出力する動的ローカル追加仮数復号化部と、
前記各サンプルの符号化指数情報と前記静的ビット割り当て情報とに基づいて、前記符号化された静的追加仮数情報を復号化して、復号化された静的追加仮数情報を前記モード選択部に出力する静的ローカル追加仮数復号化部と
をさらに備えることを特徴とする請求項５に記載の符号化装置。
【請求項７】
受信されるビットストリームからＧ．７１１ビットストリームと向上階層ビットストリームとを逆多重化する逆多重化部と、
前記Ｇ．７１１ビットストリームを復号化して、Ｇ．７１１復号化信号を出力するＧ．７１１復号化部と、
前記向上階層ビットストリーム内のモードフラグにより選択された方式に従って符号化された追加仮数情報を復号化して、向上階層復号化信号を出力する向上階層復号化部と、
前記Ｇ．７１１復号化信号と前記向上階層復号化信号とを合成する信号合成部と
を備えることを特徴とする復号化装置。
【請求項８】
前記向上階層復号化部は、
各サンプルの復号化指数情報の大きさに応じて前記各サンプルの追加仮数情報のビット数が可変する前記動的ビット割り当て情報を演算する動的ビット割り当て部と、
前記各サンプルの追加仮数情報のビット数が一定な前記静的ビット割り当て情報を演算する静的ビット割り当て部と、
前記モードフラグに応じて前記動的ビット割り当て情報及び前記静的ビット割り当て情報のうちの何れか一つを選択して、復号化ビット割り当て情報を出力するスイッチと
を備えることを特徴とする請求項７に記載の復号化装置。
【請求項９】
前記各サンプルの復号化指数情報と前記復号化ビット割り当て情報とに基づいて、前記各サンプルに対する追加仮数情報を復号化して出力する追加仮数復号化部をさらに備えることを特徴とする請求項８に記載の復号化装置。
【請求項１０】
前記各サンプルに対する復号化された追加仮数情報と前記Ｇ．７１１復号化部からの符号情報とを合成して、復元された向上信号を出力する向上信号合成部をさらに備えることを特徴とする請求項９に記載の復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置及び復号化装置に関し、さらに詳細には、Ｇ．７１１コーデックの量子化誤差の減少及び音質向上のための符号化装置及び復号化装置に関する。
【背景技術】
【０００２】
アナログ音声を単純にサンプリングしてデジタルに変換する技術は、相対的に大きなビット率によって帯域幅の狭い応用分野に直接的に適用し難い。例えば、音声を８ＫＨｚにサンプリングしサンプル当たりの１６ビットで量子化する場合、秒当たりの１２８，０００ビットのビット率を有する。大部分の音声通信網で低いビット率で音声信号を効果的に伝達するために、音声信号を圧縮及び復元するコーデック装置を利用する。
【０００３】
音声を圧縮及び復元する色々な方法のうち代表的なものに、ＰＣＭ（Pulse Code Modulation）、ＣＥＬＰ（Code-Excited Linear Prediction）などがある。ＰＣＭは、音声サンプルを決まったビット数で圧縮する方式であるのに対し、ＣＥＬＰは、音声を予め決まったブロック単位で処理して、音声発生モデルを基盤に信号を圧縮する方式である。応用分野によって多様な形態のコーデックが開発され標準化されており、最も広く使用されるコーデックは、ＰＳＴＮ有線電話とインターネット電話などで使用される対数ＰＣＭコーデックである。この方式は、入力信号の大きさに応じて量子化ステップを調整する。すなわち、低いレベルの入力信号は、小さな量子化ステップを使用し、大きなレベルの入力信号に対しては、大きな量子化ステップを適用する。この対数ＰＣＭ方式のコーデックを利用すると、サンプル当たりの１６ビットの長さを有するデジタルサンプルをサンプル当たりの８ビットに圧縮できる。したがって、対数ＰＣＭを適用して８ＫＨｚにサンプリングする場合、得られるビット率は、秒当たりの６４，０００ビットである。代表的な対数量子化方式には、Ａ−ｌａｗとｕ−ｌａｗの２通りの方式があり、それぞれは、下記の式１のように表現される。
【０００４】
【数１】
2010146006.tif 000003
【０００５】
ここで、ｘは、入力サンプル、ｕとＡとは、各量子化方式に対する定数、Ｃ（  ）は、各方式で圧縮されたサンプル、｜｜は、絶対値を意味する。
【０００６】
Ａ−ｌａｗとｕ−ｌａｗ方式は、ＩＴＵ−Ｔ（International Telecommunication Union Telecommunication Sector）で標準勧告案Ｇ．７１１として１９７２年に標準化された。この標準で選択されたｕとＡ値は、それぞれ２５５（ｕ）と８７．５６（Ａ）である。Ｇ．７１１コーデックは、実際の応用で式１を直接計算するよりは、不動少数点量子化方式を利用する。各サンプルに対して可用ビット（Ｇ．７１１の場合、８ビット）のうち一部は、量子化ステップを決定するのに使用し、残りのビットは、決定された量子化ステップ内での位置を表現するのに使用する。前者を指数（exponent）ビットといい、後者を仮数（mantissa）ビットという。Ｇ．７１１標準のＡ−ｌａｗ方式の場合、サンプル当たりの８ビットから指数情報のために３ビットを使用し、仮数情報のために４ビットを使用する。残りの１ビットは、サンプルの符号を表現するのに使用される。
【０００７】
Ｇ．７１１標準コーデックは、８ＫＨｚにサンプリングされた狭帯域音声に対して、ＭＯＳ（Mean Opinion Score）４点以上の優れた品質を提供し、極めて少ない計算量とメモリ要求量で具現が可能である。しかしながら、Ｇ．７１１方式で音声を圧縮及び復元したとき、原音に比べて量子化誤差による音質の低下が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、Ｇ．７１１コーデックの量子化誤差の減少及び音質向上のための符号化装置及び復号化装置を提供することにある。
【課題を解決するための手段】
【０００９】
上述した課題及びその他の課題を解決するための本発明の実施の形態による符号化装置は、入力音声信号を符号化して、Ｇ．７１１ビットストリームを出力するＧ．７１１符号化部と、前記入力音声信号及び前記Ｇ．７１１ビットストリームに基づいて、静的ビット割り当て方式及び動的ビット割り当て方式のうち、量子化誤差がより少ない方式を選択し、該選択された方式に従って符号化された追加仮数情報を含む向上階層ビットストリームを出力する向上階層符号化部と、前記Ｇ．７１１ビットストリームと前記向上階層ビットストリームとを多重化する多重化部と、を備える。
【００１０】
また、上述した課題及びその他の課題を解決するための本発明の実施の形態による復号化装置は、受信されるビットストリームからＧ．７１１ビットストリームと向上階層ビットストリームとを逆多重化する逆多重化部と、前記Ｇ．７１１ビットストリームを復号化して、Ｇ．７１１復号化信号を出力するＧ．７１１復号化部と、前記向上階層ビットストリーム内のモードフラグにより選択された方式に従って符号化された追加仮数情報を復号化して、向上階層復号化信号を出力する向上階層復号化部と、前記Ｇ．７１１復号化信号と前記向上階層復号化信号とを合成する信号合成部と、を備える。
【発明の効果】
【００１１】
本発明の実施の形態によれば、Ｇ．７１１符号化部で符号化し、向上階層符号化部で静的ビット割り当て方式及び動的ビット割り当て方式のうち、量子化誤差がより少ない方式に従って追加仮数情報を符号化することによって、量子化誤差が顕著に減少し、音質が向上するようになる。
【図面の簡単な説明】
【００１２】
【図１】Ｇ．７１１コーデックの音質向上のための符号化装置及び復号化装置の一例を示す図である。
【図２】図１のＧ．７１１符号化部の入力及び出力ビットストリームの一例を示す図である。
【図３】図１の向上階層符号化部の入力及び出力ビットストリームの一例を示す図である。
【図４】図１の向上階層符号化部の内部ブロック図である。
【図５Ａ】図４の動的ビット割り当て部内の指数マップ（ｍａｐ）の一例を示す図である。
【図５Ｂ】図４の動的ビット割り当て部内の指数マップ（ｍａｐ）の一例を示す図である。
【図６】図４の動的ビット割り当て部内のビット割り当てテーブルの生成方法の一例を示すフローチャートである。
【図７】図４の動的ビット割り当て部の内部を簡略に示すブロック図である。
【図８】図１の向上階層復号化部の内部ブロック図である。
【発明を実施するための形態】
【００１３】
以下では、図面を参照して本発明をさらに詳細に説明する。
【００１４】
図１は、本発明の実施の形態によるＧ．７１１コーデックの音質向上のための符号化装置及び復号化装置の一例を示す図である。図１に示すように、符号化装置１００は、入力バッファ１０５、Ｇ．７１１符号化部１１０、向上階層符号化部１１５及び多重化部１２０を備える。復号化装置１５０は、逆多重化部１５５、Ｇ．７１１復号化部１６０、向上階層復号化部１６５、信号合成部１７０及び出力バッファ１７５を備える。符号化装置１００と復号化装置１５０とは、通信チャネル１４０を介して接続される。
【００１５】
まず、符号化装置１００について説明する。入力バッファ１０５は、入力信号をブロック単位（以下、フレームとする）で処理するために、入力信号を決まった長さ分だけ格納する。例えば、８ＫＨｚサンプリングにおいて５ｍｓの間隔で入力信号を処理しようとする場合、入力バッファ１０５は、４０サンプル（＝８ＫＨｚ＊５ｍｓ）から構成されたフレームを格納する。
【００１６】
Ｇ．７１１符号化部１１０は、従来のＧ．７１１コーデックに応じて入力バッファ１０５に格納されたフレームを符号化して生成したビットストリームを出力する。Ｇ．７１１コーデックは、ＩＴＵ−Ｔで定義された標準方式であって、ここではこれについての詳細な説明は省略する。
【００１７】
向上階層符号化部１１５は、Ｇ．７１１符号化部１１０により表現されることができない量子化誤差を追加に割り当てられたビットを利用して再度量子化して出力する。具体的に説明すると、本発明の実施の形態による向上階層符号化部１１５は、一定のビット数を割り当てる静的ビット割り当て方式又はビット数を可変する動的ビット割り当て方式のうち、最適の方式を選択して、追加仮数情報を符号化することによって、量子化誤差をかなり減らすようになり、これにより音質の向上を図るようになる。これについては、図４以下を参照して後述する。
【００１８】
多重化部１２０は、Ｇ．７１１符号化部１１０で符号化されて出力されるビットストリーム（以下、Ｇ．７１１ビットストリーム）と向上階層符号化部１１５で符号化されて出力されるビットストリーム（以下、向上ビットストリーム）を多重化する。多重化されたビットストリームは、任意の通信チャネル１４０を介して復号化装置１５０に伝達される。
【００１９】
次に、復号化装置１５０について説明する。逆多重化部１５５は、通信チャネル１４０を介して符号化装置１００から受信したビットストリームをＧ．７１１ビットストリームと向上ビットストリームとに逆多重化する。
【００２０】
Ｇ．７１１復号化部１６０は、Ｇ．７１１コーデックを利用してＧ．７１１ビットストリームを復号化する。
【００２１】
向上階層復号化部１６５は、向上ビットストリームを向上階層符号化部１１５と対称される方法により復号化する。具体的に説明すると、本発明の実施の形態による向上階層復号化部１６５は、一定のビット数を割り当てる静的ビット割り当て方式又はビット数を可変する動的ビット割り当て方式のうち、最適の方式を選択して、追加仮数情報を復号化することで、量子化誤差をかなり減らすようになり、これにより音質の向上を図るようになる。これについては、図４以下を参照して後述する。
【００２２】
信号合成部１７０は、Ｇ．７１１復号化部１６０で復号化されて出力される信号（以下、Ｇ．７１１復号化信号）と向上階層復号化部１６５で復号化されて出力される信号（以下、向上階層復号化信号）を合成する。
【００２３】
出力バッファ１７５は、信号合成部１７０から出力される復号化信号を格納し、格納された信号をフレーム単位で出力する。
【００２４】
図２は、図１のＧ．７１１符号化部の入力及び出力ビットストリームの一例を示す図であり、図３は、図１の向上階層符号化部の入力及び出力ビットストリームの一例を示す図である。
【００２５】
まず、図２に示すように、Ｇ．７１１符号化部１１０は、１６ビットサンプル２００を入力されて８ビットサンプル２５０に圧縮して出力する。出力される８ビットサンプル２５０は、１ビットの符号情報２６０、３ビットの指数情報２７０、４ビットの仮数情報２８０を含む。指数情報２７０は、圧伸器（compander）セグメントを指し、仮数情報２８０は、指数情報が指すセグメント内の特定位置を示す。
【００２６】
次に、図３に示すように、Ｇ．７１１符号化部１１０とは向上階層符号化部１１５とは、１６ビットサンプル３００を入力されて１ビットの符号情報３６０、３ビットの指数情報３７０、４ビットの仮数情報３８０及びｘビットの追加仮数情報３９０を含む。追加仮数情報３９０は、指数情報３７０が指すセグメント内で本来の仮数情報３８０が指す位置をさらに細分化して、Ｇ．７１１コーデックの量子化誤差を減らすようになる。
【００２７】
本発明の実施の形態では、ｘビットの追加仮数情報３９０に一定のビット数を割り当てる静的ビット割り当て方式又はビット数を可変する動的ビット割り当て方式のうち、最適の方式を適用することによって、量子化誤差をかなり減らすようになり、これにより、音質の向上を図るようになる。これについては、図４以下を参照して後述する。
【００２８】
図４は、図１の向上階層符号化部の内部ブロック図である。図面を参照して説明すれば、図１の向上階層符号化部１１５は、二重モード向上階層符号化部として動作する。向上階層符号化部１１５は、動的ビット割り当て部４２０、静的ビット割り当て部４３０、追加仮数抽出部４４０、追加仮数符号化部４５０、４８０、ローカル追加仮数復号化部４６０、４７０、モード選択部４９０及びスイッチ４９５を備える。
【００２９】
動的ビット割り当て部４２０は、Ｇ．７１１符号化部１１０から得られた符号化指数情報４０２と、フレーム当たりの可用ビット数４０１を利用して動的ビット割り当て情報４０４を計算する（ITU-T Rec.G.711.1，「Wideband embedded extension for G.711 pulse code modulation」）。入力信号の大きさによってＧ．７１１コーデックの量子化誤差が異なるので、動的ビット割り当て部４２０は、入力信号の大きさによって各サンプルに追加仮数情報のビット数を流動的に割り当てる。例えば、向上階層の送信ビット率が１６Ｋｂｉｔ／ｓであり、フレームの大きさが５ｍｓである場合、一フレーム内でＧ．７１１コーデックにより使用されるビットの他に向上階層で可用の総ビット数は８０ビットである。ここで、各サンプルの指数情報の大きさを基に各サンプルに０〜３ビットの追加仮数情報を流動的に割り当てる。入力信号の大きさを考慮して、フレームの各サンプルに追加仮数情報のビット数を流動的に割り当てるための方法は、図５Ａ及び図５Ｂを参照して後述する。
【００３０】
静的ビット割り当て部４３０は、可用ビット数４０１をフレーム当たりのサンプル数で割り算して静的ビット割り当て情報４０５を計算する。静的ビット割り当て部４３０による各サンプル当たりのビット数、すなわち、静的ビット割り当て情報４０５は、以下のように計算される。
【００３１】
【数２】
2010146006.tif 000004
【００３２】
ここで、bit_alloc[i]は、静的ビット割り当て方式によるｉ番目のサンプルに割り当てられたビット数４０５で、Ｂは、フレーム当たりの可用ビット数（４０１）、Ｌは、フレーム当たりのサンプル数である。例えば、向上階層の送信ビット率が１６Ｋｂｉｔ／ｓであり、フレームの大きさが５ｍｓである場合、一フレーム内でＧ．７１１コーデックにより使用されるビットの他に、向上階層で可用の総ビット数は８０ビットである。ここで、フレームが総４０サンプルで構成された場合、各サンプルごとに２ビットずつ追加ビットの割り当てが可能である。
【００３３】
追加仮数抽出部４４０は、各サンプルの符号化指数情報４０２を利用して入力フレーム内の各サンプルから追加仮数情報４０６を抽出する。
【００３４】
追加仮数符号化部４５０、４８０は、各モードに応じて動的ビット割り当て情報４０４又は静的ビット割り当て情報４０５を利用して追加仮数情報４０６を符号化し、符号化された動的追加仮数情報４０７又は符号化された静的追加仮数情報４１０をそれぞれ出力する。
【００３５】
ローカル追加仮数復号化部４６０、４７０は、二重モード向上階層符号化部１１５の内部で使用される追加仮数復号化部であって、各符号化された追加仮数情報４０７、４１０を、各モードのビット割り当て情報４０４、４０５と符号化指数情報４０２とに応じて、各サンプルに対する復号化された動的追加仮数情報４０８又は復号化された静的追加仮数情報４０９にそれぞれ復元する。
【００３６】
モード選択部４９０は、各モードで復号化された追加仮数情報４０８、４０９と追加仮数情報４０６とを利用して、各モードに対する量子化誤差エネルギーを計算した後、量エネルギーを比較して小さな値を有するモードを選択してモードフラグ４１１を設定して出力する。本一実施の形態では、２種類のモードが可能なので、モードフラグ４１１を符号化するために、１ビットが使用される。
【００３７】
一方、表１を参照して、各モードに対する量子化誤差エネルギー演算過程を説明する。以下の表１は、フレーム当たりの５個サンプルに対して、総１０ビットの可用ビットを利用して、静的ビット割り当て方式と動的ビット割り当て方式により向上階層符号化過程を行った結果を表したものであって、Ｇ．７１１符号化方式によりＡ−ｌａｗを適用した例である。静的ビット割り当て方式では、可用の１０ビットをすべてのサンプルに一定に２ビットずつ（＝１０／５ビット）割り当て、動的ビット割り当て方式は、Ｇ．７１１．１勧告案の方式に従ったものである。
【００３８】
【表１】
2010146006.tif 000005
【００３９】
ここで、入力サンプル、指数（exponent）、仮数（mantissa）、Ｇ．７１１量子化誤差、及び各割り当て方式に従う復元された量子化誤差は、２進数で表示し、括弧内の数字は、１０進数である。Ｇ．７１１量子化誤差は、Ｇ．７１１符号化過程により発生する量子化誤差を表し、図４の追加仮数抽出部から出力する追加仮数情報４０６でありうる。復元された量子化誤差は、各割り当て方式によって割り当てられたビット数で各サンプルの量子化誤差を符号化した後に、再度復元したものである。
【００４０】
例えば、入力サンプルが「００００  ０１１１  １０００  ０００１」である場合に、Ｇ．７１１符号化過程で、符号化指数は、「０１１」、符号化仮数は、「１１１０」、これによるＧ．７１１量子化誤差は、「００  ０００１」である。
【００４１】
静的ビット割り当て方式を使用した場合、静的ビット割り当て部４３０から出力される静的ビット割り当て情報４０５は、各サンプルに対して「２ビット」、ローカル追加仮数符号化部４８０で符号化された静的追加仮数情報４１０は、「００」、ローカル追加仮数復号化部４７０で復号化された静的追加仮数情報４０９は、「００００００」でありうる。
【００４２】
動的ビット割り当て方式を使用した場合、動的ビット割り当て部４２０から出力される動的ビット割り当て情報４０４は、各サンプルに対して「３ビット」、ローカル追加仮数符号化部４５０で符号化された動的追加仮数情報４０７は、「０００」、ローカル追加仮数復号化部４６０で復号化された動的追加仮数情報４０８は、「００  ００００」でありうる。
【００４３】
本例で各ビットの割り当て方式の向上階層符号化による量子化誤差エネルギーは、以下のように計算される。
【００４４】
【数３】
2010146006.tif 000006
【００４５】
【数４】
2010146006.tif 000007
【００４６】
ここで、EstaticとEdynamicとは、それぞれ静的ビット割り当て方式と動的ビット割り当て方式とによる量子化誤差エネルギーである。本例では、入力信号の特性に応じて動的ビット割り当て方式がむしろ静的ビット割り当てに比べて量子化誤差が増加するのが分かる。
【００４７】
これにより、モード選択部４９０は、静的モードを表す静的モードフラグ４１１を生成して出力する。静的モードフラグ４１１は、「０」と符号化されうる。一方、動的モードフラグ４１１は、「１」と符号化されうる。スイッチ４９５は、モードフラグ４０８に応じて動的符号化された追加仮数情報４０７と静的符号化された追加仮数情報４１０との中から選択された結果を符号化された追加仮数情報４１２として出力する。結局、向上階層符号化部１１５は、符号化された追加仮数情報４１２と、モードフラグ４１１を含む向上階層ビットストリームを出力する。
【００４８】
一方、追加仮数抽出部４４０は、入力フレーム４０３の各サンプルに対して符号化指数情報４０２から追加仮数情報４０６を抽出する。一方、各サンプルに対して最大許用のビット数が３ビットの場合、追加仮数抽出部４４０に対した類似ソースコードは、以下のように表現される。
【００４９】
【数５】
2010146006.tif 000008
【００５０】
ここで、Ｌは、フレーム当たりのサンプル数、exp[i]は、ｉ番目のサンプルの符号化指数情報４０２、ext_bits[i]は、ｉ番目のサンプルの追加仮数ビット数、x[i]は、フレーム内のｉ番目の入力サンプル値、ext_mantissa[i]は、ｉ番目のサンプルの追加仮数情報４０６である。「ｘ＆ｙ」とは、ｘとｙを各ビット別に論理ＡＮＤ動作（bitwise AND operation）を行う。例えば、Ｇ．７１１  Ａ−ｌａｗで符号化する場合に対して、２進数で表現された入力サンプルが「００００  ０００１  １０１０  １００１」であると、Ａ−ｌａｗ方式符号化により指数は、１、仮数は、「１０１０」になる。また、追加仮数情報４０６は、「１００１」になる。
【００５１】
追加仮数符号化部４５０、４８０は、入力フレーム４０３の各サンプルに対して抽出された追加仮数情報４０６の中から、各モードのビット割り当て情報４０４、４０５のビット数を考慮して、動的追加仮数情報４０７又は符号化された静的追加仮数情報４１０をそれぞれ生成する。一実施の形態による追加仮数符号化部４５０、４８０に対した類似ソースコードは、以下のように表現される。
【００５２】
【数６】
2010146006.tif 000009
【００５３】
ここで、bit_alloc[i]は、ｉ番目のサンプルに割り当てられたビット数、tx_bits_enh[i]は、ｉ番目のサンプルの符号化された追加仮数情報４０７、４１０である。「ｘ＞＞ａ」とは、ｘをａビット分だけ右側に移動させる動作を行う。「ｘ＾ｙ」とは、ｘとｙを各ビット別に論理排他的ＯＲ動作（bitwise exclusive OR operation）を行う。例えば、追加仮数情報４０６が「１００１」、割り当てられたビット数が３であると、符号化された追加仮数情報は、「１００」となる。
【００５４】
追加仮数復号化部４６０、４７０は、各モードで符号化された追加仮数情報４０７、４１０で各モードのビット割り当て情報４０４、４０５と、符号化指数情報４０２を利用して、各モードで復号化された追加仮数情報４０８、４０９を復元する。一実施の形態によるローカル追加仮数復号化部４６０、４７０に対した類似ソースコードは、次のように表現される。すなわち、各サンプルの指数値によって決定された最大追加可能な仮数ビット数と割り当てられたビット数の差分だけを「０」ビットで満たす。
【００５５】
【数７】
2010146006.tif 000010
【００５６】
ここで、exp[i]は、ｉ番目のサンプルの符号化指数情報４０２、bit_alloc[i]は、ｉ番目のサンプルに割り当てられたビット数、tx_bits_enh[i]は、ｉ番目のサンプルの符号化された追加仮数情報４０７、４１０、ld_ext_mantissa[i]は、ｉ番目のサンプルの復号化された追加仮数情報４０８、４０９である。
【００５７】
図５Ａ及び図５Ｂは、図４の動的ビット割り当て部内の指数マップ（ｍａｐ）の一例を示す図である。まず、図５Ａに示すように、動的ビット割り当て部４２０内の指数マップは、各サンプルの指数情報４０２から得られる追加仮数情報の指数インデックスを行と設定し、各サンプルを表すサンプルインデックスを列と設定した配列である。例えば、４０サンプルからなるフレームで各サンプル当たりの最大３ビットの追加仮数情報が割り当てられる場合、指数マップは、１０＊４０行列になる。
【００５８】
具体的に説明すると、各サンプルの指数インデックスは、そのサンプルの指数情報の大きさに比例し順次的であり、追加仮数情報のビット数と同じ個数の値から構成される。すなわち、指数インデックスは、各サンプルの指数情報の大きさ値から１ずつ増加して追加指数情報のビットに割り当てられる値である。例えば、あるサンプルの指数情報のビット列が「０００」であると、そのサンプルの指数インデックスは、０（指数情報の大きさ＋０）、１（指数情報の大きさ＋１）、４（指数情報の大きさ＋２）になる。さらに他の例として、指数情報の大きさが７（ビット列：１１１）であると、指数インデックスは、７（指数情報の大きさ＋０）、８（指数情報の大きさ＋１）、９（指数情報の大きさ＋２）になる。したがって、各サンプルの追加指数情報に対する指数インデックスは、０〜９の間に存在する。
【００５９】
指数マップが各元素は、−１に初期化され、各サンプルの指数インデックスに該当する位置の元素は、そのサンプルのインデックスを格納する。すなわち、（指数インデックス、サンプルインデックス）＝サンプルインデックスである。例えば、フレームの２度目のサンプルの指数情報が「０１１」であると、そのサンプルの指数インデックスは、３、４、５であるので、（３，４）＝２、（４，４）＝２、（５，４）＝２の値を有し、そのサンプルに該当する残りの元素は、初期化された−１の値をそのまま有する。
【００６０】
このような方法により各サンプルの指数インデックスを求めた後、その指数インデックスに該当する元素にサンプルインデックスを格納して指数マップを完成する。指数マップを基に、各サンプル当たりの割り当てられる追加ビットの数を表すビット割り当てテーブルを生成する。
【００６１】
すなわち、指数インデックスの最も大きな値（すなわち、９）から指数インデックスを１ずつ下げつつ、その指数インデックスに該当するサンプルに１ビットずつ割り当てる。ビット割り当て過程は、サンプルに割り当てられた総ビット数がフレーム内の可用の総ビット数と同じくなるまで行う。ビット割り当てテーブルの生成については、図６及び図７を参照して詳細に説明する。
【００６２】
図５Ｂに示すように、指数マップは、各サンプルの指数情報４０２から得られる追加仮数情報の指数インデックスを行と設定し、各サンプルに割り当てられた同一指数インデックスの数を列と設定した配列である。指数マップの各元素は、各サンプルを指すサンプルインデックスを含む。例えば、４０サンプルからなるフレームで各サンプル当たりの最大３ビットの追加仮数情報が割り当てられる場合に、４０サンプルのすべてが同じ指数インデックスを含むことができるので、指数マップの列の個数は、４０（０〜３９）個であり、指数マップは、１０＊４０行列になる。
【００６３】
ｎ番目のサンプルに対する指数マップを作成する方法を説明する。まず、ｎ番目のサンプルの追加仮数情報に対する指数インデックスを、指数情報の大きさを基に求める。すなわち、ｎ番目のサンプルの指数インデックス＝指数情報の大きさ＋ｊ（ｊ＝０，１，２）である。ｎ番目のサンプルに対する３個の指数インデックスが求められると、求められた指数インデックスと現在までその指数インデックスを有するサンプルの数をそれぞれ行列にする指数マップの該当位置の元素にｎ番目のサンプルのインデックスを格納する。すなわち、（指数インデックス、その指数インデックスを有するサンプルの数）＝ｎ番目のサンプルのインデックスである。そして、その指数インデックスを有するサンプルの数を１増加させる。
【００６４】
例えば、フレームの０番目のサンプルの指数情報が「１１０」であると、そのサンプルの指数インデックスは、６、７、８であるので、（６，０）＝０、（７，０）＝０、（８，０）＝０になり、指数インデックス６、７、８を有するサンプルの数は、それぞれ１、１、１になる。次に、フレームの１番目のサンプルの指数情報が「１００」であると、そのサンプルの指数インデックスは、４、５、６であるから、（４，０）＝１、（５，０）＝１、（６，１）＝１になる。（６，１）＝１になった理由は、指数インデックス６が割り当てられたサンプルの数が以前にすでに１であるためである。したがって、現在までの指数インデックス４、５、６、７、８に割り当てられたサンプルの数は、それぞれ１、１、２、１、１になる。このような方式ですべてのサンプルに対する指数マップを完成すると、各指数インデックスに該当するサンプルの個数及びサンプルのインデックス情報が分かる。
【００６５】
図６は、図４の動的ビット割り当て部内のビット割り当てテーブルの生成方法の一例を示すフローチャートである。図を参照して説明すれば、動的ビット割り当て部４２０は、各サンプル当たりの最大追加可能ビット数が３ビットであり、フレーム当たりの総可用ビット数４０１が８０ビットであると仮定するとき、各サンプルの指数情報４０２を基に各サンプル当たりの０〜３ビット大きさの動的ビット割り当て情報４０４を出力する。
【００６６】
具体的に説明すると、動的ビット割り当て部４２０は、ビット割り当てテーブルのすべての元素を０に初期化し、現フレームで可用の総ビット数４０１を８０ビットと設定し、指数インデックスの最大値を現指数インデックスとして設定する（Ｓ６００）。
【００６７】
図５Ａに示す指数マップを参照して、動的ビット割り当て部４２０は、各指数インデックスの行に存在するサンプルの数を計算する（Ｓ６１０）。例えば、図５に示す指数マップで指数インデックス８に該当するサンプルは、２つ（サンプルインデックス：０、３９）が存在する。
【００６８】
動的ビット割り当て部４２０は、現指数インデックスの行に存在するサンプルの数と現在フレームで使用可能なビット数の中、小さな数を利用可能なビット数として設定し（Ｓ６２０）、利用可能なビット数分だけを現指数インデックスの行に存在する各サンプルに１ビットずつ割り当てる（Ｓ６３０）。そして、動的ビット割り当て部４２０は、現在の使用可能ビット数から利用可能なビット数を差し引きした値を新しい可用ビット数として設定する（Ｓ６４０）。
【００６９】
動的ビット割り当て部４２０は、新しく設定された可用ビット数が０であると、終了し（Ｓ６５０）、０でないと、現指数インデックスから１を差し引きした値を新しい指数インデックスとして設定した後（Ｓ６６０）、ステップ６２０（Ｓ６２０）からステップ６５０（Ｓ６５０）まで再度始める。
【００７０】
図７は、図４の動的ビット割り当て部の内部を簡略に示すブロック図である。図７に示すように、動的ビット割り当て部４２０は、指数マップ生成部７００、及びビット割り当てテーブル生成部７１０を備える。
【００７１】
指数マップ生成部７００は、各サンプルの指数情報の大きさを基に各サンプル当たりの追加仮数情報の指数インデックスを求めった後、各サンプル当たりの指数インデックスを表す指数マップを生成する。各サンプルの指数情報は、図１に示すＧ．７１１符号化部１１０により分かる。指数マップは、図５に示されているので、ここで詳細な説明は省略する。
【００７２】
ビット割り当てテーブル生成部７１０は、指数マップを参照して指数インデックスの最大値から低い値に順次に各指数インデックスを含むサンプルを探索した後、そのサンプルに１ビットずつを割り当てる。このような割り当て過程が完了すると、各サンプル当たりの割り当てられたビット数４０４を表すビット割り当てテーブルを生成する。ビット割り当てテーブルの生成方法は、図６を参照する。
【００７３】
例えば、追加仮数符号化部４５０は、各サンプルの追加仮数情報のビットのうち、各サンプルに割り当てられたビット数分だけの最上位ビットを出力する。すなわち、［各サンプルの追加仮数情報４０６］／２＾［追加仮数情報４０６のビット数−各サンプルに割り当てられたビット数４０４］の値を出力する。
【００７４】
一方、動的ビット割り当て部４２０は、上述したものとは異なり、指数情報を介して決定される各サンプルの追加仮数情報４４０の重要度を基盤に、各サンプル当たりの割り当てられる追加仮数情報のビット数４０４を動的に決定することもできる。ここで、重要度は、毎フレームで量子化誤差を最小化するものであって、指数値が相対的に大きな場合（すなわち、量子化の大きさが大きな場合）は、サンプルの量子化誤差が小さいので、少ないビットが割り当てられるように重要度を下げることができる。
【００７５】
図８は、図１の向上階層復号化部の内部ブロック図である。図８に示すように、向上階層復号化部１６５は、動的ビット割り当て部８２０、静的ビット割り当て部８３０、スイッチ８４０、追加仮数復号化部８５０及び向上信号合成部８６０を備える。
【００７６】
動的ビット割り当て部８２０は、Ｇ．７１１復号化部１６０から得られた復号化指数情報８０３とフレーム当たりの可用ビット数８０１とを利用して、動的ビット割り当て情報８０４を計算する。静的ビット割り当て部８３０は、可用ビット数８０１をフレーム当たりのサンプル数で割り算して、各サンプル当たりのビット数、すなわち静的ビット割り当て情報８０５を計算する。各ビット割り当て部８２０、８３０は、図４で説明した向上階層符号化部１１５の各ビット割り当て部４２０、４３０と同様にビット割り当て情報を計算する。
【００７７】
スイッチ８４０は、動的ビット割り当て情報８０４と静的ビット割り当て情報８０５のうち、受信されたモードフラグ８０６に応じて選択されたビット割り当て情報を復号化ビット割り当て情報８０７から出力する。
【００７８】
追加仮数復号化部８５０は、受信された符号化された追加仮数情報８０２をスイッチ８４０から伝達された復号化ビット割り当て情報８０７と復号化指数情報８０３に応じて、各サンプルに対する追加仮数情報８０８を復元する。
【００７９】
向上信号合成部８６０は、復号化された追加仮数情報８０８とＧ．７１１復号化部１６０から得られた符号情報８０９とを利用して、向上信号８１０を復元する。
【００８０】
追加仮数復号化部８５０は、符号化された追加仮数情報８０２から復号化ビット割り当て情報８０７の各サンプルに割り当てられたビット数だけのビットを抽出して、追加仮数情報８０８を復元する。一実施の形態による追加仮数復号化部８５０に対した類似ソースコードは、以下のように表現される。すなわち、割り当てられたビット数のビットを取った後、各サンプルの指数（exponent）値によって決定された最大追加可能な仮数（mantissa）ビット数と割り当てられたビット数の差分だけを「０」ビットで満たす。
【００８１】
【数８】
2010146006.tif 000011
【００８２】
ここで、rx_bits_enh[i]は、受信されたｉ番目のサンプルの符号化された追加仮数情報８０２である。
【００８３】
向上信号合成部８６０は、復元された追加仮数情報８０８とＧ．７１１復号化部１６０から得られた符号情報８０９とから向上信号８１０を合成する。一実施の形態による信号合成部８６０に対した類似ソースコードは、以下のようである。すなわち、符号情報が負数を指すと、復元された追加仮数情報８０８に負数を取り、負数でないと、そのまま出力する。
【００８４】
【数９】
2010146006.tif 000012
【００８５】
ここで、sign[i]は、ｉ番目のサンプルに対する符号情報であって、Ｇ．７１１復号化部１６０から得られる。
【００８６】
一方、本発明は、またコンピュータで読み出すことのできる記録媒体にコンピュータが読み出すことのできるコードとして具現することが可能である。コンピュータが読み出すことのできる記録媒体は、コンピュータシステムによって読み出されることのできるデータが格納されるすべての種類の記録装置を含む。コンピュータが読み出すことのできる記録媒体の例には、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク、光データ格納装置などがあり、またキャリアウェーブ（例えば、インターネットを介した送信）の形態で具現されることも含む。また、コンピュータが読み出すことのできる記録媒体は、ネットワークで接続されたコンピュータシステムに分散されて、分散方式によりコンピュータが読み出すことのできるコードが格納されて実行されることができる。
【００８７】
本発明の実施の形態によれば、Ｇ．７１１符号化部で符号化し、向上階層符号化部で静的ビット割り当て方式及び動的ビット割り当て方式のうち、量子化誤差がより少ない方式に従って追加仮数情報を符号化することによって、量子化誤差が顕著に減少し、音質が向上するようになる。
【００８８】
以上、添付された図面を参照して本発明の実施の形態を説明したが、上述した本発明の技術的構成は、本発明が属する技術分野の当業者が本発明のその技術的思想や必須特徴を変更せずにも他の具体的な形態で実施されうることを理解できるはずである。したがって、以上で述べた実施の形態は、すべての面で例示的なものであり、限定的なものではないと理解されなければならない。また、本発明の範囲は、前記詳細な説明よりは、後述する特許請求の範囲によって決められる。また、特許請求の範囲の意味及び範囲、そしてその等価概念から導かれるすべての変更又は変形された形態が本発明の範囲に含まれるものと解析されなければならない。
【図１】
2010146006.tif 000013
【図２】
2010146006.tif 000014
【図３】
2010146006.tif 000015
【図４】
2010146006.tif 000016
【図５Ａ】
2010146006.tif 000017
【図５Ｂ】
2010146006.tif 000018
【図６】
2010146006.tif 000019
【図７】
2010146006.tif 000020
【図８】
2010146006.tif 000021