説明

向上階層の符号化装置並びに復号化装置及びその方法

【課題】G.711コーデックの量子化エラーを減らすための向上階層符号化/復号化について開示している。
【解決手段】フレームの各サンプルの指数情報を基に、各サンプルの追加仮数情報の指数インデックスを計算した後、指数インデックスが大きい値を含むサンプルから、指数インデックスが低い値を含むサンプルに順次に1ビットずつ割り当てる過程を、一定回数反復遂行し、各サンプル当たり割り当てられるビット数を把握した後、各サンプルの追加仮数情報のビットのうち、各サンプルに割り当てられたビット数に該当する最上位ビットを出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、G.711コーデックの符号化器及び復号化器に係り、さらに詳細には、G.711コーデックの量子化エラーを減らすための向上階層の符号化方法及び復号化方法に関する。
【背景技術】
【0002】
アナログ音声を単にサンプリングしてデジタルに変換する技術は、相対的に大きいビット率であるために、帯域幅が狭い応用分野に直接的に適用し難い。例えば、音声を8KHzでサンプリングし、サンプル当たり16ビットに量子化する場合、秒当たり128,000ビットのビット率を有する。ほとんどの音声通信網で、低ビット率で音声信号を効果的に伝達するために、音声信号を圧縮及び復元するコーデック装置を利用する。
【0003】
音声を圧縮及び復元するさまざまな方法のうち、代表的なものとして、PCM(pulse coded modulation)、CELP(code-excited linear prediction)などがある。PCMは、音声サンプルを既定のビット数に圧縮する方式である一方、CELPは、音声をあらかじめ定められたブロック単位で処理し、音声発生モデルを基に信号を圧縮する方式である。応用分野によって、多様な形態のコーデックが開発されて標準化され、最も広く使われるコーデックは、PSTN(public switched telephone network)有線電話やインターネット電話などで使われるログPCMコーデックである。この方式は、入力信号の大きさによって、量子化段階を調整する。すなわち、低レベルの入力信号は、小さい量子化段階を使用し、高レベルの入力信号に対しては、大きい量子化段階を適用する。このログPCM方式のコーデックEL利用すれば、サンプル当たり16ビット長を有するデジタルサンプルを、サンプル当たり8ビットに圧縮できる。従って、ログPCMを適用し、8KHzでサンプリングする場合、得られるビット率は、秒当たり64,000ビットである。代表的なログ量子化方式には、A−lawとμ−lawとの二種の方式があり、それぞれは、下記数式1のように表現される。
【0004】
【数1】

