(57)【特許請求の範囲】
【請求項１】
入力フレームを符号化するＧ．７１１符号化部と、
前記Ｇ．７１１符号化部を介して得られた前記入力フレームの各サンプルの指数情報を基に、前記各サンプルに追加される追加仮数情報のビット数を流動的に割り当てる量子化エラー低減階層符号化部と、
前記Ｇ．７１１符号化部の出力ビットストリームと、前記量子化エラー低減階層符号化部の出力ビットストリームとを多重化して出力する多重化部とを含み、
前記量子化エラー低減階層符号化部は、
前記各サンプルの指数情報を基に、前記各サンプルの追加仮数情報の指数インデックスを計算することであって、フレームの各サンプルごとに追加可能な追加仮数情報の最大ビット数は事前設定されており、前記各サンプルの指数情報の大きさに比例し、前記最大ビット数と同じ個数の値を、前記各サンプルの追加仮数情報の指数インデックスに設定することと、
現在指数インデックスを含むサンプルに１ビットずつ割り当てる過程を、サンプルに割り当てられた総ビット数が、前記フレームでの可用総ビット数と同じになるまで反復遂行して得た結果を基に、前記フレームの各サンプルの追加仮数情報のビットのうち最上位から前記各サンプルに割り当てられたビット数のビットを出力し、前記現在指数インデックスを指数インデックスの最大値から、前記反復遂行時ごとに１ずつ小さくなるように設定すること
を実行するように構成されることを特徴とする符号化器。
【請求項２】
Ｇ．７１１コーデックの符号化を介して得られたフレームの各サンプルの指数情報を基に、前記各サンプルの追加仮数情報の指数インデックスを計算する指数インデックス計算段階であって、前記指数インデックス計算段階は、前記各サンプルの指数情報の大きさに比例し、前記最大ビット数と同じ個数の値を、前記各サンプルの追加仮数情報の指数インデックスに設定する段階を含み、フレームの各サンプルごとに追加可能な追加仮数情報の最大ビット数は事前設定されている、指数インデックス計算段階と、
現在指数インデックスを含むサンプルに１ビットずつ割り当てる過程を、サンプルに割り当てられた総ビット数が、前記フレームでの可用総ビット数と同じになるまで反復遂行し、前記現在指数インデックスを指数インデックスの最大値から、前記反復遂行時ごとに１ずつ小さくなるように設定するビット割当て段階と、
量子化エラー低減ビットストリームから前記各サンプルに割り当てられたビット数のビットを抽出して復号化する段階とを含むことを特徴とする量子化エラー低減階層の復号化方法。
【請求項３】
前記指数インデックス計算段階は、
前記指数情報の大きさから１ずつ増加した値を、前記追加仮数情報の指数インデックスに設定する段階を含むことを特徴とする請求項２に記載の量子化エラー低減階層の復号化方法。
【請求項４】
前記ビット割当て段階は、
指数インデックスの最大値を前記現在指数インデックスに設定する段階と、
前記現在指数インデックスを含むサンプルの数と、前記フレームの可用ビット数とを比較し、小さい値を利用可能ビット数に設定する段階と、
前記利用可能ビット内で、順次に前記現在指数インデックスを含むサンプルに１ビットずつ割り当てる段階と、
前記可用ビット数から、前記利用可能ビット数を差し引いた値を新しい可用ビット数に設定する段階と、
前記新しい可用ビット数が０ではなければ、前記現在指数インデックスの値を１減少させた後、前記利用可能ビット数を設定する段階に移動する段階とを含むことを特徴とする請求項２に記載の量子化エラー低減階層の復号化方法。
【請求項５】
Ｇ．７１１コーデックの符号化を介して得られたフレームの各サンプルの指数情報から得られた追加仮数情報のインデックスと、前記各サンプルのインデックスとを配列で表現した指数マップを生成する指数マップ生成部であって、フレームの各サンプルごとに追加可能な追加仮数情報の最大ビット数は事前設定されており、前記各サンプルの指数情報の大きさに比例し、前記最大ビット数と同じ個数の値を、前記各サンプルの追加仮数情報の指数インデックスに設定する、指数マップ生成部と、
前記指数マップを参照し、前記追加仮数情報のインデックスの大きさ順に各サンプルに１ビットずつ割り当てる過程を、前記サンプルに割り当てられた総ビット数が、前記フレームでの可用総ビット数になるまで遂行し、前記各サンプル当たり割り当てられたビット数を示すビット割当てテーブルを生成するビット割当てテーブル生成部と、
前記ビット割当てテーブルを参照し、量子化エラー低減ビットストリームから前記各サンプルに割り当てられたビット数のビットを抽出して復号化する追加仮数復号化部とを含むことを特徴とする量子化エラー低減階層復号化器。
【請求項６】
前記指数マップ生成部は、
前記指数情報の大きさから１ずつ増加した値を、前記追加仮数情報の指数インデックスに設定することを特徴とする請求項５に記載の量子化エラー低減階層復号化器。
【請求項７】
前記ビット割当てテーブル生成部は、
前記フレームでの可用総ビット数と、現在まで前記サンプルに割り当てられた総ビット数との差が、現在割当て過程を遂行する行に存在するサンプルの個数より小さい場合、前記差に該当するビット数を、前記現在割当て過程を遂行する行に存在するサンプルに割り当てることを特徴とする請求項５に記載の量子化エラー低減階層復号化器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｇ．７１１コーデックの符号化器及び復号化器に係り、さらに詳細には、Ｇ．７１１コーデックの量子化エラーを減らすための向上階層の符号化方法及び復号化方法に関する。
【背景技術】
【０００２】
アナログ音声を単にサンプリングしてデジタルに変換する技術は、相対的に大きいビット率であるために、帯域幅が狭い応用分野に直接的に適用し難い。例えば、音声を８ＫＨｚでサンプリングし、サンプル当たり１６ビットに量子化する場合、秒当たり１２８，０００ビットのビット率を有する。ほとんどの音声通信網で、低ビット率で音声信号を効果的に伝達するために、音声信号を圧縮及び復元するコーデック装置を利用する。
【０００３】
音声を圧縮及び復元するさまざまな方法のうち、代表的なものとして、ＰＣＭ（pulse coded modulation）、ＣＥＬＰ（code-excited linear prediction）などがある。ＰＣＭは、音声サンプルを既定のビット数に圧縮する方式である一方、ＣＥＬＰは、音声をあらかじめ定められたブロック単位で処理し、音声発生モデルを基に信号を圧縮する方式である。応用分野によって、多様な形態のコーデックが開発されて標準化され、最も広く使われるコーデックは、ＰＳＴＮ（public switched telephone network）有線電話やインターネット電話などで使われるログＰＣＭコーデックである。この方式は、入力信号の大きさによって、量子化段階を調整する。すなわち、低レベルの入力信号は、小さい量子化段階を使用し、高レベルの入力信号に対しては、大きい量子化段階を適用する。このログＰＣＭ方式のコーデックＥＬ利用すれば、サンプル当たり１６ビット長を有するデジタルサンプルを、サンプル当たり８ビットに圧縮できる。従って、ログＰＣＭを適用し、８ＫＨｚでサンプリングする場合、得られるビット率は、秒当たり６４，０００ビットである。代表的なログ量子化方式には、Ａ−lawとμ−lawとの二種の方式があり、それぞれは、下記数式１のように表現される。
【０００４】
【数１】
0005226851.tif 000002
【０００５】
ここで、ｘは、入力サンプル、μとＡは、各量子化方式に係わる定数、Ｃ（）は、各方式で圧縮されたサンプル、｜｜は、絶対値を意味する。
【０００６】
Ａ−lawとμ−lawとの方式は、ＩＴＵ−Ｔ（International Telecommunication Union-Telecommunication Sector）で、標準勧告案Ｇ．７１１として、１９７２年に標準化された。この標準で選択されたμとＡとの値は、それぞれ２５５（μ）と８７．５６（Ａ）とである。Ｇ．７１１コーデックは、実際の応用で、数式１を直接計算するというよりは、浮動少数点量子化方式を利用する。各サンプルに対して、可用ビット（Ｇ．７１１の場合に８ビット）のうち一部は、量子化段階を決定するのに使用し、残りのビットは、決定された量子化段階内での位置を表現するのに使用する。前者を指数（exponent）ビットといい、後者を仮数（mantissa）ビットという。Ｇ．７１１標準のＡ−law方式の場合、サンプル当たり、８ビットで指数情報のために３ビットを使用し、仮数情報のために４ビットを使用する。残りの１ビットは、サンプルの符号を表現するのに使われる。
【０００７】
Ｇ．７１１標準コーデックは、８ＫＨｚでサンプリングされた狭帯域音声について、ＭＯＳ（Mean Opinion Score）４点以上の優秀な品質を提供し、非常に少ない計算量とメモリ要求量とで具現が可能である。しかし、Ｇ．７１１方式で音声を圧縮及び復元したとき、原音に比べて、量子化エラーによる音質低下が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明がなそうとする技術的課題は、Ｇ．７１１コーデックの量子化エラーを減らすために、各サンプルに追加仮数情報を割り当てる向上階層の符号化装置並びに復号化装置、及びその方法を提供するところにある。
【０００９】
本発明がなそうとする技術的課題は、Ｇ．７１１コーデックの量子化エラーを減らす向上階層の符号化及び復号化が適用された符号化器及び復号化器を提供するところにある。
【課題を解決するための手段】
【００１０】
前記の技術的課題を達成するための、本発明による向上階層符号化方法の一実施形態は、フレームの各サンプルの指数情報を基に、前記各サンプルの追加仮数情報の指数インデックスを計算する段階と、現指数インデックスを含むサンプルに１ビットずつ割り当てる過程を、サンプルに割り当てられた総ビット数が、前記フレームでの可用総ビット数と同じになるまで反復遂行し、前記現在指数インデックスを最大値から、前記反復遂行時ごとに１ずつ小さくなるように設定するビット割当て段階と、前記フレームの各サンプルの追加仮数情報のビットのうち、前記各サンプルに割り当てられたビット数に該当する最上位ビットを出力する段階とを含む。
【００１１】
前記技術的課題を達成するための、本発明による向上階層符号化器の一実施形態は、フレームの各サンプルの指数情報から得られた追加仮数情報のインデックスと、前記各サンプルのインデックスとを配列で表現した指数マップを生成する指数マップ生成部と、前記指数マップを参照し、前記追加仮数情報の指数インデックスのサイズ順に各サンプルに１ビットずつ割り当てる過程を、前記サンプルに割り当てられた総ビット数が、前記フレームでの可用総ビット数になるまで遂行し、前記各サンプル当たり割り当てられたビット数を示すビット割当てテーブルを生成するビット割当てテーブル生成部と、前記ビット割当てテーブルを参照し、前記各サンプルの追加仮数情報のビットのうち、前記各サンプルに割り当てられたビット数に該当する最上位ビットを出力するビット出力部とを含む。
【００１２】
前記技術的課題を達成するための、本発明による符号化器の一実施形態は、入力フレームを符号化するＧ．７１１符号化部と、前記Ｇ．７１１符号化部を介して得られた前記入力フレームの各サンプルの指数情報を基に、前記各サンプルに追加される追加仮数情報のビット数を流動的に割り当てる向上階層符号化部と、前記Ｇ．７１１符号化部の出力ビットストリームと前記向上階層符号化部の出力ビットストリームとを多重化して出力する多重化部とを含む。
【００１３】
前記技術的課題を達成するための、本発明による向上階層復号化方法の一実施形態は、フレームの各サンプルの指数情報を基に、前記各サンプルの追加仮数情報の指数インデックスを計算する段階と、現在指数インデックスを含むサンプルに１ビットずつ割り当てる過程を、サンプルに割り当てられた総ビット数が、前記フレームでの可用総ビット数と同じになるまで反復遂行し、前記現在指数インデックスを最大値から、前記反復遂行時ごとに１ずつ小さくなるように設定するビット割当て段階と、向上ビットストリームから、前記各サンプルに割り当てられたビット数ほど抽出して復号化する段階とを含む。
【００１４】
前記技術的課題を達成するための、本発明による向上階層復号化器の一実施形態は、フレームの各サンプルの指数情報から得られた追加仮数情報のインデックスと、前記各サンプルのインデックスとを配列で表現した指数マップを生成する指数マップ生成部と、前記指数マップを参照し、前記追加仮数情報の指数インデックスのサイズ順に各サンプルに１ビットずつ割り当てる過程を、前記サンプルに割り当てられた総ビット数が、前記フレームでの可用総ビット数になるまで遂行し、前記各サンプル当たり割り当てられたビット数を示すビット割当てテーブルを生成するビット割当てテーブル生成部と、前記ビット割当てテーブルを参照し、向上ビットストリームのうち、前記各サンプルに割り当てられたビット数に該当するビットを抽出して復号化する追加仮数復号化部とを含む。
【００１５】
前記技術的課題を達成するための、本発明による復号化器の一実施形態は、受信フレームをＧ．７１１ビットストリームと向上ビットストリームとに逆多重化する逆多重化部と、前記Ｇ．７１１ビットストリームを復号化するＧ．７１１復号化部と、前記Ｇ．７１１復号化部を介して得られた各サンプルの指数情報を基に、前記各サンプルに割り当てられた追加仮数情報のビット数を計算し、前記向上ビットストリームから前記各サンプルに割り当てられた追加仮数情報のビット数ほどを抽出して復号化する向上階層復号化部と、前記Ｇ．７１１復号化部の出力信号と前記向上階層復号化部の出力信号とを合成して出力する信号合成部とを含む。
【００１６】
前記技術的課題を達成するための、本発明による向上階層符号化方法の一実施形態は、信号サンプルを指数情報と仮数情報とを含むように符号化する基本階層を含む階層的符号化のための向上階層の符号化方法において、前記仮数情報を拡張するための追加仮数情報のためのビットを割り当てる段階と、前記割り当てられたビットの大きさによって、追加仮数情報を符号化する段階とを含むが、前記ビット割当て段階は、所定区間内に存在する信号サンプルの指数情報を参照して適応的に遂行される。
【００１７】
前記技術的課題を達成するための、本発明による向上階層復号化方法の一実施形態は、信号サンプルに係わる指数情報と仮数情報とを含む基本階層信号、及びこれに対応する追加仮数情報を含む向上階層信号を含む階層的符号化信号で向上階層信号を復号化するための方法において、前記基本階層信号の指数情報に基づいて、前記追加仮数情報を示すために各信号サンプルごとに割り当てられたビットの数を計算する段階と、前記計算された割当ビットの数によって、前記向上階層信号から各信号サンプルに対応するビット数ほど抽出する段階とを含む。
【発明の効果】
【００１８】
本発明によれば、従来のＧ．７１１コーデックのようなログＰＣＭコーデックから得られる指数情報を利用し、各サンプルごとに動的に追加的なビットを割り当てることによって、従来のログＰＣＭコーデックの量子化エラーを減らして音質が向上する。また、従来の方式のログＰＣＭコーデックを変更せずに、本発明の構成を適用できるので、既存コーデックを採用した網との互換性を提供する。
【図面の簡単な説明】
【００１９】
【図１】Ｇ．７１１コーデックの音質向上のための符号化器及び復号化器の一例を図示した図面である。
【図２】従来のＧ．７１１コーデックのログＰＣＭコーデックが適用された符号化器の入力、及び出力ビットストリームの一例を図示した図面である。
【図３】本発明による向上階層符号化が適用された符号化器の入力、及び出力ビットストリームの一例を図示した図面である。
【図４Ａ】本発明によって、入力信号の大きさを考慮し、フレームの各サンプルに追加仮数情報のビット数を流動的に割り当てるための指数マップ（map）の一例を図示した図面である。
【図４Ｂ】本発明によって、入力信号の大きさを考慮し、フレームの各サンプルに追加仮数情報のビット数を流動的に割り当てるための指数マップ（map）の一例を図示した図面である。
【図５】本発明によるビット割当てテーブルの生成方法の一例を図示したフローチャートである。
【図６】本発明による向上階層符号化器の一実施形態の構成を図示した図面である。
【図７】本発明による向上階層復号化器の一実施形態の構成を図示した図面である。
【図８】本発明による向上階層符号化器の他の実施形態の構成を図示した図面である。
【図９】本発明による向上階層符号化方法の一実施形態のフローチャートである。
【図１０】本発明による向上階層復号化器の一実施形態の構成を図示した図面である。
【図１１】本発明による向上階層復号化方法の一実施形態を図示したフローチャートである。
【発明を実施するための形態】
【００２０】
以下、添付された図面を参照しつつ、本発明による向上階層の符号化／復号化装置及びその方法、本発明による向上階層符号化／復号化が適用された符号化器及び復号化器について詳細に説明する。
【００２１】
図１は、Ｇ．７１１コーデックの音質向上のための符号化器及び復号化器の一例を図示した図面である。
【００２２】
図１を参照すれば、符号化器１００は、入力バッファ１０５、Ｇ．７１１符号化部１１０、向上階層符号化部１１５及び多重化部１２０を含み、復号化器１５０は、逆多重化部１５５、Ｇ．７１１復号化部１６０、向上階層復号化部１６５、信号合成部１７０及び出力バッファ１７５を含む。符号化器１００と復号化器１５０は、通信チャンネル１４０を介して連結される。
【００２３】
まず、符号化器１００について述べる。
【００２４】
入力バッファ１０５は、入力信号をブロック単位（以下、フレームという）で処理するために、入力信号を既定の長さほど保存する。例えば、８ＫＨｚサンプリングで、５ｍｓの間隔で入力信号を処理しようとする場合、入力バッファ１０５は、４０サンプル（＝８ＫＨｚ＊５ｍｓ）で構成されたフレームを保存する。Ｇ．７１１符号化部１１０は、従来のＧ．７１１コーデックによって、入力バッファ１０５に保存されたフレームを符号化し、生成したビットストリームを出力する。Ｇ．７１１コーデックは、ＩＴＵ−Ｔ（International Telecommunication Union-Telecommunication Sector）で定義された標準方式であるから、ここで、これに係わる詳細な説明は省略する。向上階層符号化部１１５は、Ｇ．７１１符号化部１１０によって表現できない量子化エラーを、さらに割り当てられたビットを利用し、さらに量子化して出力する。多重化部１２０は、Ｇ．７１１符号化部１１０で符号化されて出力されるビットストリーム（以下、Ｇ．７１１ビットストリーム）と、向上階層符号化部１１５で符号化されて出力されるビットストリーム（以下、向上ビットストリーム）とを多重化する。多重化されたビットストリームは、任意の通信チャンネル１４０を介して復号化器１５０に伝えられる。
【００２５】
次に、復号化器１５０について述べる。
【００２６】
逆多重化部１５５は、通信チャンネル１４０を介して符号化器１００から受信したビットストリームを、Ｇ．７１１ビットストリームと向上ビットストリームとに逆多重化する。Ｇ．７１１復号化部１６０は、Ｇ．７１１コーデックを利用し、Ｇ．７１１ビットストリームを復号化する。向上階層復号化部１６５は、向上ビットストリームを向上階層符号化部１１５と対称になる方法を介して復号化する。信号合成部１７０は、Ｇ．７１１復号化部１６０で復号化されて出力される信号（以下、Ｇ．７１１復号化信号）と、向上階層復号化部１６５で復号化されて出力される信号（以下、向上階層復号化信号）とを加える。出力バッファ１７５は、信号合成部１７０から出力される復号化信号を保存し、保存された信号をフレーム単位で出力する。
【００２７】
図２は、従来のＧ．７１１コーデックのログＰＣＭ（pulse coded modulation）コーデックが適用された符号化器の入力と出力ビットストリームとの一例を図示した図面であり、図３は、本発明による向上階層符号化が適用された符号化器の入力と出力ビットストリームとの一例を図示した図面である。
【００２８】
図２を参照すれば、従来のＧ．７１１コーデックによる符号化は、１６ビットサンプル２００を入力され、８ビットサンプル２５０に圧縮して出力する。出力される８ビットサンプル２５０は、１ビットの符号情報２６０、３ビットの指数（exponent）情報２７０、４ビットの仮数（mantissa）情報２８０から構成される。指数情報２７０は、圧伸器（compander）セグメントを指し、仮数情報２８０は、指数情報が指すセグメント内の特定位置を示す。
【００２９】
図３を参照すれば、本発明による向上階層符号化が適用される場合、出力される８ビットサンプル３５０は、図２に図示された従来のＧ．７１１コーデックによる８ビットのビットストリームに、追加仮数情報３９０を示すビットをさらに含む。追加仮数情報３９０は、指数情報３７０が指すセグメント内で、本来の仮数情報３８０が指す位置をさらに細分化し、Ｇ．７１１コーデックの量子化エラーを減らす。
【００３０】
Ｇ．７１１コーデックで、伝送速度が１６Ｋbit／ｓであり、フレームの大きさが５ｍｓである場合、１フレーム内で、Ｇ．７１１コーデックによって使われるビット以外に、可用総ビット数は８０ビットである。すなわち、フレームが総４０サンプルで構成された場合、各サンプルごとに２ビットずつ追加ビットの割当てが可能である。入力信号の大きさによって、Ｇ．７１１コーデックの量子化エラーが異なるので、各サンプルごとに、同じビット数の追加仮数情報を割り当てるより、信号の大きさによって、各サンプルに追加仮数情報のビット数を流動的に割り当てることが望ましい。
【００３１】
各サンプルに３ビットの追加仮数情報を割り当てる場合、サンプルに割り当てられた総ビット数は、１２０ビット（４０サンプル＊３ビット）であるから、フレームでの可用総ビット数である８０ビットを超えるので、各サンプルに割り当てられる追加仮数情報のビット数を減らさなければならない。すなわち、各サンプルの指数情報の大きさを基に、各サンプルに、０〜３ビットの追加仮数情報が割り当てられる。サンプルに追加可能な追加仮数情報の最大ビット数は、実施形態によって、３ビットまたはそれ以上及び以下のビット数を設定できることはいうまでもない。
【００３２】
図４Ａ及び図４Ｂは、本発明によって、入力信号の大きさを考慮し、フレームの各サンプルに、追加仮数情報のビット数を流動的に割り当てるための指数マップ（map）の一例を図示した図面である。
【００３３】
図４Ａを参照すれば、指数マップは、各サンプルの指数情報から得られる追加仮数情報の指数インデックスを行に設定し、各サンプルを示すサンプル・インデックスを列に設定した配列である。例えば、４０サンプルからなるフレームで、各サンプル当たり最大３ビットの追加仮数情報が割り当てられる場合、指数マップは１０×４０配列になる。
【００３４】
具体的に、各サンプルの指数インデックスは、そのサンプルの指数情報の大きさに比例して順次的であり、追加仮数情報のビット数と同じ個数の値で構成される。すなわち、指数インデックスは、各サンプルの指数情報のサイズ値から１ずつ増加し、追加指数情報のビットに割り当てられる値である。例えば、あるサンプルの指数情報のビット列が「０００」であるならば、そのサンプルの指数インデックスは、０（指数情報の大きさ＋０）、１（指数情報の大きさ＋１）、２（指数情報の大きさ＋２）となる。他の例として、指数情報の大きさが７（ビット列：１１１）であるならば、指数インデックスは、７（指数情報の大きさ＋０）、８（指数情報の大きさ＋１）、９（指数情報の大きさ＋２）となる。従って、各サンプルの追加指数情報に係わる指数インデックスは、０〜９間に存在する。
【００３５】
指数マップの各元素は、０に初期化され、各サンプルの指数インデックスに該当する位置の元素は、そのサンプルのインデックスを保存する。すなわち、（指数インデックス、サンプル・インデックス）＝サンプル・インデックスである。例えば、フレームの２番目のサンプルの指数情報が「０１１」であるならば、そのサンプルの指数インデックスは、３、４、５であるから、（３，１）＝２、（４，１）＝２、（５，１）＝２の値を有し、そのサンプルに該当する残りの元素は、初期化された０の値をそのまま有する。
【００３６】
これと同じ方法で、各サンプルの指数インデックスを求めた後、その指数インデックスに該当する元素に、サンプル・インデックスを保存し、指数マップを完成する。指数マップを基に、各サンプル当たり割り当てられる追加ビットの数を示すビット割当てテーブルを生成する。すなわち、指数インデックスの最も大きい値（すなわち、９）から、指数インデックスを１ずつ下げていきつつ、その指数インデックスに該当するサンプルに、１ビットずつ割り当てる。ビット割当て過程は、サンプルに割り当てられた総ビット数が、フレーム内可用総ビット数と同じになるまで遂行する。ビット割当てテーブルの生成については、図５を参照しつつ詳細に説明する。
【００３７】
図４Ｂを参照すれば、指数マップは、各サンプルの指数情報から得られる追加仮数情報の指数インデックスを行に設定し、各サンプルに割り当てられた同一指数インデックスの数を列に設定した配列である。指数マップの各元素は、各サンプルを指すサンプル・インデックスを含む。
【００３８】
例えば、４０サンプルからなるフレームで、各サンプル当たり最大３ビットの追加仮数情報が割り当てられる場合に、４０サンプルがいずれも同じ指数インデックスを含むことができるので、指数マップの列の個数は、４０（０〜３９）個であり、指数マップは、１０×４０配列になる。
【００３９】
ｎ番目のサンプルに係わる指数マップを作成する方法について述べる。
【００４０】
まず、ｎ番目のサンプルの追加仮数情報に係わる指数インデックスを、指数情報の大きさを基に求める。すなわち、ｎ番目のサンプルの指数インデックス＝指数情報の大きさ＋ｊ（ｊ＝０，１，２）である。
【００４１】
ｎ番目のサンプルに係わる３個の指数インデックスが求められれば、求められた指数インデックスと、現在までその指数インデックスを有するサンプルの数とをそれぞれ行列とする指数マップの当該位置の元素に、ｎ番目のサンプルのインデックスを保存する。すなわち、（指数インデックス、その指数インデックスを有するサンプルの数）＝ｎ番目のサンプルのインデックスである。そして、その指数インデックスを有するサンプルの数を１増加させる。
【００４２】
例えば、フレームの０番目のサンプルの指数情報が「１１０」であるならば、そのサンプルの指数インデックスは、６，７，８であるから、（６，０）＝０、（７，０）＝０、（８，０）＝０になり、指数インデックス６，７，８を有するサンプルの数は、それぞれ１，１，１になる。次に、フレームの１番目のサンプルの指数情報が「１００」であるならば、そのサンプルの指数インデックスは４，５，６であるから、（４，０）＝１、（５，０）＝１、（６，１）＝１になる。（６，１）＝１になった理由は、指数インデックス６が割り当てられたサンプルの数が、以前にすでに１であるためである。従って、現在までの指数インデックス４，５，６，７，８に割り当てられたサンプルの数は、それぞれ１，１，２，１，１になる。かような方式で、全てのサンプルに係わる指数マップを完成すれば、各指数インデックスに該当するサンプルの個数及びサンプルのインデックス情報が分かる。
【００４３】
図５は、本発明によるビット割当てテーブルの生成方法の一例を図示したフローチャートである。
【００４４】
図５を参照すれば、本発明による向上階層符号化器は、各サンプル当たり最大追加可能ビット数が３ビットであり、フレーム当たり総可用ビット数が８０ビットであると仮定するとき、各サンプルの指数情報を基に、各サンプル当たり０〜３ビットサイズの追加仮数情報を出力する。
【００４５】
具体的に、向上階層符号化器は、ビット割当てテーブルのあらゆる元素を０に初期化し、現在フレームでの可用総ビット数を設定し、指数インデックスの最大値を、現在指数インデックスに設定する（Ｓ５００）。図４に図示された指数マップを参照し、向上階層符号化器は、各指数インデックスの行に存在するサンプルの数を計算する（Ｓ５１０）。例えば、図４に図示された指数マップで、指数インデックス８に該当するサンプルは、二つ（サンプル・インデックス：０，３９）が存在する。
【００４６】
向上階層符号化器は、現在指数インデックスの行に存在するサンプルの数と、現在フレームでの可用ビット数とを比較し、小さい数を利用可能なビット数に設定し（Ｓ５２０）、利用可能なビット数ほど現在指数インデックスの行に存在する各サンプルに、１ビットずつ割り当てる（Ｓ５３０）。そして、向上階層符号化器は、現在可用ビット数から利用可能なビット数を差し引いた値を、新しい可用ビット数に設定する（Ｓ５４０）。
【００４７】
向上階層符号化器は、新たに設定された可用ビット数が０であるならば、終了し（Ｓ５５０）、０ではなければ、現在指数インデックスから１を差し引いた値を、新しい指数インデックスに設定した後（Ｓ５６０）、段階５２０から再び始める。
【００４８】
図６は、本発明による向上階層符号化器の一実施形態の構成を図示した図面である。
【００４９】
図６を参照すれば、向上階層符号化器は、指数マップ生成部６００、ビット割当てテーブル生成部６１０及びビット出力部６２０を含む。向上階層符号化器は、図１に図示された向上階層符号化部１１５に対応する。
【００５０】
指数マップ生成部６００は、各サンプルの指数情報の大きさを基に、各サンプル当たり追加仮数情報の指数インデックスを求めた後、各サンプル当たり指数インデックスを示す指数マップを生成する。各サンプルの指数情報は、図１で図示されたＧ．７１１符号化部１１０を介して知ることができる。指数マップは、図４に図示されているので、ここでの詳細な説明は省略する。
【００５１】
ビット割当てテーブル生成部６１０は、指数マップを参照し、指数インデックスの最大値から、低い値に順次に各指数インデックスを含むサンプルを探した次、そのサンプルに１ビットずつ割り当てる。このような割当て過程が完了すれば、各サンプル当たり割り当てられたビット数を示すビット割当てテーブルを生成する。ビット割当てテーブルの生成方法は、図５を参照する。
【００５２】
ビット出力部６２０は、ビット割当てテーブルを利用し、各サンプルの追加仮数情報のビットのうち、各サンプルに割り当てられたビット数ほどの最上位ビットを出力する。すなわち、ビット出力部は、［各サンプルの追加仮数情報］／２＾［追加仮数情報のビット数−各サンプルに割り当てられたビット数］の値を出力する。
【００５３】
図７は、本発明による向上階層復号化器の一実施形態の構成を図示した図面である。
【００５４】
図７を参照すれば、向上階層復号化器は、指数マップ生成部７００、ビット割当てテーブル生成部７１０及び追加仮数復号化部７２０を含む。指数マップ生成部７００及びビット割当てテーブル７１０は、図６に図示された指数マップ生成部６００及びビット割当てテーブル生成部６１０と同一なので、ここでは、それらに係わる詳細な説明は省略する。
【００５５】
追加仮数復号化部７２０は、各サンプル当たり割り当てられる追加仮数情報のビット数を基に、向上ビットストリームから各サンプルの追加仮数情報を抽出して復号化する。
【００５６】
図８は、本発明による向上階層符号化器の他の実施形態の構成を図示した図面である。
【００５７】
図８を参照すれば、向上階層符号化器は、追加仮数抽出部８００、ビット割当て部８１０及びビット出力部８２０から構成される。
【００５８】
追加仮数抽出部８００は、入力フレームに係わるＧ．７１１符号化によって得られる指数情報を基に、入力フレームから追加仮数情報を抽出する。すなわち、追加仮数抽出部８００は、入力フレームに係わるＧ．７１１符号化から得られた指数情報を基に、入力フレームから、仮数情報になる領域（３ビットの仮数情報）後の領域を追加仮数情報として抽出する。入力フレームで、仮数情報までの部分を除外した残りのあらゆるビットが、追加仮数情報になりうるが、本実施形態では、追加仮数情報の最大サイズを３ビットであると仮定する。この場合、追加仮数抽出部の動作過程に係わる類似ソースコードは、次の表のように表現されうる。
【００５９】
【表１】
0005226851.tif 000003
【００６０】
ここで、Ｌは、フレームのサンプル数、ｅｘｐ［i］は、i番目のサンプルの指数情報、ｅｘｔ＿bitｓ［i］は、i番目のサンプルの追加仮数情報のビット数、ｅｘｔ＿ｍａｎｔｉｓｓａ［i］は、i番目のサンプルの追加仮数、ｘ［i］は、i番目のサンプル値である。「＆」は、各ビット別に遂行する論理ＡＮＤ動作（bitwise ＡＮＤ operation）を意味する。
【００６１】
例えば、２進数で表現された入力サンプル「００００ ０００１ １０１０ １００１」をＧ．７１１Ａ−lawで符号化する場合、最初の符号ビットを除き、最初に「１」の値が示されるビット位置を指す指数情報は１、仮数情報は１０１０、そして、追加仮数情報は、最大３ビットを仮定するとき、１００である。
【００６２】
ビット割当て部８１０は、各サンプルの指数情報及び可用総ビット数を基に、各サンプルに割り当てられる実際のビット数を計算する。例えば、向上階層符号化のために１６Ｋbits／ｓが割り当てられ、フレーム長が５ｍｓである場合、フレーム当たり可用総ビット数は、８０ビットである。ビット割当て部８１０は、指数情報を介して決定される各サンプルの追加仮数情報の重要度を基に、各サンプル当たり割り当てられる追加仮数情報のビット数を動的に決定し、その重要度は、フレームごとに量子化エラーを最小化するものである。例えば、Ｇ．７１１コーデックで、量子化サイズ（quantizatin step）を決定する各サンプルの指数情報から、重要度を決定できる。すなわち、指数値が相対的に大きい場合（すなわち、量子化サイズが大きい場合）のサンプルは、量子化エラーが大きいので、できる限り多くの追加ビットを割り当てるように、重要度を上げ、指数値が相対的に小さい場合（すなわち、量子化サイズが小さい場合）は、サンプルの量子化エラーが小さいので、少ないビットが割り当てられるように、重要度を低くする。
【００６３】
ビット出力部８２０は、ビット割当て部８１０によって、各サンプル当たり割り当てられた追加ビットサイズほどの追加仮数情報を出力する。ビット出力部の動作過程に係わる類似ソースコードは、次の表のように表現されうる。
【００６４】
【表２】
0005226851.tif 000004
【００６５】
ここで、bit＿ａｌｌｏｃ［i］は、i番目のサンプルに割り当てられたビット数、ｔｘ＿bit＿ｅｎｈ［i］は、i番目のサンプルの符号化された向上ビットストリームである。「ｘ＞＞ａ」は、ｘをａビットほど右に移動させる動作を意味する。
【００６６】
例えば、追加仮数情報が「１００」、割り当てられたビット数が２であるならば、ビット出力部は、符号化された向上ビットストリームに「１０」を出力する。
【００６７】
本実施形態では、各サンプル当たり追加指数情報の最大ビット数を抽出した後、抽出された追加指数情報のビットのうち、各サンプル当たり割り当てられたビット数ほど出力する構成を開示しているが、順序を変え、まず各サンプル当たり割り当てられるビット数をまず求めた後、そのビット数ほど各サンプル当たり追加割当て情報を抽出することも可能である。
【００６８】
図９は、本発明による向上階層符号化方法の一実施形態のフローチャートである。
【００６９】
図９を参照すれば、向上階層符号化器は、入力フレームのＧ．７１１コーデックを利用した符号化で把握された指数情報を基に、入力フレームから追加仮数情報の領域を抽出する（Ｓ９００）。追加仮数情報の領域は、入力フレームで、仮数領域までの部分を除外した残りの全ての部分になりうるが、本実施形態では、追加仮数情報の最大サイズを３ビットと仮定する。従って、向上階層符号化器は、３ビットの追加仮数情報だけを抽出する。
【００７０】
向上階層符号化器は、Ｇ．７１１符号化を介して得られた指数値を利用し、各サンプル当たり追加仮数情報のために追加可能なビット数を決定する（Ｓ９１０）。具体的に、向上階層符号化器は、各サンプルの追加仮数情報の３ビットそれぞれに係わる重要度を、そのサンプルの指数情報の大きさに比例する値に設定する。例えば、図４Ａ及び図４Ｂに図示されているように、指数インデックスを重要度として利用できる。向上階層符号化器は、フレームのサンプルのうち、最も大きい重要度を有するサンプルから、１ビットずつ割り当て、割り当てられた総ビット数が、フレーム内可用総ビット数と同じになるまで、ビット割当てを遂行する。
【００７１】
このような過程を介して、各サンプル当たり割り当てられたビット数を求めた後、向上階層符号化器は、初めに抽出した追加仮数情報のビットのうち、各サンプル当たり割り当てられたビット数ほどの最上位ビットを出力する（Ｓ９２０）。
【００７２】
図１０は、本発明による向上階層復号化器の一実施形態の構成を図示した図面である。
【００７３】
図１０を参照すれば、向上階層復号化器は、復号化ビット割当て部１０００、追加仮数復号化部１０１０及び向上信号合成部１０２０を含む。
【００７４】
復号化ビット割当て部１０００は、Ｇ．７１１復号化を介して得られた指数情報と、フレーム内可用総ビット数とを利用し、各サンプル当たり追加仮数情報のビット数を求める。復号化ビット割当て部１０００は、図７に図示されたビット割当て部と動作過程が同一であるので、ここでの詳細な説明は省略する。
【００７５】
追加仮数復号化部１０１０は、復号化ビット割当て部１０００によって把握された追加仮数情報のビットサイズと指数情報とを基に、向上ビットストリームから、追加仮数情報を復元する。すなわち、追加仮数復号化部１０１０は、向上ビットストリームから、各サンプルに割り当てられた追加ビット数ほどのビットを抽出し、追加仮数情報を復元する。追加仮数情報の最大ビット数が３である場合、追加仮数復号化部の動作過程は、下記表の類似コードのように表現されうる。すなわち、追加仮数復号化部は、各サンプルの指数情報によって決定された最大追加可能な仮数ビット数と、各サンプルに割り当てられた追加ビット数との差ほどを０ビットで充填する。
【００７６】
【表３】
0005226851.tif 000005
【００７７】
ここで、ｒｘ＿bit＿ｅｎｈ［i］は、受信されたi番目の向上ビットストリームである。
【００７８】
向上信号合成部１０２０は、復元された追加仮数情報と、Ｇ．７１１復号化から得られた符号情報とを利用して向上信号を復元する。向上信号合成部の動作過程は、下記表の類似コードのように表現できる。すなわち、符号情報が負数を指せば、復元された追加仮数情報に負数を取り、負数ではなければ、そのまま出力する。
【００７９】
【表４】
0005226851.tif 000006
【００８０】
ここで、sign［i］は、i番目のサンプルに係わる符号情報であり、Ｇ．７１１復号化から参照される。
【００８１】
図１１は、本発明による向上階層復号化方法の一実施形態を図示したフローチャートである。
【００８２】
図１１を参照すれば、向上階層復号化器は、Ｇ．７１１復号化部を介して得られたサンプルの指数情報と、フレーム内可用最大ビット数とを基に、各サンプル当たり割り当てられた追加ビット数を求める（Ｓ１１００）。そして、向上階層復号化器は、各サンプル当たり割り当てられた追加ビット数を、向上ビットストリームから抽出し（Ｓ１１１０）、追加仮数情報を復元する（Ｓ１１２０）。
【００８３】
本発明はまた、コンピュータで読取り可能な記録媒体に、コンピュータで読取り可能なコードとして具現することが可能である。コンピュータで読取り可能な記録媒体は、コンピュータシステムによって読取り可能なデータが保存されるあらゆる種類の記録装置を含む。コンピュータで読取り可能な記録媒体の例としては、ＲＯＭ（read-only memory）、ＲＡＭ（random-access memory）、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク、光保存装置などがあって、またキャリアウェーブ（例えば、インターネットを介した伝送）による表示の形態で具現されることも含む。また、コンピュータで読取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読取り可能なコードが保存されて実行されうる。
【００８４】
以上、本発明について、その望ましい実施形態を中心に説明した。本発明が属する技術分野で当業者は、本発明が本発明の本質的な特性から外れない範囲で変形された形態に具現されうることを理解することができるであろう。従って、開示された実施形態は、限定的な観点ではなくして、説明的な観点から考慮されねばならない。本発明の範囲は、前述の説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にあるあらゆる差異点は、本発明に含まれるものと解釈されねばならない。
【図１】
0005226851.tif 000007
【図２】
0005226851.tif 000008
【図３】
0005226851.tif 000009
【図４Ａ】
0005226851.tif 000010
【図４Ｂ】
0005226851.tif 000011
【図５】
0005226851.tif 000012
【図６】
0005226851.tif 000013
【図７】
0005226851.tif 000014
【図８】
0005226851.tif 000015
【図９】
0005226851.tif 000016
【図１０】
0005226851.tif 000017
【図１１】
0005226851.tif 000018