【0005】
ここで、xは、入力サンプル、μとAは、各量子化方式に係わる定数、C()は、各方式で圧縮されたサンプル、||は、絶対値を意味する。
【0006】
A−lawとμ−lawとの方式は、ITU−T(International Telecommunication Union-Telecommunication Sector)で、標準勧告案G.711として、1972年に標準化された。この標準で選択されたμとAとの値は、それぞれ255(μ)と87.56(A)とである。G.711コーデックは、実際の応用で、数式1を直接計算するというよりは、浮動少数点量子化方式を利用する。各サンプルに対して、可用ビット(G.711の場合に8ビット)のうち一部は、量子化段階を決定するのに使用し、残りのビットは、決定された量子化段階内での位置を表現するのに使用する。前者を指数(exponent)ビットといい、後者を仮数(mantissa)ビットという。G.711標準のA−law方式の場合、サンプル当たり、8ビットで指数情報のために3ビットを使用し、仮数情報のために4ビットを使用する。残りの1ビットは、サンプルの符号を表現するのに使われる。
【0007】
G.711標準コーデックは、8KHzでサンプリングされた狭帯域音声について、MOS(Mean Opinion Score)4点以上の優秀な品質を提供し、非常に少ない計算量とメモリ要求量とで具現が可能である。しかし、G.711方式で音声を圧縮及び復元したとき、原音に比べて、量子化エラーによる音質低下が存在する。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明がなそうとする技術的課題は、G.711コーデックの量子化エラーを減らすために、各サンプルに追加仮数情報を割り当てる向上階層の符号化装置並びに復号化装置、及びその方法を提供するところにある。
【0009】
本発明がなそうとする技術的課題は、G.711コーデックの量子化エラーを減らす向上階層の符号化及び復号化が適用された符号化器及び復号化器を提供するところにある。
【課題を解決するための手段】
【0010】
前記の技術的課題を達成するための、本発明による向上階層符号化方法の一実施形態は、フレームの各サンプルの指数情報を基に、前記各サンプルの追加仮数情報の指数インデックスを計算する段階と、現指数インデックスを含むサンプルに1ビットずつ割り当てる過程を、サンプルに割り当てられた総ビット数が、前記フレームでの可用総ビット数と同じになるまで反復遂行し、前記現在指数インデックスを最大値から、前記反復遂行時ごとに1ずつ小さくなるように設定するビット割当て段階と、前記フレームの各サンプルの追加仮数情報のビットのうち、前記各サンプルに割り当てられたビット数に該当する最上位ビットを出力する段階とを含む。
【0011】
前記技術的課題を達成するための、本発明による向上階層符号化器の一実施形態は、フレームの各サンプルの指数情報から得られた追加仮数情報のインデックスと、前記各サンプルのインデックスとを配列で表現した指数マップを生成する指数マップ生成部と、前記指数マップを参照し、前記追加仮数情報の指数インデックスのサイズ順に各サンプルに1ビットずつ割り当てる過程を、前記サンプルに割り当てられた総ビット数が、前記フレームでの可用総ビット数になるまで遂行し、前記各サンプル当たり割り当てられたビット数を示すビット割当てテーブルを生成するビット割当てテーブル生成部と、前記ビット割当てテーブルを参照し、前記各サンプルの追加仮数情報のビットのうち、前記各サンプルに割り当てられたビット数に該当する最上位ビットを出力するビット出力部とを含む。
【0012】
前記技術的課題を達成するための、本発明による符号化器の一実施形態は、入力フレームを符号化するG.711符号化部と、前記G.711符号化部を介して得られた前記入力フレームの各サンプルの指数情報を基に、前記各サンプルに追加される追加仮数情報のビット数を流動的に割り当てる向上階層符号化部と、前記G.711符号化部の出力ビットストリームと前記向上階層符号化部の出力ビットストリームとを多重化して出力する多重化部とを含む。
【0013】
前記技術的課題を達成するための、本発明による向上階層復号化方法の一実施形態は、フレームの各サンプルの指数情報を基に、前記各サンプルの追加仮数情報の指数インデックスを計算する段階と、現在指数インデックスを含むサンプルに1ビットずつ割り当てる過程を、サンプルに割り当てられた総ビット数が、前記フレームでの可用総ビット数と同じになるまで反復遂行し、前記現在指数インデックスを最大値から、前記反復遂行時ごとに1ずつ小さくなるように設定するビット割当て段階と、向上ビットストリームから、前記各サンプルに割り当てられたビット数ほど抽出して復号化する段階とを含む。
【0014】
前記技術的課題を達成するための、本発明による向上階層復号化器の一実施形態は、フレームの各サンプルの指数情報から得られた追加仮数情報のインデックスと、前記各サンプルのインデックスとを配列で表現した指数マップを生成する指数マップ生成部と、前記指数マップを参照し、前記追加仮数情報の指数インデックスのサイズ順に各サンプルに1ビットずつ割り当てる過程を、前記サンプルに割り当てられた総ビット数が、前記フレームでの可用総ビット数になるまで遂行し、前記各サンプル当たり割り当てられたビット数を示すビット割当てテーブルを生成するビット割当てテーブル生成部と、前記ビット割当てテーブルを参照し、向上ビットストリームのうち、前記各サンプルに割り当てられたビット数に該当するビットを抽出して復号化する追加仮数復号化部とを含む。
【0015】
前記技術的課題を達成するための、本発明による復号化器の一実施形態は、受信フレームをG.711ビットストリームと向上ビットストリームとに逆多重化する逆多重化部と、前記G.711ビットストリームを復号化するG.711復号化部と、前記G.711復号化部を介して得られた各サンプルの指数情報を基に、前記各サンプルに割り当てられた追加仮数情報のビット数を計算し、前記向上ビットストリームから前記各サンプルに割り当てられた追加仮数情報のビット数ほどを抽出して復号化する向上階層復号化部と、前記G.711復号化部の出力信号と前記向上階層復号化部の出力信号とを合成して出力する信号合成部とを含む。
【0016】
前記技術的課題を達成するための、本発明による向上階層符号化方法の一実施形態は、信号サンプルを指数情報と仮数情報とを含むように符号化する基本階層を含む階層的符号化のための向上階層の符号化方法において、前記仮数情報を拡張するための追加仮数情報のためのビットを割り当てる段階と、前記割り当てられたビットの大きさによって、追加仮数情報を符号化する段階とを含むが、前記ビット割当て段階は、所定区間内に存在する信号サンプルの指数情報を参照して適応的に遂行される。
【0017】
前記技術的課題を達成するための、本発明による向上階層復号化方法の一実施形態は、信号サンプルに係わる指数情報と仮数情報とを含む基本階層信号、及びこれに対応する追加仮数情報を含む向上階層信号を含む階層的符号化信号で向上階層信号を復号化するための方法において、前記基本階層信号の指数情報に基づいて、前記追加仮数情報を示すために各信号サンプルごとに割り当てられたビットの数を計算する段階と、前記計算された割当ビットの数によって、前記向上階層信号から各信号サンプルに対応するビット数ほど抽出する段階とを含む。
【発明の効果】
【0018】
本発明によれば、従来のG.711コーデックのようなログPCMコーデックから得られる指数情報を利用し、各サンプルごとに動的に追加的なビットを割り当てることによって、従来のログPCMコーデックの量子化エラーを減らして音質が向上する。また、従来の方式のログPCMコーデックを変更せずに、本発明の構成を適用できるので、既存コーデックを採用した網との互換性を提供する。
【図面の簡単な説明】
【0019】
【図1】G.711コーデックの音質向上のための符号化器及び復号化器の一例を図示した図面である。
【図2】従来のG.711コーデックのログPCMコーデックが適用された符号化器の入力、及び出力ビットストリームの一例を図示した図面である。
【図3】本発明による向上階層符号化が適用された符号化器の入力、及び出力ビットストリームの一例を図示した図面である。
【図4A】本発明によって、入力信号の大きさを考慮し、フレームの各サンプルに追加仮数情報のビット数を流動的に割り当てるための指数マップ(map)の一例を図示した図面である。
【図4B】本発明によって、入力信号の大きさを考慮し、フレームの各サンプルに追加仮数情報のビット数を流動的に割り当てるための指数マップ(map)の一例を図示した図面である。
【図5】本発明によるビット割当てテーブルの生成方法の一例を図示したフローチャートである。
【図6】本発明による向上階層符号化器の一実施形態の構成を図示した図面である。
【図7】本発明による向上階層復号化器の一実施形態の構成を図示した図面である。
【図8】本発明による向上階層符号化器の他の実施形態の構成を図示した図面である。
【図9】本発明による向上階層符号化方法の一実施形態のフローチャートである。
【図10】本発明による向上階層復号化器の一実施形態の構成を図示した図面である。
【図11】本発明による向上階層復号化方法の一実施形態を図示したフローチャートである。
【発明を実施するための形態】
【0020】
以下、添付された図面を参照しつつ、本発明による向上階層の符号化/復号化装置及びその方法、本発明による向上階層符号化/復号化が適用された符号化器及び復号化器について詳細に説明する。
【0021】
図1は、G.711コーデックの音質向上のための符号化器及び復号化器の一例を図示した図面である。
【0022】
図1を参照すれば、符号化器100は、入力バッファ105、G.711符号化部110、向上階層符号化部115及び多重化部120を含み、復号化器150は、逆多重化部155、G.711復号化部160、向上階層復号化部165、信号合成部170及び出力バッファ175を含む。符号化器100と復号化器150は、通信チャンネル140を介して連結される。
【0023】
まず、符号化器100について述べる。
【0024】
入力バッファ105は、入力信号をブロック単位(以下、フレームという)で処理するために、入力信号を既定の長さほど保存する。例えば、8KHzサンプリングで、5msの間隔で入力信号を処理しようとする場合、入力バッファ105は、40サンプル(=8KHz*5ms)で構成されたフレームを保存する。G.711符号化部110は、従来のG.711コーデックによって、入力バッファ105に保存されたフレームを符号化し、生成したビットストリームを出力する。G.711コーデックは、ITU−T(International Telecommunication Union-Telecommunication Sector)で定義された標準方式であるから、ここで、これに係わる詳細な説明は省略する。向上階層符号化部115は、G.711符号化部110によって表現できない量子化エラーを、さらに割り当てられたビットを利用し、さらに量子化して出力する。多重化部120は、G.711符号化部110で符号化されて出力されるビットストリーム(以下、G.711ビットストリーム)と、向上階層符号化部115で符号化されて出力されるビットストリーム(以下、向上ビットストリーム)とを多重化する。多重化されたビットストリームは、任意の通信チャンネル140を介して復号化器150に伝えられる。
【0025】
次に、復号化器150について述べる。
【0026】
逆多重化部155は、通信チャンネル140を介して符号化器100から受信したビットストリームを、G.711ビットストリームと向上ビットストリームとに逆多重化する。G.711復号化部160は、G.711コーデックを利用し、G.711ビットストリームを復号化する。向上階層復号化部165は、向上ビットストリームを向上階層符号化部115と対称になる方法を介して復号化する。信号合成部170は、G.711復号化部160で復号化されて出力される信号(以下、G.711復号化信号)と、向上階層復号化部165で復号化されて出力される信号(以下、向上階層復号化信号)とを加える。出力バッファ175は、信号合成部170から出力される復号化信号を保存し、保存された信号をフレーム単位で出力する。
【0027】
図2は、従来のG.711コーデックのログPCM(pulse coded modulation)コーデックが適用された符号化器の入力と出力ビットストリームとの一例を図示した図面であり、図3は、本発明による向上階層符号化が適用された符号化器の入力と出力ビットストリームとの一例を図示した図面である。
【0028】
図2を参照すれば、従来のG.711コーデックによる符号化は、16ビットサンプル200を入力され、8ビットサンプル250に圧縮して出力する。出力される8ビットサンプル250は、1ビットの符号情報260、3ビットの指数(exponent)情報270、4ビットの仮数(mantissa)情報280から構成される。指数情報270は、圧伸器(compander)セグメントを指し、仮数情報280は、指数情報が指すセグメント内の特定位置を示す。
【0029】
図3を参照すれば、本発明による向上階層符号化が適用される場合、出力される8ビットサンプル350は、図2に図示された従来のG.711コーデックによる8ビットのビットストリームに、追加仮数情報390を示すビットをさらに含む。追加仮数情報390は、指数情報370が指すセグメント内で、本来の仮数情報380が指す位置をさらに細分化し、G.711コーデックの量子化エラーを減らす。
【0030】
G.711コーデックで、伝送速度が16Kbit/sであり、フレームの大きさが5msである場合、1フレーム内で、G.711コーデックによって使われるビット以外に、可用総ビット数は80ビットである。すなわち、フレームが総40サンプルで構成された場合、各サンプルごとに2ビットずつ追加ビットの割当てが可能である。入力信号の大きさによって、G.711コーデックの量子化エラーが異なるので、各サンプルごとに、同じビット数の追加仮数情報を割り当てるより、信号の大きさによって、各サンプルに追加仮数情報のビット数を流動的に割り当てることが望ましい。
【0031】
各サンプルに3ビットの追加仮数情報を割り当てる場合、サンプルに割り当てられた総ビット数は、120ビット(40サンプル*3ビット)であるから、フレームでの可用総ビット数である80ビットを超えるので、各サンプルに割り当てられる追加仮数情報のビット数を減らさなければならない。すなわち、各サンプルの指数情報の大きさを基に、各サンプルに、0〜3ビットの追加仮数情報が割り当てられる。サンプルに追加可能な追加仮数情報の最大ビット数は、実施形態によって、3ビットまたはそれ以上及び以下のビット数を設定できることはいうまでもない。
【0032】
図4A及び図4Bは、本発明によって、入力信号の大きさを考慮し、フレームの各サンプルに、追加仮数情報のビット数を流動的に割り当てるための指数マップ(map)の一例を図示した図面である。
【0033】
図4Aを参照すれば、指数マップは、各サンプルの指数情報から得られる追加仮数情報の指数インデックスを行に設定し、各サンプルを示すサンプル・インデックスを列に設定した配列である。例えば、40サンプルからなるフレームで、各サンプル当たり最大3ビットの追加仮数情報が割り当てられる場合、指数マップは10×40配列になる。
【0034】
具体的に、各サンプルの指数インデックスは、そのサンプルの指数情報の大きさに比例して順次的であり、追加仮数情報のビット数と同じ個数の値で構成される。すなわち、指数インデックスは、各サンプルの指数情報のサイズ値から1ずつ増加し、追加指数情報のビットに割り当てられる値である。例えば、あるサンプルの指数情報のビット列が「000」であるならば、そのサンプルの指数インデックスは、0(指数情報の大きさ+0)、1(指数情報の大きさ+1)、2(指数情報の大きさ+2)となる。他の例として、指数情報の大きさが7(ビット列:111)であるならば、指数インデックスは、7(指数情報の大きさ+0)、8(指数情報の大きさ+1)、9(指数情報の大きさ+2)となる。従って、各サンプルの追加指数情報に係わる指数インデックスは、0〜9間に存在する。
【0035】
指数マップの各元素は、0に初期化され、各サンプルの指数インデックスに該当する位置の元素は、そのサンプルのインデックスを保存する。すなわち、(指数インデックス、サンプル・インデックス)=サンプル・インデックスである。例えば、フレームの2番目のサンプルの指数情報が「011」であるならば、そのサンプルの指数インデックスは、3、4、5であるから、(3,1)=2、(4,1)=2、(5,1)=2の値を有し、そのサンプルに該当する残りの元素は、初期化された0の値をそのまま有する。
【0036】
これと同じ方法で、各サンプルの指数インデックスを求めた後、その指数インデックスに該当する元素に、サンプル・インデックスを保存し、指数マップを完成する。指数マップを基に、各サンプル当たり割り当てられる追加ビットの数を示すビット割当てテーブルを生成する。すなわち、指数インデックスの最も大きい値(すなわち、9)から、指数インデックスを1ずつ下げていきつつ、その指数インデックスに該当するサンプルに、1ビットずつ割り当てる。ビット割当て過程は、サンプルに割り当てられた総ビット数が、フレーム内可用総ビット数と同じになるまで遂行する。ビット割当てテーブルの生成については、図5を参照しつつ詳細に説明する。
【0037】
図4Bを参照すれば、指数マップは、各サンプルの指数情報から得られる追加仮数情報の指数インデックスを行に設定し、各サンプルに割り当てられた同一指数インデックスの数を列に設定した配列である。指数マップの各元素は、各サンプルを指すサンプル・インデックスを含む。
【0038】
例えば、40サンプルからなるフレームで、各サンプル当たり最大3ビットの追加仮数情報が割り当てられる場合に、40サンプルがいずれも同じ指数インデックスを含むことができるので、指数マップの列の個数は、40(0〜39)個であり、指数マップは、10×40配列になる。
【0039】
n番目のサンプルに係わる指数マップを作成する方法について述べる。
【0040】
まず、n番目のサンプルの追加仮数情報に係わる指数インデックスを、指数情報の大きさを基に求める。すなわち、n番目のサンプルの指数インデックス=指数情報の大きさ+j(j=0,1,2)である。
【0041】
n番目のサンプルに係わる3個の指数インデックスが求められれば、求められた指数インデックスと、現在までその指数インデックスを有するサンプルの数とをそれぞれ行列とする指数マップの当該位置の元素に、n番目のサンプルのインデックスを保存する。すなわち、(指数インデックス、その指数インデックスを有するサンプルの数)=n番目のサンプルのインデックスである。そして、その指数インデックスを有するサンプルの数を1増加させる。
【0042】
例えば、フレームの0番目のサンプルの指数情報が「110」であるならば、そのサンプルの指数インデックスは、6,7,8であるから、(6,0)=0、(7,0)=0、(8,0)=0になり、指数インデックス6,7,8を有するサンプルの数は、それぞれ1,1,1になる。次に、フレームの1番目のサンプルの指数情報が「100」であるならば、そのサンプルの指数インデックスは4,5,6であるから、(4,0)=1、(5,0)=1、(6,1)=1になる。(6,1)=1になった理由は、指数インデックス6が割り当てられたサンプルの数が、以前にすでに1であるためである。従って、現在までの指数インデックス4,5,6,7,8に割り当てられたサンプルの数は、それぞれ1,1,2,1,1になる。かような方式で、全てのサンプルに係わる指数マップを完成すれば、各指数インデックスに該当するサンプルの個数及びサンプルのインデックス情報が分かる。
【0043】
図5は、本発明によるビット割当てテーブルの生成方法の一例を図示したフローチャートである。
【0044】
図5を参照すれば、本発明による向上階層符号化器は、各サンプル当たり最大追加可能ビット数が3ビットであり、フレーム当たり総可用ビット数が80ビットであると仮定するとき、各サンプルの指数情報を基に、各サンプル当たり0〜3ビットサイズの追加仮数情報を出力する。
【0045】
具体的に、向上階層符号化器は、ビット割当てテーブルのあらゆる元素を0に初期化し、現在フレームでの可用総ビット数を設定し、指数インデックスの最大値を、現在指数インデックスに設定する(S500)。図4に図示された指数マップを参照し、向上階層符号化器は、各指数インデックスの行に存在するサンプルの数を計算する(S510)。例えば、図4に図示された指数マップで、指数インデックス8に該当するサンプルは、二つ(サンプル・インデックス:0,39)が存在する。
【0046】
向上階層符号化器は、現在指数インデックスの行に存在するサンプルの数と、現在フレームでの可用ビット数とを比較し、小さい数を利用可能なビット数に設定し(S520)、利用可能なビット数ほど現在指数インデックスの行に存在する各サンプルに、1ビットずつ割り当てる(S530)。そして、向上階層符号化器は、現在可用ビット数から利用可能なビット数を差し引いた値を、新しい可用ビット数に設定する(S540)。
【0047】
向上階層符号化器は、新たに設定された可用ビット数が0であるならば、終了し(S550)、0ではなければ、現在指数インデックスから1を差し引いた値を、新しい指数インデックスに設定した後(S560)、段階520から再び始める。
【0048】
図6は、本発明による向上階層符号化器の一実施形態の構成を図示した図面である。
【0049】
図6を参照すれば、向上階層符号化器は、指数マップ生成部600、ビット割当てテーブル生成部610及びビット出力部620を含む。向上階層符号化器は、図1に図示された向上階層符号化部115に対応する。
【0050】
指数マップ生成部600は、各サンプルの指数情報の大きさを基に、各サンプル当たり追加仮数情報の指数インデックスを求めた後、各サンプル当たり指数インデックスを示す指数マップを生成する。各サンプルの指数情報は、図1で図示されたG.711符号化部110を介して知ることができる。指数マップは、図4に図示されているので、ここでの詳細な説明は省略する。
【0051】
ビット割当てテーブル生成部610は、指数マップを参照し、指数インデックスの最大値から、低い値に順次に各指数インデックスを含むサンプルを探した次、そのサンプルに1ビットずつ割り当てる。このような割当て過程が完了すれば、各サンプル当たり割り当てられたビット数を示すビット割当てテーブルを生成する。ビット割当てテーブルの生成方法は、図5を参照する。
【0052】
ビット出力部620は、ビット割当てテーブルを利用し、各サンプルの追加仮数情報のビットのうち、各サンプルに割り当てられたビット数ほどの最上位ビットを出力する。すなわち、ビット出力部は、[各サンプルの追加仮数情報]/2^[追加仮数情報のビット数−各サンプルに割り当てられたビット数]の値を出力する。
【0053】
図7は、本発明による向上階層復号化器の一実施形態の構成を図示した図面である。
【0054】
図7を参照すれば、向上階層復号化器は、指数マップ生成部700、ビット割当てテーブル生成部710及び追加仮数復号化部720を含む。指数マップ生成部700及びビット割当てテーブル710は、図6に図示された指数マップ生成部600及びビット割当てテーブル生成部610と同一なので、ここでは、それらに係わる詳細な説明は省略する。
【0055】
追加仮数復号化部720は、各サンプル当たり割り当てられる追加仮数情報のビット数を基に、向上ビットストリームから各サンプルの追加仮数情報を抽出して復号化する。
【0056】
図8は、本発明による向上階層符号化器の他の実施形態の構成を図示した図面である。
【0057】
図8を参照すれば、向上階層符号化器は、追加仮数抽出部800、ビット割当て部810及びビット出力部820から構成される。
【0058】
追加仮数抽出部800は、入力フレームに係わるG.711符号化によって得られる指数情報を基に、入力フレームから追加仮数情報を抽出する。すなわち、追加仮数抽出部800は、入力フレームに係わるG.711符号化から得られた指数情報を基に、入力フレームから、仮数情報になる領域(3ビットの仮数情報)後の領域を追加仮数情報として抽出する。入力フレームで、仮数情報までの部分を除外した残りのあらゆるビットが、追加仮数情報になりうるが、本実施形態では、追加仮数情報の最大サイズを3ビットであると仮定する。この場合、追加仮数抽出部の動作過程に係わる類似ソースコードは、次の表のように表現されうる。
【0059】
【表1】

【0060】
ここで、Lは、フレームのサンプル数、exp[i]は、i番目のサンプルの指数情報、ext_bits[i]は、i番目のサンプルの追加仮数情報のビット数、ext_mantissa[i]は、i番目のサンプルの追加仮数、x[i]は、i番目のサンプル値である。「&」は、各ビット別に遂行する論理AND動作(bitwise AND operation)を意味する。
【0061】
例えば、2進数で表現された入力サンプル「0000 0001 1010 1001」をG.711A−lawで符号化する場合、最初の符号ビットを除き、最初に「1」の値が示されるビット位置を指す指数情報は1、仮数情報は1010、そして、追加仮数情報は、最大3ビットを仮定するとき、100である。
【0062】
ビット割当て部810は、各サンプルの指数情報及び可用総ビット数を基に、各サンプルに割り当てられる実際のビット数を計算する。例えば、向上階層符号化のために16Kbits/sが割り当てられ、フレーム長が5msである場合、フレーム当たり可用総ビット数は、80ビットである。ビット割当て部810は、指数情報を介して決定される各サンプルの追加仮数情報の重要度を基に、各サンプル当たり割り当てられる追加仮数情報のビット数を動的に決定し、その重要度は、フレームごとに量子化エラーを最小化するものである。例えば、G.711コーデックで、量子化サイズ(quantizatin step)を決定する各サンプルの指数情報から、重要度を決定できる。すなわち、指数値が相対的に大きい場合(すなわち、量子化サイズが大きい場合)のサンプルは、量子化エラーが大きいので、できる限り多くの追加ビットを割り当てるように、重要度を上げ、指数値が相対的に小さい場合(すなわち、量子化サイズが小さい場合)は、サンプルの量子化エラーが小さいので、少ないビットが割り当てられるように、重要度を低くする。
【0063】
ビット出力部820は、ビット割当て部810によって、各サンプル当たり割り当てられた追加ビットサイズほどの追加仮数情報を出力する。ビット出力部の動作過程に係わる類似ソースコードは、次の表のように表現されうる。
【0064】
【表2】

【0065】
ここで、bit_alloc[i]は、i番目のサンプルに割り当てられたビット数、tx_bit_enh[i]は、i番目のサンプルの符号化された向上ビットストリームである。「x>>a」は、xをaビットほど右に移動させる動作を意味する。
【0066】
例えば、追加仮数情報が「100」、割り当てられたビット数が2であるならば、ビット出力部は、符号化された向上ビットストリームに「10」を出力する。
【0067】
本実施形態では、各サンプル当たり追加指数情報の最大ビット数を抽出した後、抽出された追加指数情報のビットのうち、各サンプル当たり割り当てられたビット数ほど出力する構成を開示しているが、順序を変え、まず各サンプル当たり割り当てられるビット数をまず求めた後、そのビット数ほど各サンプル当たり追加割当て情報を抽出することも可能である。
【0068】
図9は、本発明による向上階層符号化方法の一実施形態のフローチャートである。
【0069】
図9を参照すれば、向上階層符号化器は、入力フレームのG.711コーデックを利用した符号化で把握された指数情報を基に、入力フレームから追加仮数情報の領域を抽出する(S900)。追加仮数情報の領域は、入力フレームで、仮数領域までの部分を除外した残りの全ての部分になりうるが、本実施形態では、追加仮数情報の最大サイズを3ビットと仮定する。従って、向上階層符号化器は、3ビットの追加仮数情報だけを抽出する。
【0070】
向上階層符号化器は、G.711符号化を介して得られた指数値を利用し、各サンプル当たり追加仮数情報のために追加可能なビット数を決定する(S910)。具体的に、向上階層符号化器は、各サンプルの追加仮数情報の3ビットそれぞれに係わる重要度を、そのサンプルの指数情報の大きさに比例する値に設定する。例えば、図4A及び図4Bに図示されているように、指数インデックスを重要度として利用できる。向上階層符号化器は、フレームのサンプルのうち、最も大きい重要度を有するサンプルから、1ビットずつ割り当て、割り当てられた総ビット数が、フレーム内可用総ビット数と同じになるまで、ビット割当てを遂行する。
【0071】
このような過程を介して、各サンプル当たり割り当てられたビット数を求めた後、向上階層符号化器は、初めに抽出した追加仮数情報のビットのうち、各サンプル当たり割り当てられたビット数ほどの最上位ビットを出力する(S920)。
【0072】
図10は、本発明による向上階層復号化器の一実施形態の構成を図示した図面である。
【0073】
図10を参照すれば、向上階層復号化器は、復号化ビット割当て部1000、追加仮数復号化部1010及び向上信号合成部1020を含む。
【0074】
復号化ビット割当て部1000は、G.711復号化を介して得られた指数情報と、フレーム内可用総ビット数とを利用し、各サンプル当たり追加仮数情報のビット数を求める。復号化ビット割当て部1000は、図7に図示されたビット割当て部と動作過程が同一であるので、ここでの詳細な説明は省略する。
【0075】
追加仮数復号化部1010は、復号化ビット割当て部1000によって把握された追加仮数情報のビットサイズと指数情報とを基に、向上ビットストリームから、追加仮数情報を復元する。すなわち、追加仮数復号化部1010は、向上ビットストリームから、各サンプルに割り当てられた追加ビット数ほどのビットを抽出し、追加仮数情報を復元する。追加仮数情報の最大ビット数が3である場合、追加仮数復号化部の動作過程は、下記表の類似コードのように表現されうる。すなわち、追加仮数復号化部は、各サンプルの指数情報によって決定された最大追加可能な仮数ビット数と、各サンプルに割り当てられた追加ビット数との差ほどを0ビットで充填する。
【0076】
【表3】

【0077】
ここで、rx_bit_enh[i]は、受信されたi番目の向上ビットストリームである。
【0078】
向上信号合成部1020は、復元された追加仮数情報と、G.711復号化から得られた符号情報とを利用して向上信号を復元する。向上信号合成部の動作過程は、下記表の類似コードのように表現できる。すなわち、符号情報が負数を指せば、復元された追加仮数情報に負数を取り、負数ではなければ、そのまま出力する。
【0079】
【表4】

【0080】
ここで、sign[i]は、i番目のサンプルに係わる符号情報であり、G.711復号化から参照される。
【0081】
図11は、本発明による向上階層復号化方法の一実施形態を図示したフローチャートである。
【0082】
図11を参照すれば、向上階層復号化器は、G.711復号化部を介して得られたサンプルの指数情報と、フレーム内可用最大ビット数とを基に、各サンプル当たり割り当てられた追加ビット数を求める(S1100)。そして、向上階層復号化器は、各サンプル当たり割り当てられた追加ビット数を、向上ビットストリームから抽出し(S1110)、追加仮数情報を復元する(S1120)。
【0083】
本発明はまた、コンピュータで読取り可能な記録媒体に、コンピュータで読取り可能なコードとして具現することが可能である。コンピュータで読取り可能な記録媒体は、コンピュータシステムによって読取り可能なデータが保存されるあらゆる種類の記録装置を含む。コンピュータで読取り可能な記録媒体の例としては、ROM(read-only memory)、RAM(random-access memory)、CD−ROM、磁気テープ、フロッピーディスク、光保存装置などがあって、またキャリアウェーブ(例えば、インターネットを介した伝送)による表示の形態で具現されることも含む。また、コンピュータで読取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読取り可能なコードが保存されて実行されうる。
【0084】
以上、本発明について、その望ましい実施形態を中心に説明した。本発明が属する技術分野で当業者は、本発明が本発明の本質的な特性から外れない範囲で変形された形態に具現されうることを理解することができるであろう。従って、開示された実施形態は、限定的な観点ではなくして、説明的な観点から考慮されねばならない。本発明の範囲は、前述の説明ではなく、特許請求の範囲に示されており、それと同等な範囲内にあるあらゆる差異点は、本発明に含まれるものと解釈されねばならない。

【特許請求の範囲】
【請求項1】
入力フレームを符号化するG.711符号化部と、
前記G.711符号化部を介して得られた前記入力フレームの各サンプルの指数情報を基に、前記各サンプルに追加される追加仮数情報のビット数を流動的に割り当てる量子化エラー低減階層符号化部と、
前記G.711符号化部の出力ビットストリームと、前記量子化エラー低減階層符号化部の出力ビットストリームとを多重化して出力する多重化部とを含み、
前記量子化エラー低減階層符号化部は、
前記各サンプルの指数情報を基に、前記各サンプルの追加仮数情報の指数インデックスを計算することであって、フレームの各サンプルごとに追加可能な追加仮数情報の最大ビット数は事前設定されており、前記各サンプルの指数情報の大きさに比例し、前記最大ビット数と同じ個数の値を、前記各サンプルの追加仮数情報の指数インデックスに設定することと、
現在指数インデックスを含むサンプルに1ビットずつ割り当てる過程を、サンプルに割り当てられた総ビット数が、前記フレームでの可用総ビット数と同じになるまで反復遂行して得た結果を基に、前記フレームの各サンプルの追加仮数情報のビットのうち最上位から前記各サンプルに割り当てられたビット数のビットを出力し、前記現在指数インデックスを指数インデックスの最大値から、前記反復遂行時ごとに1ずつ小さくなるように設定すること
を実行するように構成されることを特徴とする符号化器。
【請求項2】
G.711コーデックの符号化を介して得られたフレームの各サンプルの指数情報を基に、前記各サンプルの追加仮数情報の指数インデックスを計算する指数インデックス計算段階であって、フレームの各サンプルごとに追加可能な追加仮数情報の最大ビット数は事前設定されており、前記指数インデックス計算段階は、前記各サンプルの指数情報の大きさに比例し、前記最大ビット数と同じ個数の値を、前記各サンプルの追加仮数情報の指数インデックスに設定する段階を含む、指数インデックス計算段階と、
現在指数インデックスを含むサンプルに1ビットずつ割り当てる過程を、サンプルに割り当てられた総ビット数が、前記フレームでの可用総ビット数と同じになるまで反復遂行し、前記現在指数インデックスを指数インデックスの最大値から、前記反復遂行時ごとに1ずつ小さくなるように設定するビット割当て段階と、
量子化エラー低減ビットストリームから前記各サンプルに割り当てられたビット数のビットを抽出して復号化する段階とを含むことを特徴とする量子化エラー低減階層の復号化方法。
【請求項3】
前記指数インデックス計算段階は、
前記指数情報の大きさから1ずつ増加した値を、前記追加仮数情報の指数インデックスに設定する段階を含むことを特徴とする請求項2に記載の量子化エラー低減階層の復号化方法。
【請求項4】
前記ビット割当て段階は、
指数インデックスの最大値を前記現在指数インデックスに設定する段階と、
前記現在指数インデックスを含むサンプルの数と、前記フレームの可用ビット数とを比較し、小さい値を利用可能ビット数に設定する段階と、
前記利用可能ビット内で、順次に前記現在指数インデックスを含むサンプルに1ビットずつ割り当てる段階と、
前記可用ビット数から、前記利用可能ビット数を差し引いた値を新しい可用ビット数に設定する段階と、
前記新しい可用ビット数が0ではなければ、前記現在指数インデックスの値を1減少させた後、前記利用可能ビット数を設定する段階に移動する段階とを含むことを特徴とする請求項2に記載の量子化エラー低減階層の復号化方法。
【請求項5】
G.711コーデックの符号化を介して得られたフレームの各サンプルの指数情報から得られた追加仮数情報のインデックスと、前記各サンプルのインデックスとを配列で表現した指数マップを生成する指数マップ生成部であって、フレームの各サンプルごとに追加可能な追加仮数情報の最大ビット数は事前設定されており、前記各サンプルの指数情報の大きさに比例し、前記最大ビット数と同じ個数の値を、前記各サンプルの追加仮数情報の指数インデックスに設定する、指数マップ生成部と、
前記指数マップを参照し、前記追加仮数情報のインデックスの大きさ順に各サンプルに1ビットずつ割り当てる過程を、前記サンプルに割り当てられた総ビット数が、前記フレームでの可用総ビット数になるまで遂行し、前記各サンプル当たり割り当てられたビット数を示すビット割当てテーブルを生成するビット割当てテーブル生成部と、
前記ビット割当てテーブルを参照し、量子化エラー低減ビットストリームから前記各サンプルに割り当てられたビット数のビットを抽出して復号化する追加仮数復号化部とを含むことを特徴とする量子化エラー低減階層復号化器。
【請求項6】
前記指数マップ生成部は、
前記指数情報の大きさから1ずつ増加した値を、前記追加仮数情報の指数インデックスに設定することを特徴とする請求項5に記載の量子化エラー低減階層復号化器。
【請求項7】
前記ビット割当てテーブル生成部は、
前記フレームでの可用総ビット数と、現在まで前記サンプルに割り当てられた総ビット数との差が、現在割当て過程を遂行する行に存在するサンプルの個数より小さい場合、前記差に該当するビット数を、前記現在割当て過程を遂行する行に存在するサンプルに割り当てることを特徴とする請求項5に記載の量子化エラー低減階層復号化器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−103706(P2012−103706A)
【公開日】平成24年5月31日(2012.5.31)
【国際特許分類】
【出願番号】特願2011−266174(P2011−266174)
【出願日】平成23年12月5日(2011.12.5)
【分割の表示】特願2010−520947(P2010−520947)の分割
【原出願日】平成20年8月18日(2008.8.18)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(596180076)韓國電子通信研究院 (733)
【氏名又は名称原語表記】Electronics and Telecommunications Research Institute
【住所又は居所原語表記】161 Kajong−dong, Yusong−gu, Taejon korea
【Fターム(参考)】