JP2903986B2 - 波形合成方法及びその装置 - Google Patents
波形合成方法及びその装置Info
- Publication number
- JP2903986B2 JP2903986B2 JP5345684A JP34568493A JP2903986B2 JP 2903986 B2 JP2903986 B2 JP 2903986B2 JP 5345684 A JP5345684 A JP 5345684A JP 34568493 A JP34568493 A JP 34568493A JP 2903986 B2 JP2903986 B2 JP 2903986B2
- Authority
- JP
- Japan
- Prior art keywords
- difference value
- waveform
- value
- amplitude
- difference
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】
【産業上の利用分野】本発明は、波形符号化方式の一種
であるADPCM(Adaptive DifferentialPulse Code
Modulation)方式を用いた波形合成装置に関し、特に、
読み出し専用メモリ(ROM)に格納される差分値デー
タの冗長性を削減した波形合成方法及びその装置に関す
る。
であるADPCM(Adaptive DifferentialPulse Code
Modulation)方式を用いた波形合成装置に関し、特に、
読み出し専用メモリ(ROM)に格納される差分値デー
タの冗長性を削減した波形合成方法及びその装置に関す
る。
【0002】
【従来の技術】従来の波形合成装置において採用されて
いるADPCM(Adaptive Differential Pulse Code M
odulation)方式と、乗算器を用いずに波形の合成処理
を行なうテーブル参照法について図面を参照して以下に
説明する。次に、テーブル参照法におけるテーブル容量
の削減法について図面を参照して説明する。
いるADPCM(Adaptive Differential Pulse Code M
odulation)方式と、乗算器を用いずに波形の合成処理
を行なうテーブル参照法について図面を参照して以下に
説明する。次に、テーブル参照法におけるテーブル容量
の削減法について図面を参照して説明する。
【0003】従来の波形合成方式の説明で参照する図面
についてあらかじめ簡単に説明する。図5は従来のテー
ブル参照法によるADPCM波形合成装置のブロック
図、図6は量子化テーブルの説明図、図7は3ビットP
CM波形の説明図、図8(a)は4ビットPCM波形の
説明図、図8(b)は5ビットPCM波形の説明図、図
9はDPCM方式の説明図、図10はADPCM波形の
説明図、図11は3ビットのADPCM方式の量子化係
数kの説明図、図12は2〜5ビット時における量子化
係数kの説明図である。
についてあらかじめ簡単に説明する。図5は従来のテー
ブル参照法によるADPCM波形合成装置のブロック
図、図6は量子化テーブルの説明図、図7は3ビットP
CM波形の説明図、図8(a)は4ビットPCM波形の
説明図、図8(b)は5ビットPCM波形の説明図、図
9はDPCM方式の説明図、図10はADPCM波形の
説明図、図11は3ビットのADPCM方式の量子化係
数kの説明図、図12は2〜5ビット時における量子化
係数kの説明図である。
【0004】ディジタルコードで波形信号を扱う場合、
まず図7に示すように、アナログ信号波形をある周期で
サンプリングし、各サンプル値に対して量子化し、量子
化値に対応した符号に置き換える方式をPCM(Pulse
Code Modulation)という。一般的にはA/Dコンバー
タの出力値がPCMコードである。
まず図7に示すように、アナログ信号波形をある周期で
サンプリングし、各サンプル値に対して量子化し、量子
化値に対応した符号に置き換える方式をPCM(Pulse
Code Modulation)という。一般的にはA/Dコンバー
タの出力値がPCMコードである。
【0005】図7において斜線を施した部分が量子化に
よる誤差であり、この誤差を量子化誤差という。
よる誤差であり、この誤差を量子化誤差という。
【0006】このPCM符号化方式において、アナログ
信号に対して忠実に符号化を試みようとすると、例えば
図8(a),(b)に示すように符合ビット数が多く必
要となり情報量が増える。
信号に対して忠実に符号化を試みようとすると、例えば
図8(a),(b)に示すように符合ビット数が多く必
要となり情報量が増える。
【0007】PCM方式の音質改善並びに情報量削減と
して考案された方式が、次に説明するDPCM(Differ
ential Pulse Code Modulation)である。
して考案された方式が、次に説明するDPCM(Differ
ential Pulse Code Modulation)である。
【0008】PCM方式では、波形の振幅範囲(フルス
ケール)に対してビット全てを割り当てることにより、
波形の符号化を行っていた。この方式では、良質な波形
を合成するには、分解能を高めるために符号ビット数を
多くしなければならなかった。
ケール)に対してビット全てを割り当てることにより、
波形の符号化を行っていた。この方式では、良質な波形
を合成するには、分解能を高めるために符号ビット数を
多くしなければならなかった。
【0009】そこで波形信号の相関性を利用し、図9に
示すように、現在の波形信号と一つ前にサンプルリング
された波形信号との差分値に対してPCM符号化を行う
ものがDPCMである。
示すように、現在の波形信号と一つ前にサンプルリング
された波形信号との差分値に対してPCM符号化を行う
ものがDPCMである。
【0010】すなわち、同じビット数であれば、差分値
に対して割り当てた方がより良質な波形を合成すること
が出来る。また逆に、同程度の音質で良ければDPCM
符号ビットを少なくすることができ、このため波形デー
タの情報圧縮が可能となる。
に対して割り当てた方がより良質な波形を合成すること
が出来る。また逆に、同程度の音質で良ければDPCM
符号ビットを少なくすることができ、このため波形デー
タの情報圧縮が可能となる。
【0011】DPCM方式においては、差分値に対する
PCMであるため、量子化のための量子化幅は一定であ
り、急激な波形信号の振幅変化や余りにも緩慢な波形信
号の場合は、歪みや雑音となって現れる。
PCMであるため、量子化のための量子化幅は一定であ
り、急激な波形信号の振幅変化や余りにも緩慢な波形信
号の場合は、歪みや雑音となって現れる。
【0012】そこで、DPCM方式に対して適応符号化
の考え方を導入してより高能率に波形信号を符号化した
ものが、次に説明するADPCM(Adaptive Different
ialPulse Code Modulation)方式である。
の考え方を導入してより高能率に波形信号を符号化した
ものが、次に説明するADPCM(Adaptive Different
ialPulse Code Modulation)方式である。
【0013】ADPCM方式は、差分信号値の量子化幅
Δiを前のサンプル値の結果から定める方法である。す
なわち、前のサンプルの量子化幅をΔi-1とすると、次
のサンプル量子化幅は次式(1)で定められる。式(1)にお
いて、係数kの値は、前サンプルの振幅値の関数として
定められる。
Δiを前のサンプル値の結果から定める方法である。す
なわち、前のサンプルの量子化幅をΔi-1とすると、次
のサンプル量子化幅は次式(1)で定められる。式(1)にお
いて、係数kの値は、前サンプルの振幅値の関数として
定められる。
【0014】Δi=k・Δi-1 …(1)
【0015】簡単な例を用いて具体的に説明する。図1
1に3ビットで量子化を行う場合の係数kの与え方の一
例を示す。
1に3ビットで量子化を行う場合の係数kの与え方の一
例を示す。
【0016】3ビットで量子化する場合、最上位の1桁
は符号ビットとして割り当てられるため、振幅の絶対値
を下位2ビットに割り当てる。そしてこの2ビットの振
幅値の中で、図11に矢印で示す値の半値に相当する振
幅値以上のコードに符号化された場合は、次のサンプル
の量子化幅が大きくなるように上式(1)の係数kの値を
1より大きくする。
は符号ビットとして割り当てられるため、振幅の絶対値
を下位2ビットに割り当てる。そしてこの2ビットの振
幅値の中で、図11に矢印で示す値の半値に相当する振
幅値以上のコードに符号化された場合は、次のサンプル
の量子化幅が大きくなるように上式(1)の係数kの値を
1より大きくする。
【0017】逆に、半値に相当する振幅値よりも小さな
振幅値であったら、前の量子化幅よりも減少させるた
め、上式(1)の係数kの値を1より小さくする。
振幅値であったら、前の量子化幅よりも減少させるた
め、上式(1)の係数kの値を1より小さくする。
【0018】なお、当然のことであるが、量子化幅Δの
最小値と最大値を予め定めておき、量子化幅Δが必要以
上に小さくなったり、逆に大きくなったりすることがな
いように制御しなければならない。
最小値と最大値を予め定めておき、量子化幅Δが必要以
上に小さくなったり、逆に大きくなったりすることがな
いように制御しなければならない。
【0019】これは、基本的には、適応化された量子化
幅Δによる量子化結果が、その絶対値において常に許容
レベルの中央付近にあるようにして、オーバーロード歪
みの状態(許容レベルの上限に近づく状態)、及び、粒
状ノイズ状態(許容レベルの下限に近づく状態)等に陥
ることがないように制御するものである。
幅Δによる量子化結果が、その絶対値において常に許容
レベルの中央付近にあるようにして、オーバーロード歪
みの状態(許容レベルの上限に近づく状態)、及び、粒
状ノイズ状態(許容レベルの下限に近づく状態)等に陥
ることがないように制御するものである。
【0020】参考の為、図12に、各ビット数に対する
ADPCMの量子化係数kの一例を示す。
ADPCMの量子化係数kの一例を示す。
【0021】以上、波形符号化について説明したが、こ
のようにして符号化された信号を、符号化処理と逆の動
作に従い復号化することにより波形合成が行なわれる。
復号化における量子化係数kとしては、符号化処理で用
いた値と同じ値が用いられる。
のようにして符号化された信号を、符号化処理と逆の動
作に従い復号化することにより波形合成が行なわれる。
復号化における量子化係数kとしては、符号化処理で用
いた値と同じ値が用いられる。
【0022】次に図5と図6を参照して、テーブル参照
法のアルゴリズムについて説明する。
法のアルゴリズムについて説明する。
【0023】図5は従来のテーブル参照法によるADP
CM波形合成装置のブロック図であり、図6は量子化テ
ーブルの説明図である。
CM波形合成装置のブロック図であり、図6は量子化テ
ーブルの説明図である。
【0024】図5に示す従来例は、テーブル参照法によ
り4ビットADPCM方式の波形合成を行なう基本的な
構成を備えた波形合成装置である。
り4ビットADPCM方式の波形合成を行なう基本的な
構成を備えた波形合成装置である。
【0025】図5において、103はADPCM復号に
用いる加算器、105は適応制御器、109は波形符号
データを格納する波形符号データROM、108は波形
符号データROM109から読み出した値を保持する符
号レジスタ、110,111,112はそれぞれ復号作
業に用いるレジスタ、501は復号に用いる差分値をあ
らかじめ格納しておく量子化テーブル、104は量子化
テーブル501を指示する量子化幅ポインタを表わして
いる。
用いる加算器、105は適応制御器、109は波形符号
データを格納する波形符号データROM、108は波形
符号データROM109から読み出した値を保持する符
号レジスタ、110,111,112はそれぞれ復号作
業に用いるレジスタ、501は復号に用いる差分値をあ
らかじめ格納しておく量子化テーブル、104は量子化
テーブル501を指示する量子化幅ポインタを表わして
いる。
【0026】上式(1)の量子化幅Δの演算において、量
子化係数kの乗算処理を行わなくて済むテーブル参照法
として、例えば、本発明者が先の出願(特願平3−11
5210号;特開平4−343400号公報)において
提案した方法がある。
子化係数kの乗算処理を行わなくて済むテーブル参照法
として、例えば、本発明者が先の出願(特願平3−11
5210号;特開平4−343400号公報)において
提案した方法がある。
【0027】このテーブル参照法について簡単に説明す
る。テーブル参照アルゴリズムの基本原理は、1.25
という値は下記に示すように、そのべき乗の値が量子化
係数に近似していることを利用するものである。
る。テーブル参照アルゴリズムの基本原理は、1.25
という値は下記に示すように、そのべき乗の値が量子化
係数に近似していることを利用するものである。
【0028】
【表1】
【0029】すなわち、図6に示すように、ある量子化
幅(差分値データ)に対して、これを1.25倍づつ乗
じた値を表としてROM(Read Only Memory)等の記憶
媒体に全て格納しておくことにより、これを読み出し累
算することで波形合成を行う。
幅(差分値データ)に対して、これを1.25倍づつ乗
じた値を表としてROM(Read Only Memory)等の記憶
媒体に全て格納しておくことにより、これを読み出し累
算することで波形合成を行う。
【0030】量子化テーブルは2次元の表として構成さ
れ、縦方向は振幅情報に対応しておりADPCM符号に
よりその位置が指定され、また横方向には上記の通り
1.25倍づつ増加する差分値データが格納されてお
り、量子化幅ポインタ104によりその位置が指定され
る。
れ、縦方向は振幅情報に対応しておりADPCM符号に
よりその位置が指定され、また横方向には上記の通り
1.25倍づつ増加する差分値データが格納されてお
り、量子化幅ポインタ104によりその位置が指定され
る。
【0031】図5を参照して従来のテーブル参照法によ
るADPCM波形合成装置の動作を説明する。
るADPCM波形合成装置の動作を説明する。
【0032】波形符号データROM109から読み出さ
れた符号化データは、符号レジスタ108に格納され
る。符号化レジスタ108に格納された値は、振幅情報
としてそのまま量子化テーブル501の差分値検索に利
用される。
れた符号化データは、符号レジスタ108に格納され
る。符号化レジスタ108に格納された値は、振幅情報
としてそのまま量子化テーブル501の差分値検索に利
用される。
【0033】さらに、符号化データは適応制御器105
に入力され、所定の適応アルゴリズムにより量子化幅ポ
インタ104の制御が行なわれる。
に入力され、所定の適応アルゴリズムにより量子化幅ポ
インタ104の制御が行なわれる。
【0034】量子化幅ポインタ104の制御として、例
えば、振幅情報の絶対値が大きい場合には、ポインタを
右へ2乃至4程度ずらすことにより、量子化係数kに所
定の近似倍率を乗じたことと等価な制御が行なわれる。
逆に振幅情報の絶対値が小さい場合には、ポインタを左
へ2乃至4程度ずらすことにより、量子化係数kを所定
の近似倍率で除したことと等価となる。
えば、振幅情報の絶対値が大きい場合には、ポインタを
右へ2乃至4程度ずらすことにより、量子化係数kに所
定の近似倍率を乗じたことと等価な制御が行なわれる。
逆に振幅情報の絶対値が小さい場合には、ポインタを左
へ2乃至4程度ずらすことにより、量子化係数kを所定
の近似倍率で除したことと等価となる。
【0035】量子化テーブル501の差分値データは、
量子化幅ポインタ104と符号レジスタ108で指示さ
れて読み出され、レジスタ112に格納される。レジス
タ112に格納された差分値データは、1つ前の合成波
形データが格納されているレジスタ111の内容と加算
器103で加算され、加算器103の出力が新たな合成
波形としてレジスタ110に格納され、外部に出力され
る。出力された合成波形は、同時に次の合成のためにレ
ジスタ111に格納される。
量子化幅ポインタ104と符号レジスタ108で指示さ
れて読み出され、レジスタ112に格納される。レジス
タ112に格納された差分値データは、1つ前の合成波
形データが格納されているレジスタ111の内容と加算
器103で加算され、加算器103の出力が新たな合成
波形としてレジスタ110に格納され、外部に出力され
る。出力された合成波形は、同時に次の合成のためにレ
ジスタ111に格納される。
【0036】以後、波形符号データROM109から新
たな符号データを読み出し、上記動作を繰り返す。
たな符号データを読み出し、上記動作を繰り返す。
【0037】次に、このテーブル参照法において、差分
値データが格納される量子化テーブルの容量削減法につ
いて、本発明者が先の出願、例えば特願平4−2558
99号等で提案した2つの先行例に基づいて説明する。
値データが格納される量子化テーブルの容量削減法につ
いて、本発明者が先の出願、例えば特願平4−2558
99号等で提案した2つの先行例に基づいて説明する。
【0038】図13は量子化テーブルの容量を削減する
第1の先行例の構成を示すブロック図、図14はこの先
行例の量子化テーブルの構成を示す図である。この先行
例は4ビットADPCM方式の波形合成を示したもので
ある。
第1の先行例の構成を示すブロック図、図14はこの先
行例の量子化テーブルの構成を示す図である。この先行
例は4ビットADPCM方式の波形合成を示したもので
ある。
【0039】図13に示すように、ADPCM波形合成
装置は、ADPCM波形合成で用いる差分値データを格
納する量子化テーブル1301と、シフタ102と、差
分値データの累算に用いる加算器103と、量子化幅ポ
インタ104と、適応制御器1305と、3進アップダ
ウンカウンタ106と、アップダウンカウンタ107
と、ADPCM符号を格納する符号レジスタ108と、
波形符号データROM109と差分値の累算処理に用い
るレジスタ110,111,112から成る。
装置は、ADPCM波形合成で用いる差分値データを格
納する量子化テーブル1301と、シフタ102と、差
分値データの累算に用いる加算器103と、量子化幅ポ
インタ104と、適応制御器1305と、3進アップダ
ウンカウンタ106と、アップダウンカウンタ107
と、ADPCM符号を格納する符号レジスタ108と、
波形符号データROM109と差分値の累算処理に用い
るレジスタ110,111,112から成る。
【0040】図14に示す量子化テーブルについてその
構成と原理を以下に説明する。
構成と原理を以下に説明する。
【0041】図14の量子化テーブル、縦方向にはAD
PCM符号に対応した差分値の振幅レベルの異なるもの
を格納しておく。
PCM符号に対応した差分値の振幅レベルの異なるもの
を格納しておく。
【0042】図14において、振幅レベルの最も上側に
は正の最大差分値振幅を格納し、順次下側に向かうにし
たがって差分値の振幅レベルの小さいものとなるように
配置しておく。そして、中央付近が最も振幅レベルの小
さな正の差分値振幅レベルの値になるようにする。
は正の最大差分値振幅を格納し、順次下側に向かうにし
たがって差分値の振幅レベルの小さいものとなるように
配置しておく。そして、中央付近が最も振幅レベルの小
さな正の差分値振幅レベルの値になるようにする。
【0043】また、中央より下の値は負の差分値振幅レ
ベルを格納しておく。最も下側は負の最大差分値振幅を
格納し、順次上側に向かうにしたがって差分値の振幅レ
ベルの小さいものとなるように配置しておく。中央付近
が最も振幅レベルの小さな負の差分値振幅レベルの値に
なるように配置しておく。
ベルを格納しておく。最も下側は負の最大差分値振幅を
格納し、順次上側に向かうにしたがって差分値の振幅レ
ベルの小さいものとなるように配置しておく。中央付近
が最も振幅レベルの小さな負の差分値振幅レベルの値に
なるように配置しておく。
【0044】図14に示した量子化テーブルの横方向
(行)には、ある適当な量子化幅の振幅セットを基準
に、その1.25倍、さらに1.25倍(基準の量子化
幅からみて約1.6倍)、さらに1.25倍(基準の量
子化幅からみて約2倍)といった具合いに1.25倍づ
つべき乗倍された構成になっている。
(行)には、ある適当な量子化幅の振幅セットを基準
に、その1.25倍、さらに1.25倍(基準の量子化
幅からみて約1.6倍)、さらに1.25倍(基準の量
子化幅からみて約2倍)といった具合いに1.25倍づ
つべき乗倍された構成になっている。
【0045】ところで、ある適当な量子化幅からみて約
2倍(=1.253)となるということは、この量子化
幅の値を呼び出し1ビットディジタルデータとしてシフ
ト演算してやれば2倍したデータを読み出したことと等
価であり、全ての差分値を保有する必要がなくなる。
2倍(=1.253)となるということは、この量子化
幅の値を呼び出し1ビットディジタルデータとしてシフ
ト演算してやれば2倍したデータを読み出したことと等
価であり、全ての差分値を保有する必要がなくなる。
【0046】また、逆に、シフト演算を逆方向に行なう
ことにより、1/2(=1.25-3)とすることも可能
である。むしろ、ある適当な量子化幅セットからシフト
演算により除算する方が、精度良く波形合成することが
出来る。
ことにより、1/2(=1.25-3)とすることも可能
である。むしろ、ある適当な量子化幅セットからシフト
演算により除算する方が、精度良く波形合成することが
出来る。
【0047】すなわち、ある適当な量子化幅セットとし
て、最大振幅セットの量子化幅とその近傍を選択してお
けば良質な波形合成が実現できることを意味する。
て、最大振幅セットの量子化幅とその近傍を選択してお
けば良質な波形合成が実現できることを意味する。
【0048】より詳細に説明すると、(1.25)-1倍
を3回繰り返すと、約1/2倍の量子化幅となるため、
最大の量子化幅の値と、その1/1.25倍の値と、1
/(1.25)2倍の計3種類の値を備えるだけで、図
14に示した実際には実装されていない仮想量子化テー
ブル1及び仮想量子化テーブル2に相当する部分の差分
値データは、図示右側の量子化テーブルの差分値データ
を読み出すと同時にシフト演算することにより容易に生
成できる。これが第1の先行例の基本原理である。
を3回繰り返すと、約1/2倍の量子化幅となるため、
最大の量子化幅の値と、その1/1.25倍の値と、1
/(1.25)2倍の計3種類の値を備えるだけで、図
14に示した実際には実装されていない仮想量子化テー
ブル1及び仮想量子化テーブル2に相当する部分の差分
値データは、図示右側の量子化テーブルの差分値データ
を読み出すと同時にシフト演算することにより容易に生
成できる。これが第1の先行例の基本原理である。
【0049】図13を参照して、第1の先行例の動作に
ついて以下に説明する。
ついて以下に説明する。
【0050】波形合成処理を行うときの初期状態として
は、シフタ102、3進アップダウンカウンタ106、
アップダウンカウンタ107は、最小量子化幅の振幅セ
ットを指し示すような、シフト演算状態に初期設定され
ているものとする。
は、シフタ102、3進アップダウンカウンタ106、
アップダウンカウンタ107は、最小量子化幅の振幅セ
ットを指し示すような、シフト演算状態に初期設定され
ているものとする。
【0051】波形符号データROM109から読み出さ
れた符号化データは、符号レジスタ108に格納され
る。符号レジスタ108に格納された4ビット符号化デ
ータは、振幅情報としてそのまま量子化テーブル130
1の差分値検索に利用される。
れた符号化データは、符号レジスタ108に格納され
る。符号レジスタ108に格納された4ビット符号化デ
ータは、振幅情報としてそのまま量子化テーブル130
1の差分値検索に利用される。
【0052】さらに、符号化データは適応制御器130
5に入力され、所定の適応アルゴリズムにより量子化幅
ポインタ104の制御がなされる。例えば、振幅情報の
絶対値が大きい場合には、ポインタを右へ2〜4程度ず
らすことで量子化係数kに所定の近似倍率を乗じたこと
と等価となる。逆に振幅情報の絶対値が小さい場合は、
ポインタを左へ2〜4程度ずらすことで量子化係数kを
所定の近似倍率で除したことと等価となる。
5に入力され、所定の適応アルゴリズムにより量子化幅
ポインタ104の制御がなされる。例えば、振幅情報の
絶対値が大きい場合には、ポインタを右へ2〜4程度ず
らすことで量子化係数kに所定の近似倍率を乗じたこと
と等価となる。逆に振幅情報の絶対値が小さい場合は、
ポインタを左へ2〜4程度ずらすことで量子化係数kを
所定の近似倍率で除したことと等価となる。
【0053】適応制御器1305は、3進アップダウン
カウンタ106に対してアップまたはダウンの制御とそ
の量を与える。
カウンタ106に対してアップまたはダウンの制御とそ
の量を与える。
【0054】3進アップダウンカウンタ106は、0,
1,2,0,1,2,…といった具合にアップし、逆に
2,1,0,2,1,0,…といった具合にダウンす
る。3進アップダウンカウンタ106は、2から0に変
化するときにアップダウンカウンタ107にアップ要求
を出力し、逆に0から2に変化するときにアップダウン
カウンタ107にダウン要求を出力する。
1,2,0,1,2,…といった具合にアップし、逆に
2,1,0,2,1,0,…といった具合にダウンす
る。3進アップダウンカウンタ106は、2から0に変
化するときにアップダウンカウンタ107にアップ要求
を出力し、逆に0から2に変化するときにアップダウン
カウンタ107にダウン要求を出力する。
【0055】アップダウンカウンタ107は、3進アッ
プダウンカウンタ106からのアップ要求又はダウン要
求に応じてアップ又はダウン動作を行う。
プダウンカウンタ106からのアップ要求又はダウン要
求に応じてアップ又はダウン動作を行う。
【0056】量子化テーブル1301の差分値データ
は、量子化幅ポインタ104と符号レジスタ108によ
り指示されて読み出され、シフタ102は、読み出した
差分値データに対して、アップダウンカウンタ107と
3進アップダウンカウンタ106の出力に従いシフト演
算処理を施した後にレジスタ112に格納する。
は、量子化幅ポインタ104と符号レジスタ108によ
り指示されて読み出され、シフタ102は、読み出した
差分値データに対して、アップダウンカウンタ107と
3進アップダウンカウンタ106の出力に従いシフト演
算処理を施した後にレジスタ112に格納する。
【0057】シフタ102によりシフト演算され、レジ
スタ112に格納された差分値データは、1つ前の合成
波形データが格納されているレジスタ111の内容と加
算器103で加算され、新たな合成波形としてレジスタ
110に格納されて出力される。同時に合成波形は、次
の合成のためにレジスタ111に格納される。
スタ112に格納された差分値データは、1つ前の合成
波形データが格納されているレジスタ111の内容と加
算器103で加算され、新たな合成波形としてレジスタ
110に格納されて出力される。同時に合成波形は、次
の合成のためにレジスタ111に格納される。
【0058】以降、波形符号データROM109から新
たな符号データを読み出し、上記動作を繰り返す。
たな符号データを読み出し、上記動作を繰り返す。
【0059】次に、量子化テーブルの容量を削減する第
2の先行例について図面を参照して説明する。
2の先行例について図面を参照して説明する。
【0060】図15は第2の先行例を示すブロック図で
あり、図16は先行例2の量子化テーブルを示す図であ
る。
あり、図16は先行例2の量子化テーブルを示す図であ
る。
【0061】第2の先行例は、前記第1の先行例と同様
4ビットADPCM方式の波形合成である。
4ビットADPCM方式の波形合成である。
【0062】前記の第1先行例においては、量子化テー
ブルの値を正側と負側にそれぞれ同じ絶対値レベルの差
分値を2つ備えていたが、第2の先行例では、符号ビッ
トを備えることにより、差分値の振幅レベルを正側及び
負側で兼用し、その符号により加減算することで前記の
第1の先行例と比べ、量子化テーブル容量を半分に低減
してADPCM波形合成を実現している。
ブルの値を正側と負側にそれぞれ同じ絶対値レベルの差
分値を2つ備えていたが、第2の先行例では、符号ビッ
トを備えることにより、差分値の振幅レベルを正側及び
負側で兼用し、その符号により加減算することで前記の
第1の先行例と比べ、量子化テーブル容量を半分に低減
してADPCM波形合成を実現している。
【0063】図15に示すように、ADPCM波形合成
装置は、ADPCM波形合成で用いる差分値データを格
納した量子化テーブル1501と、シフタ102と、差
分値データの累算に用いる加減算器303と、量子化幅
ポインタ104と、適応制御器1505と、3進アップ
ダウンカウンタ106と、アップダウンカウンタ107
と、ADPCM符号を格納する符号レジスタ308と、
波形符号データROM109と、差分値の累算処理に用
いるレジスタ110,111,112とから成る。
装置は、ADPCM波形合成で用いる差分値データを格
納した量子化テーブル1501と、シフタ102と、差
分値データの累算に用いる加減算器303と、量子化幅
ポインタ104と、適応制御器1505と、3進アップ
ダウンカウンタ106と、アップダウンカウンタ107
と、ADPCM符号を格納する符号レジスタ308と、
波形符号データROM109と、差分値の累算処理に用
いるレジスタ110,111,112とから成る。
【0064】図16に示す量子化テーブルについて、そ
の構成と原理について以下に説明する。
の構成と原理について以下に説明する。
【0065】図16に示す量子化テーブルは、縦方向に
はADPCM符号に対応した差分値の振幅レベルの異な
るものを格納しておく。振幅レベルは、図16におい
て、最も上側は正負兼用の最大差分値振幅を格納し、順
次下側に向かうにしたがって差分値の振幅レベルの小さ
いものとなるように配置しておく。最も下側が最も振幅
レベルの小さな正負兼用の差分値振幅レベルの値とされ
る。
はADPCM符号に対応した差分値の振幅レベルの異な
るものを格納しておく。振幅レベルは、図16におい
て、最も上側は正負兼用の最大差分値振幅を格納し、順
次下側に向かうにしたがって差分値の振幅レベルの小さ
いものとなるように配置しておく。最も下側が最も振幅
レベルの小さな正負兼用の差分値振幅レベルの値とされ
る。
【0066】図16に示す量子化テーブルは、横方向に
は、図14の第1の先行例で説明したように、差分値デ
ータとして、最大の量子化幅の値と、その1/1.25
倍の値と、1/(1.25)2倍の3種類の値のみを備
え、図16の破線で示した、実際には実装されていない
仮想量子化テーブル1及び仮想量子化テーブル2に相当
する部分の差分値データは、実際に実装された右側の量
子化テーブルの差分値データを読み出すと同時にシフト
演算することにより容易に生成できる。
は、図14の第1の先行例で説明したように、差分値デ
ータとして、最大の量子化幅の値と、その1/1.25
倍の値と、1/(1.25)2倍の3種類の値のみを備
え、図16の破線で示した、実際には実装されていない
仮想量子化テーブル1及び仮想量子化テーブル2に相当
する部分の差分値データは、実際に実装された右側の量
子化テーブルの差分値データを読み出すと同時にシフト
演算することにより容易に生成できる。
【0067】図15を参照して、第2の先行例の動作を
説明する。
説明する。
【0068】波形合成処理を行うときの初期状態として
は、シフタ102、3進アップダウンカウンタ106、
アップダウンカウンタ107は、最小量子化幅の振幅セ
ットを指し示すように、初期設定されているものとす
る。
は、シフタ102、3進アップダウンカウンタ106、
アップダウンカウンタ107は、最小量子化幅の振幅セ
ットを指し示すように、初期設定されているものとす
る。
【0069】波形符号データROM109から読み出さ
れた符号化データは、符号レジスタ308に格納され
る。符号化レジスタ308に格納された符号化データ
は、下位3ビットの振幅情報部分と最上位ビットの符号
部分に分けられ、振幅情報部分はそのまま量子化テーブ
ル1501の差分値検索に利用される。
れた符号化データは、符号レジスタ308に格納され
る。符号化レジスタ308に格納された符号化データ
は、下位3ビットの振幅情報部分と最上位ビットの符号
部分に分けられ、振幅情報部分はそのまま量子化テーブ
ル1501の差分値検索に利用される。
【0070】さらに、符号化データの振幅部分は適応制
御器1505に入力され、所定の適応アルゴリズムによ
り量子化幅ポインタ104の制御がなされる。量子化幅
ポインタ104の制御は前記第1の先行例と同様である
ため、説明は省略する。
御器1505に入力され、所定の適応アルゴリズムによ
り量子化幅ポインタ104の制御がなされる。量子化幅
ポインタ104の制御は前記第1の先行例と同様である
ため、説明は省略する。
【0071】適応制御器1505は3進アップダウンカ
ウンタ106に対してアップまたはダウンの制御とその
量を与える。アップダウンカウンタ107は、前述の通
り、3進アップダウンカウンタ106からの要求に応じ
てアップダウンを行う。
ウンタ106に対してアップまたはダウンの制御とその
量を与える。アップダウンカウンタ107は、前述の通
り、3進アップダウンカウンタ106からの要求に応じ
てアップダウンを行う。
【0072】量子化テーブル1501の差分値データ
は、量子化幅ポインタ104と符号レジスタ108で指
示されて読み出され、シフタ102に格納される。シフ
タ102では、アップダウンカウンタ107と3進アッ
プダウンカウンタ106の指示により読み出した差分値
データに対してシフト演算処理を施した後に、その出力
をレジスタ112に格納する。
は、量子化幅ポインタ104と符号レジスタ108で指
示されて読み出され、シフタ102に格納される。シフ
タ102では、アップダウンカウンタ107と3進アッ
プダウンカウンタ106の指示により読み出した差分値
データに対してシフト演算処理を施した後に、その出力
をレジスタ112に格納する。
【0073】シフタ102でシフト演算されレジスタ1
12に格納された差分値データは、1つ前の合成波形デ
ータが格納されているレジスタ111の内容と加減算器
303により加算又は減算され、新たな合成波形として
レジスタ110に格納され出力される。出力合成波形
は、次の合成のためにレジスタ111に格納される。
12に格納された差分値データは、1つ前の合成波形デ
ータが格納されているレジスタ111の内容と加減算器
303により加算又は減算され、新たな合成波形として
レジスタ110に格納され出力される。出力合成波形
は、次の合成のためにレジスタ111に格納される。
【0074】加減算器303における加算又は減算の選
択は、符号レジスタ308の符号部分の値により決定さ
れる。
択は、符号レジスタ308の符号部分の値により決定さ
れる。
【0075】以降、波形符号データROM109から新
たな符号データを読み出し、上記動作を繰り返す。
たな符号データを読み出し、上記動作を繰り返す。
【0076】
【発明が解決しようとする課題】上述したように従来の
ADPCM方式を用いた波形合成装置は、量子化係数の
乗算処理のための乗算回路削減のために、乗算結果つま
り差分値データを備え、乗算をテーブル参照で置き換え
たものであるが、差分値を記憶するための大規模な記憶
媒体の容量を有する。
ADPCM方式を用いた波形合成装置は、量子化係数の
乗算処理のための乗算回路削減のために、乗算結果つま
り差分値データを備え、乗算をテーブル参照で置き換え
たものであるが、差分値を記憶するための大規模な記憶
媒体の容量を有する。
【0077】従って、本発明は前記問題点を解消し、テ
ーブル参照法のADPCMの復号に用いる差分値用のメ
モリを更に削減し、ハードウェア資源の削減をはかるA
DPCM波形合成方法及び装置を提供することを目的と
する。
ーブル参照法のADPCMの復号に用いる差分値用のメ
モリを更に削減し、ハードウェア資源の削減をはかるA
DPCM波形合成方法及び装置を提供することを目的と
する。
【0078】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、ADPCM符号の復号動作中に差分値テ
ーブルを参照することにより波形信号を合成する方法に
おいて、前記差分値テーブルに振幅方向に差分値を間引
きした形態で格納し、前記差分値テーブルにおいて振幅
方向に間引かれた差分値については、該間引かれた差分
値に前記差分値テーブルにおいて振幅方向で直近の差分
値に、前記差分値テーブルの振幅レベルでの最小値を累
算して求め、振幅レベルの補間を行うことにより波形を
合成することを特徴とする波形合成方法を提供する。
め、本発明は、ADPCM符号の復号動作中に差分値テ
ーブルを参照することにより波形信号を合成する方法に
おいて、前記差分値テーブルに振幅方向に差分値を間引
きした形態で格納し、前記差分値テーブルにおいて振幅
方向に間引かれた差分値については、該間引かれた差分
値に前記差分値テーブルにおいて振幅方向で直近の差分
値に、前記差分値テーブルの振幅レベルでの最小値を累
算して求め、振幅レベルの補間を行うことにより波形を
合成することを特徴とする波形合成方法を提供する。
【0079】また、本発明は、前記差分値テーブルの横
方向には、振幅レベルに対応した最大基準値とその近傍
のいくつかの値のみを格納し、これらの値を用いて波形
を合成することを特徴とする波形合成方法を提供する。
方向には、振幅レベルに対応した最大基準値とその近傍
のいくつかの値のみを格納し、これらの値を用いて波形
を合成することを特徴とする波形合成方法を提供する。
【0080】さらに、本発明は、前記差分値テーブルの
差分値を振幅の正側と負側で兼用するようにしたことを
特徴とする波形合成方法を提供する。
差分値を振幅の正側と負側で兼用するようにしたことを
特徴とする波形合成方法を提供する。
【0081】そして、本発明は、第2の視点として、A
DPCM符号から波形信号を合成する波形合成装置にお
いて、ADPCM符号を記憶する記憶手段と、前記記憶
手段からADPCM符号を読み出す読み出し手段と、A
DPCM方式の復号化で用いる量子化係数と量子化幅を
乗算した差分値を格納する差分値記憶手段であって、振
幅方向に差分値が間引きされて格納された差分値記憶手
段と、前記差分値記憶手段における振幅レベルの最小の
値を指示する最小値ポインタと、前記記憶手段から読み
出されたADPCM符号を格納する符号レジスタと、前
記差分値記憶手段を指示する振幅情報として前記最小値
ポインタと前記符号レジスタの所定のビット出力のいず
れか一方を出力する選択手段と、前記差分値記憶手段の
内容を指し示す量子化幅ポインタと、前記ADPCM符
号に応じて所定の適応アルゴリズムに従い前記量子化幅
ポインタの移動量を決定する適応制御手段と、前記量子
化幅ポインタの移動量を巡回させる巡回手段と、前記巡
回させる回数をカウントする計数手段と、前記計数手段
の値により読み出した差分値に対してシフト演算を行う
シフト演算手段と、前記シフト演算手段により新しく求
められた差分値に対して前の復号信号と累算する累算手
段と、を備えたことを特徴とする波形合成装置を提供す
る。
DPCM符号から波形信号を合成する波形合成装置にお
いて、ADPCM符号を記憶する記憶手段と、前記記憶
手段からADPCM符号を読み出す読み出し手段と、A
DPCM方式の復号化で用いる量子化係数と量子化幅を
乗算した差分値を格納する差分値記憶手段であって、振
幅方向に差分値が間引きされて格納された差分値記憶手
段と、前記差分値記憶手段における振幅レベルの最小の
値を指示する最小値ポインタと、前記記憶手段から読み
出されたADPCM符号を格納する符号レジスタと、前
記差分値記憶手段を指示する振幅情報として前記最小値
ポインタと前記符号レジスタの所定のビット出力のいず
れか一方を出力する選択手段と、前記差分値記憶手段の
内容を指し示す量子化幅ポインタと、前記ADPCM符
号に応じて所定の適応アルゴリズムに従い前記量子化幅
ポインタの移動量を決定する適応制御手段と、前記量子
化幅ポインタの移動量を巡回させる巡回手段と、前記巡
回させる回数をカウントする計数手段と、前記計数手段
の値により読み出した差分値に対してシフト演算を行う
シフト演算手段と、前記シフト演算手段により新しく求
められた差分値に対して前の復号信号と累算する累算手
段と、を備えたことを特徴とする波形合成装置を提供す
る。
【0082】また、本発明の波形合成装置においては、
前記差分値記憶手段が、横方向に振幅レベルに対応した
最大基準値とその近傍のいくつかの値を記憶することを
特徴としている。
前記差分値記憶手段が、横方向に振幅レベルに対応した
最大基準値とその近傍のいくつかの値を記憶することを
特徴としている。
【0083】さらに、本発明の波形合成装置において
は、前記差分値手段が、振幅方向の正側と負側で差分値
を共用して記憶し、前記累算手段が、前記ADPCM符
号の極性に応じて加算又は減算を行なうことを特徴とし
ている。
は、前記差分値手段が、振幅方向の正側と負側で差分値
を共用して記憶し、前記累算手段が、前記ADPCM符
号の極性に応じて加算又は減算を行なうことを特徴とし
ている。
【0084】
【発明の概要】本発明は、振幅レベルを間引きした差分
値用メモリと、その番地を巡回式に指し示すカウンタ
と、巡回した回数を計数するカウンタと、該2つのカウ
ンタの値により差分値に対してシフト演算するシフト演
算手段と、差分値用メモリの最小値を指示する最小値ポ
インタを備え、復号時に振幅レベルの補間を行なうこと
により、差分値用のメモリの容量の削減、及びハードウ
ェア資源の削減を達成している。
値用メモリと、その番地を巡回式に指し示すカウンタ
と、巡回した回数を計数するカウンタと、該2つのカウ
ンタの値により差分値に対してシフト演算するシフト演
算手段と、差分値用メモリの最小値を指示する最小値ポ
インタを備え、復号時に振幅レベルの補間を行なうこと
により、差分値用のメモリの容量の削減、及びハードウ
ェア資源の削減を達成している。
【0085】また、本発明においては、差分値用メモリ
は最大基準値とその近傍の値のみを備え、メモリ容量の
削減を達成している。
は最大基準値とその近傍の値のみを備え、メモリ容量の
削減を達成している。
【0086】さらに、本発明においては、差分値用メモ
リは振幅レベルの正側と負側で差分値を共用することに
よりメモリ容量の更なる低減を達成している。
リは振幅レベルの正側と負側で差分値を共用することに
よりメモリ容量の更なる低減を達成している。
【0087】
【実施例】図面を参照して、本発明の実施例を以下に説
明する。
明する。
【0088】
【実施例1】図1は本発明の第1実施例1の構成を示す
ブロック図であり、図2は本発明の第1の実施例の量子
化テーブルを示す説明図である。本実施例は、4ビット
ADPCM方式の波形合成である。
ブロック図であり、図2は本発明の第1の実施例の量子
化テーブルを示す説明図である。本実施例は、4ビット
ADPCM方式の波形合成である。
【0089】図1に示すように、本実施例に係る4ビッ
トADPCM波形合成装置は、ADPCM波形合成で用
いる差分値データを格納した量子化テーブル101と、
シフタ102と、差分値データの累算に用いる加算器1
03と、量子化幅ポインタ104と、適応制御器130
5と、3進アップダウンカウンタ106と、アップダウ
ンカウンタ107と、ADPCM符号を格納する符号レ
ジスタ108と、波形符号データROM109と、差分
値の累算処理に用いるレジスタ110〜112と、セレ
クタ113と、最小値ポインタ114から成る。
トADPCM波形合成装置は、ADPCM波形合成で用
いる差分値データを格納した量子化テーブル101と、
シフタ102と、差分値データの累算に用いる加算器1
03と、量子化幅ポインタ104と、適応制御器130
5と、3進アップダウンカウンタ106と、アップダウ
ンカウンタ107と、ADPCM符号を格納する符号レ
ジスタ108と、波形符号データROM109と、差分
値の累算処理に用いるレジスタ110〜112と、セレ
クタ113と、最小値ポインタ114から成る。
【0090】図2を参照して、本実施例に係る量子化テ
ーブルの構成と原理について説明する。
ーブルの構成と原理について説明する。
【0091】図2に示すように、量子化テーブルは、縦
方向にはADPCM符号に対応した差分値の振幅レベル
の異なるものを格納しておく。振幅レベルは図2におい
て、最も上側は正の最大差分値振幅を格納し、順次下側
に向かうにしたがって差分値の振幅レベルの小さいもの
となるように配置しておく。中央付近が最も振幅レベル
の小さな正の差分値振幅レベルの値になるようにする。
方向にはADPCM符号に対応した差分値の振幅レベル
の異なるものを格納しておく。振幅レベルは図2におい
て、最も上側は正の最大差分値振幅を格納し、順次下側
に向かうにしたがって差分値の振幅レベルの小さいもの
となるように配置しておく。中央付近が最も振幅レベル
の小さな正の差分値振幅レベルの値になるようにする。
【0092】中央より下の値は負の差分値振幅レベルを
格納しておく。最も下側は負の最大差分値振幅を格納
し、順次上側に向かうにしたがって差分値の振幅レベル
の小さいものとなるように配置しておく。中央付近が最
も振幅レベルの小さな負の差分値振幅レベルの値になる
ように配置しておく。
格納しておく。最も下側は負の最大差分値振幅を格納
し、順次上側に向かうにしたがって差分値の振幅レベル
の小さいものとなるように配置しておく。中央付近が最
も振幅レベルの小さな負の差分値振幅レベルの値になる
ように配置しておく。
【0093】図2において、量子化テーブルの黒塗りし
た領域はデータを間引きされた状態を示している。従っ
て実際には黒塗りの量子化テーブル部分は実装されてい
ない。
た領域はデータを間引きされた状態を示している。従っ
て実際には黒塗りの量子化テーブル部分は実装されてい
ない。
【0094】図2に示した量子化テーブルの横方向
(行)には、各振幅コードに対応して、図示右端に格納
された最大の量子化幅の差分値と、その1/1.25倍
の値と、1/(1.25)2倍の、計3種類の差分値デ
ータのみが格納されており、実際には実装されていない
仮想量子化テーブル1、又は仮想量子化テーブル2に相
当する部分の差分値データは、量子化テーブルから読み
出された差分値データを1ビット又2ビットシフト演算
することにより、容易に生成することができる。
(行)には、各振幅コードに対応して、図示右端に格納
された最大の量子化幅の差分値と、その1/1.25倍
の値と、1/(1.25)2倍の、計3種類の差分値デ
ータのみが格納されており、実際には実装されていない
仮想量子化テーブル1、又は仮想量子化テーブル2に相
当する部分の差分値データは、量子化テーブルから読み
出された差分値データを1ビット又2ビットシフト演算
することにより、容易に生成することができる。
【0095】これは、前記第1の先行例で説明した通
り、量子化テーブルのある行において右端に格納された
最大の量子化幅の差分値の(1.25)-1倍を3回繰り
返すと、約1/2倍の量子化幅となるため、図2の仮想
量子化テーブル1のある振幅コードの、例えば右端の差
分値データを生成するには、対応する振幅コードの最大
の量子化幅の差分値データを量子化テーブルから読み出
し、これを1ビットシフトして1/2倍(=1.2
5-3)倍すればよい。
り、量子化テーブルのある行において右端に格納された
最大の量子化幅の差分値の(1.25)-1倍を3回繰り
返すと、約1/2倍の量子化幅となるため、図2の仮想
量子化テーブル1のある振幅コードの、例えば右端の差
分値データを生成するには、対応する振幅コードの最大
の量子化幅の差分値データを量子化テーブルから読み出
し、これを1ビットシフトして1/2倍(=1.2
5-3)倍すればよい。
【0096】図1を参照して本実施例の動作を以下に説
明する。
明する。
【0097】波形合成処理を行うときの初期状態として
は、シフタ102、3進アップダウンカウンタ106、
アップダウンカウンタ107は、最小量子化幅の振幅セ
ットを指し示すように初期設定されているものとする。
は、シフタ102、3進アップダウンカウンタ106、
アップダウンカウンタ107は、最小量子化幅の振幅セ
ットを指し示すように初期設定されているものとする。
【0098】波形符号データROM109から読み出さ
れた符号化データは、符号レジスタ108に格納され
る。符号レジスタ108に格納された符号データは、適
応制御器105に入力され、さらに量子化テーブル10
1の振幅情報として、その上位3ビットがセレクタ11
3に入力される。
れた符号化データは、符号レジスタ108に格納され
る。符号レジスタ108に格納された符号データは、適
応制御器105に入力され、さらに量子化テーブル10
1の振幅情報として、その上位3ビットがセレクタ11
3に入力される。
【0099】セレクタ113は最小値ポインタ114の
出力を他の入力とし、量子化テーブル101の差分値検
索を行なうため、適応制御器105の制御により、符号
レジスタ108から出力された上位3ビット又は最小値
ポインタ114の出力のいずれか一方を切替え出力す
る。
出力を他の入力とし、量子化テーブル101の差分値検
索を行なうため、適応制御器105の制御により、符号
レジスタ108から出力された上位3ビット又は最小値
ポインタ114の出力のいずれか一方を切替え出力す
る。
【0100】符号化データを入力とする適応制御器10
5は入力された符号化データに基づき、所定の適応アル
ゴリズムにより量子化幅ポインタ104の制御を行な
う。適応制御器105による量子化幅ポインタ104の
制御として、前記第1の先行例と同様、振幅情報の絶対
値が大きい場合には、量子化幅ポインタを右へ2乃至4
程度ずらすことで量子化係数kを所定の近似倍率で乗じ
たことと等価となり、逆に振幅情報の絶対値が小さい場
合には、量子化幅ポインタを左へ2乃至4程度ずらすこ
とで量子化係数kを所定の近似倍率で除したことと等価
となる。
5は入力された符号化データに基づき、所定の適応アル
ゴリズムにより量子化幅ポインタ104の制御を行な
う。適応制御器105による量子化幅ポインタ104の
制御として、前記第1の先行例と同様、振幅情報の絶対
値が大きい場合には、量子化幅ポインタを右へ2乃至4
程度ずらすことで量子化係数kを所定の近似倍率で乗じ
たことと等価となり、逆に振幅情報の絶対値が小さい場
合には、量子化幅ポインタを左へ2乃至4程度ずらすこ
とで量子化係数kを所定の近似倍率で除したことと等価
となる。
【0101】適応制御器105は、3進アップダウンカ
ウンタ106に対してアップまたはダウンの制御とその
量を与える。なお、3進アップダウンカウンタ106の
動作は前記第1の先行例と同一であるため説明を省略す
る。アップダウンカウンタ107は、3進アップダウン
カウンタ106からの要求に応じてアップダウンを行
う。
ウンタ106に対してアップまたはダウンの制御とその
量を与える。なお、3進アップダウンカウンタ106の
動作は前記第1の先行例と同一であるため説明を省略す
る。アップダウンカウンタ107は、3進アップダウン
カウンタ106からの要求に応じてアップダウンを行
う。
【0102】量子化幅ポインタ104(横位置の指定)
と符号レジスタ108(縦位置の指定)で指示され、量
子化テーブル101から読み出された差分値データは、
シフタ102に格納される。
と符号レジスタ108(縦位置の指定)で指示され、量
子化テーブル101から読み出された差分値データは、
シフタ102に格納される。
【0103】シフタ102では、アップダウンカウンタ
107と3進アップダウンカウンタ106の指示によ
り、差分値データに対してシフト演算処理を施した後、
その出力をレジスタ112に格納する。レジスタ112
に格納されたシフト演算済みの差分値データは、1つ前
の合成波形データが格納されたレジスタ111の内容と
加算器103で加算され、加算器103の出力が新たな
合成波形としてレジスタ110に格納されて出力され
る。出力波形は次の合成のためにレジスタ111に格納
される。
107と3進アップダウンカウンタ106の指示によ
り、差分値データに対してシフト演算処理を施した後、
その出力をレジスタ112に格納する。レジスタ112
に格納されたシフト演算済みの差分値データは、1つ前
の合成波形データが格納されたレジスタ111の内容と
加算器103で加算され、加算器103の出力が新たな
合成波形としてレジスタ110に格納されて出力され
る。出力波形は次の合成のためにレジスタ111に格納
される。
【0104】ここで、符号レジスタ108の最下位ビッ
トのデータが“1”である場合には、間引きされたテー
ブルがアクセスされるため、適応制御器105の制御に
よりセレクタ113が最小値ポインタ114側に切り替
えられ、最小値ポインタ114から量子化テーブル10
1の振幅レベルの最小値が量子化テーブル101に設定
される。
トのデータが“1”である場合には、間引きされたテー
ブルがアクセスされるため、適応制御器105の制御に
よりセレクタ113が最小値ポインタ114側に切り替
えられ、最小値ポインタ114から量子化テーブル10
1の振幅レベルの最小値が量子化テーブル101に設定
される。
【0105】最小値としては、正側の最小値と負側の最
小値があるが、適応制御器105の制御により正負の区
別が行なわれ、対応する極性の最小値のポインタ値が出
力される。
小値があるが、適応制御器105の制御により正負の区
別が行なわれ、対応する極性の最小値のポインタ値が出
力される。
【0106】最小値ポインタ114で指示された差分値
が量子化テーブル101から出力され、さらに加算器1
03とレジスタ110〜112により累算され、振幅レ
ベルの補間が行なわれて出力される。
が量子化テーブル101から出力され、さらに加算器1
03とレジスタ110〜112により累算され、振幅レ
ベルの補間が行なわれて出力される。
【0107】なお、符号レジスタ108の最下位ビット
のデータが“0”の場合、対応する量子化テーブル10
1は実装されているため、指示された差分値が読み出さ
れ、上記補間は行なわれない。
のデータが“0”の場合、対応する量子化テーブル10
1は実装されているため、指示された差分値が読み出さ
れ、上記補間は行なわれない。
【0108】以降、波形符号データROM109から新
たな符号データを読み出し、上記動作を繰り返す。
たな符号データを読み出し、上記動作を繰り返す。
【0109】
【実施例2】図3は本発明の第2の実施例を示すブロッ
ク図であり、図4は第2の実施例の量子化テーブルを示
す図である。本実施例は、前記実施例同様4ビットAD
PCM方式の波形合成である。
ク図であり、図4は第2の実施例の量子化テーブルを示
す図である。本実施例は、前記実施例同様4ビットAD
PCM方式の波形合成である。
【0110】前記の第1の実施例においては、量子化テ
ーブルの値を正側と負側にそれぞれ同じ絶対値レベルの
差分値を2つ備えていたが、本実施例では、符号ビット
を備えることにより差分値の振幅レベルを正側及び負側
で兼用し、その符号により加算又は減算することで、前
記第1の実施例と比べ更に半分の量子化テーブル容量で
ADPCM波形合成を実現している。
ーブルの値を正側と負側にそれぞれ同じ絶対値レベルの
差分値を2つ備えていたが、本実施例では、符号ビット
を備えることにより差分値の振幅レベルを正側及び負側
で兼用し、その符号により加算又は減算することで、前
記第1の実施例と比べ更に半分の量子化テーブル容量で
ADPCM波形合成を実現している。
【0111】図3に示すように、本実施例の波形合成装
置は、ADPCM波形合成で用いる差分値データを格納
した量子化テーブル301と、シフタ102と、差分値
データの累算に用いる加減算器303と、量子化幅ポイ
ンタ104と、適応制御器305と、3進アップダウン
カウンタ106と、アップダウンカウンタ107と、A
DPCM符号を格納する符号レジスタ308と、波形符
号データROM109と差分値の累算処理に用いるレジ
スタ110と、レジスタ111と、レジスタ112と、
セレクタ113と、最小値ポインタ314から構成され
る。
置は、ADPCM波形合成で用いる差分値データを格納
した量子化テーブル301と、シフタ102と、差分値
データの累算に用いる加減算器303と、量子化幅ポイ
ンタ104と、適応制御器305と、3進アップダウン
カウンタ106と、アップダウンカウンタ107と、A
DPCM符号を格納する符号レジスタ308と、波形符
号データROM109と差分値の累算処理に用いるレジ
スタ110と、レジスタ111と、レジスタ112と、
セレクタ113と、最小値ポインタ314から構成され
る。
【0112】図4に示す量子化テーブルについて、その
構成と原理を以下に説明する。
構成と原理を以下に説明する。
【0113】図4に示す量子化テーブルは、縦方向には
ADPCM符号に対応した差分値の振幅レベルの異なる
ものを格納しておく。振幅レベルは図4において、最も
上側は正負兼用の最大差分値振幅を格納し、順次下側に
向かうにしたがって差分値の振幅レベルの小さいものと
なるように配置しておく。最も下側が最も振幅レベルの
小さな正負兼用の差分値振幅レベルの値とされる。
ADPCM符号に対応した差分値の振幅レベルの異なる
ものを格納しておく。振幅レベルは図4において、最も
上側は正負兼用の最大差分値振幅を格納し、順次下側に
向かうにしたがって差分値の振幅レベルの小さいものと
なるように配置しておく。最も下側が最も振幅レベルの
小さな正負兼用の差分値振幅レベルの値とされる。
【0114】図4において、量子化テーブルの黒塗りし
た領域はデータが間引きされた状態であることを示して
いる。従って実際には黒塗りの量子化テーブル部分は実
装されていない。
た領域はデータが間引きされた状態であることを示して
いる。従って実際には黒塗りの量子化テーブル部分は実
装されていない。
【0115】図4に示す量子化テーブルは、その横方向
には、前記第1の実施例で説明したように、差分値デー
タとして、最大の量子化幅の値とその1/1.25倍の
値と1/(1.25)2倍の3種類の値のみを備え、図
4の破線で示した、実際には実装されていない仮想量子
化テーブル1及び仮想量子化テーブル2に相当する部分
の差分値データは、実装された図示右側の量子化テーブ
ルの差分値データを読み出すと同時にシフト演算するこ
とにより容易に生成できる。
には、前記第1の実施例で説明したように、差分値デー
タとして、最大の量子化幅の値とその1/1.25倍の
値と1/(1.25)2倍の3種類の値のみを備え、図
4の破線で示した、実際には実装されていない仮想量子
化テーブル1及び仮想量子化テーブル2に相当する部分
の差分値データは、実装された図示右側の量子化テーブ
ルの差分値データを読み出すと同時にシフト演算するこ
とにより容易に生成できる。
【0116】図3を参照して、本実施例の動作を説明す
る。
る。
【0117】波形合成処理を行うときの初期状態として
は、シフタ102、3進アップダウンカウンタ106、
アップダウンカウンタ107は、最小量子化幅の振幅セ
ットを指し示すように、初期設定されているものとす
る。
は、シフタ102、3進アップダウンカウンタ106、
アップダウンカウンタ107は、最小量子化幅の振幅セ
ットを指し示すように、初期設定されているものとす
る。
【0118】波形符号データROM109から読み出さ
れた符号化データは、符号レジスタ308に格納され
る。符号化レジスタ308に格納された符号化データ
は、下位3ビットの振幅情報部分と最上位ビットの符号
部分に分けられ、振幅情報部分はそのまま量子化テーブ
ル301の差分値検索に利用される。
れた符号化データは、符号レジスタ308に格納され
る。符号化レジスタ308に格納された符号化データ
は、下位3ビットの振幅情報部分と最上位ビットの符号
部分に分けられ、振幅情報部分はそのまま量子化テーブ
ル301の差分値検索に利用される。
【0119】さらに、符号化データの振幅部分は適応制
御器305に入力され、所定の適応アルゴリズムにより
量子化幅ポインタ104の制御がなされる。量子化幅ポ
インタ104の制御は前記第1の実施例と同様であるた
め、説明は省略する。
御器305に入力され、所定の適応アルゴリズムにより
量子化幅ポインタ104の制御がなされる。量子化幅ポ
インタ104の制御は前記第1の実施例と同様であるた
め、説明は省略する。
【0120】また、適応制御器305は3進アップダウ
ンカウンタ106に対してアップまたはダウンの制御と
その量を与える。なお、3進アップダウンカウンタ10
6は、前記第1の先行例と同一であるため、その説明は
省略する。アップダウンカウンタ107は3進アップダ
ウンカウンタ106からの要求に応じてアップダウンを
行う。
ンカウンタ106に対してアップまたはダウンの制御と
その量を与える。なお、3進アップダウンカウンタ10
6は、前記第1の先行例と同一であるため、その説明は
省略する。アップダウンカウンタ107は3進アップダ
ウンカウンタ106からの要求に応じてアップダウンを
行う。
【0121】量子化テーブル301の差分値データは、
量子化幅ポインタ104と符号レジスタ308で指示さ
れて読み出され、シフタ102に格納される。シフタ1
02では、アップダウンカウンタ107と3進アップダ
ウンカウンタ106の指示により読み出した差分値デー
タに対してシフト演算処理を施した後に、その出力をレ
ジスタ112に格納する。
量子化幅ポインタ104と符号レジスタ308で指示さ
れて読み出され、シフタ102に格納される。シフタ1
02では、アップダウンカウンタ107と3進アップダ
ウンカウンタ106の指示により読み出した差分値デー
タに対してシフト演算処理を施した後に、その出力をレ
ジスタ112に格納する。
【0122】シフタ102でシフト演算されレジスタ1
12に格納された差分値データは、1つ前の合成波形デ
ータが格納されているレジスタ111の内容と加減算器
303により加算又は減算され、加減算器303の出力
が新たな合成波形としてレジスタ110に格納されて出
力され、出力波形は次の合成のためにレジスタ111に
格納される。
12に格納された差分値データは、1つ前の合成波形デ
ータが格納されているレジスタ111の内容と加減算器
303により加算又は減算され、加減算器303の出力
が新たな合成波形としてレジスタ110に格納されて出
力され、出力波形は次の合成のためにレジスタ111に
格納される。
【0123】加減算器303における加算又は減算の選
択は、符号レジスタ308の符号部分の値により決定さ
れる。
択は、符号レジスタ308の符号部分の値により決定さ
れる。
【0124】ここで、符号レジスタ308の最下位ビッ
トのデータが“1”である場合には、補間データとして
適応制御器305の制御により、セレクタ113は最小
値ポインタ314側に切り替え、最小値ポインタ314
から最小値のポインタ値が出力される。
トのデータが“1”である場合には、補間データとして
適応制御器305の制御により、セレクタ113は最小
値ポインタ314側に切り替え、最小値ポインタ314
から最小値のポインタ値が出力される。
【0125】最小値の差分値が量子化テーブル301か
ら出力され、さらに加算器303とレジスタ110〜1
12により累算され、振幅レベルの補間がなされ出力さ
れる。
ら出力され、さらに加算器303とレジスタ110〜1
12により累算され、振幅レベルの補間がなされ出力さ
れる。
【0126】以降、波形符号データROM109から新
たな符号データを読み出し、上記動作を繰り返す。
たな符号データを読み出し、上記動作を繰り返す。
【0127】以上、本発明を上記第1、第2の実施例に
ついて説明したが、本発明は、上記実施態様にのみ限定
されるものではなく、本発明の原理に準ずる各種実施態
様を含むことは勿論である。例えば、上記実施例では、
本発明を、量子化テーブルのデータ数を1/2に間引い
た例について説明したが、他の間引き率においても間引
き率に応じたハードウェア資源の削減効果があることは
明白である。
ついて説明したが、本発明は、上記実施態様にのみ限定
されるものではなく、本発明の原理に準ずる各種実施態
様を含むことは勿論である。例えば、上記実施例では、
本発明を、量子化テーブルのデータ数を1/2に間引い
た例について説明したが、他の間引き率においても間引
き率に応じたハードウェア資源の削減効果があることは
明白である。
【0128】
【発明の効果】以上説明したように、本発明は、ADP
CM符号を復号する過程で用いる量子化テーブルの振幅
方向の差分値データを間引いて格納し、冗長性を削減す
ることにより、先行例(特願平4−255899号)に
比べ、記憶容量を更に1/2に減少させ、ハードウェア
資源の削減を達成している。
CM符号を復号する過程で用いる量子化テーブルの振幅
方向の差分値データを間引いて格納し、冗長性を削減す
ることにより、先行例(特願平4−255899号)に
比べ、記憶容量を更に1/2に減少させ、ハードウェア
資源の削減を達成している。
【0129】また、量子化テーブルを振幅方向に間引く
と共に、横方向の差分値データとしては、最大基準値と
その近傍の値の数個の値のみを格納することにより、量
子化テーブルの容量を大幅な低減を達成しながら、量子
化テーブルのビット精度を最良な状態に維持し、且つ高
音質の波形合成を実現するという効果を有する。
と共に、横方向の差分値データとしては、最大基準値と
その近傍の値の数個の値のみを格納することにより、量
子化テーブルの容量を大幅な低減を達成しながら、量子
化テーブルのビット精度を最良な状態に維持し、且つ高
音質の波形合成を実現するという効果を有する。
【0130】さらに、本発明によれば、量子化テーブル
の振幅方向の正負のデータについて一側のデータのみを
間引いて格納することにより、量子化テーブルの容量は
更に半減することになり、しかも、新たに付加する回路
は、符号化データの符号ビットに基づき加算又は減算を
行なう加減算器のみで済む。
の振幅方向の正負のデータについて一側のデータのみを
間引いて格納することにより、量子化テーブルの容量は
更に半減することになり、しかも、新たに付加する回路
は、符号化データの符号ビットに基づき加算又は減算を
行なう加減算器のみで済む。
【図1】本発明の一実施例の構成を示すブロック図であ
る。
る。
【図2】本発明の一実施例の量子化テーブルを示す図で
ある。
ある。
【図3】本発明の第2の実施例の構成を示すブロック図
である。
である。
【図4】本発明の第2の実施例の量子化テーブルを示す
図である。
図である。
【図5】従来のテーブル参照法によるADPCM波形合
成装置の構成を示すブロック図である。
成装置の構成を示すブロック図である。
【図6】従来の量子化テーブルを説明する図である。
【図7】3ビットPCM波形の説明図である。
【図8】(a) 4ビットPCM波形の説明図である。 (b) 5ビットPCM波形の説明図である。
【図9】DPCM方式の概念を説明するための説明図で
ある。
ある。
【図10】ADPCM方式の概念を説明するための説明
図である。
図である。
【図11】3ビットのADPCM方式の量子化係数kの
説明図である。
説明図である。
【図12】2〜5ビット時における量子化係数kの説明
図である。
図である。
【図13】量子化テーブルの容量を削減する第1の先行
例の構成を示すブロック図である。
例の構成を示すブロック図である。
【図14】第1の先行例の量子化テーブルを示す図であ
る。
る。
【図15】量子化テーブルの容量を削減する第2の先行
例の構成を示すブロック図である。
例の構成を示すブロック図である。
【図16】第2の先行例の量子化テーブルを示す図であ
る。
る。
101 量子化テーブル 102 シフタ 103 加算器 104 量子化幅ポインタ 105 適応制御器 106 3進アップダウンカウンタ 107 アップダウンカウンタ 108 符号レジスタ 109 波形符号データROM 110〜112 レジスタ 113 セレクタ 114 最小値ポインタ 301 量子化テーブル 303 加減算器 305 適用制御器 308 符号レジスタ 314 最小値ポインタ 501 量子化テーブル 1301 量子化テーブル 1305 適応制御器 1501 量子化テーブル 1505 適応制御器
Claims (6)
- 【請求項1】ADPCM符号の復号動作中に差分値テー
ブルを参照することにより波形信号を合成する方法にお
いて、 前記差分値テーブルに振幅方向に差分値を間引きした形
態で格納し、前記差分値テーブルにおいて振幅方向に間引かれた差分
値については、該間引かれた差分値に前記差分値テーブ
ルにおいて振幅方向で直近の差分値に、前記差分値テー
ブルの振幅レベルでの最小値を累算して求め、 振幅レベ
ルの補間を行うことにより波形を合成することを特徴と
する波形合成方法。 - 【請求項2】前記差分値テーブルの横方向には、振幅レ
ベルに対応した最大基準値とその近傍のいくつかの値の
みを格納し、これらの値を用いて波形を合成することを
特徴とする請求項1記載の波形合成方法。 - 【請求項3】前記差分値テーブルの差分値を振幅の正側
と負側で兼用するようにしたことを特徴とする請求項1
又は2記載の波形合成方法。 - 【請求項4】ADPCM符号から波形信号を合成する波
形合成装置において、 ADPCM符号を記憶する記憶手段と、 前記記憶手段からADPCM符号を読み出す読み出し手
段と、 ADPCM方式の復号化で用いる量子化係数と量子化幅
を乗算した差分値を格納する差分値記憶手段であって、
振幅方向に差分値が間引きされて格納された差分値記憶
手段と、 前記差分値記憶手段における振幅レベルの最小の値を指
示する最小値ポインタと、 前記記憶手段から読み出されたADPCM符号を格納す
る符号レジスタと、 前記差分値記憶手段を指示する振幅情報として前記最小
値ポインタと前記符号レジスタの所定のビット出力のい
ずれか一方を出力する選択手段と、 前記差分値記憶手段の内容を指し示す量子化幅ポインタ
と、 前記ADPCM符号に応じて所定の適応アルゴリズムに
従い前記量子化幅ポインタの移動量を決定する適応制御
手段と、 前記量子化幅ポインタの移動量を巡回させる巡回手段
と、 巡回させる回数をカウントする計数手段と、 前記計数手段の値により読み出した差分値に対してシフ
ト演算を行うシフト演算手段と、 前記シフト演算手段により新しく求められた差分値に対
して前の復号信号と累算する累算手段と、 を備えたことを特徴とする波形合成装置。 - 【請求項5】前記差分値記憶手段が、横方向に振幅レベ
ルに対応した最大基準値とその近傍のいくつかの値を記
憶することを特徴とする請求項4記載の波形合成装置。 - 【請求項6】前記差分値手段が、振幅方向の正側と負側
で差分値を共用して記憶し、前記累算手段が、前記AD
PCM符号の極性に応じて加算又は減算を行なうことを
特徴とする請求項5記載の波形合成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5345684A JP2903986B2 (ja) | 1993-12-22 | 1993-12-22 | 波形合成方法及びその装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5345684A JP2903986B2 (ja) | 1993-12-22 | 1993-12-22 | 波形合成方法及びその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07182000A JPH07182000A (ja) | 1995-07-21 |
JP2903986B2 true JP2903986B2 (ja) | 1999-06-14 |
Family
ID=18378271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5345684A Expired - Fee Related JP2903986B2 (ja) | 1993-12-22 | 1993-12-22 | 波形合成方法及びその装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2903986B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6754630B2 (en) * | 1998-11-13 | 2004-06-22 | Qualcomm, Inc. | Synthesis of speech from pitch prototype waveforms by time-synchronous waveform interpolation |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3269089B2 (ja) * | 1991-05-21 | 2002-03-25 | 日本電気株式会社 | 音声合成装置 |
JP3091563B2 (ja) * | 1992-04-27 | 2000-09-25 | 三洋電機株式会社 | 非線形変換装置 |
-
1993
- 1993-12-22 JP JP5345684A patent/JP2903986B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07182000A (ja) | 1995-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5940132A (en) | Image signal converting apparatus | |
JPH02125597A (ja) | カラー・ビデオ信号の符号化方法および符号化回路 | |
US5313204A (en) | Encoding and decoding devices with predictor and detector | |
JPH046289B2 (ja) | ||
JP2001188600A5 (ja) | ||
JP2903986B2 (ja) | 波形合成方法及びその装置 | |
US4882585A (en) | Method and apparatus for high resolution analog-digital-analog transformations | |
JPH07199996A (ja) | 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置 | |
JP2970254B2 (ja) | 音声合成方法及びその装置 | |
US6326907B1 (en) | Coding device | |
JPS63133724A (ja) | 入力信号を伝送又は記憶するシステム | |
JPH064100A (ja) | 音声合成方式と装置 | |
JP3269089B2 (ja) | 音声合成装置 | |
JP2993344B2 (ja) | 波形生成装置、波形記憶装置、波形生成方泡および波形記憶方法 | |
JP2517564B2 (ja) | 信号処理装置 | |
JP2537246B2 (ja) | 画像符号化方式 | |
JPH07249995A (ja) | データ符号化装置 | |
JP3083119B2 (ja) | 適応デルタ変調方式を利用した符号化/復号化回路 | |
JPH0936749A (ja) | 符号化復号化装置およびこれに用いられる符号化方法 | |
JP2641773B2 (ja) | ベクトル量子化符号化装置 | |
JPH0546176A (ja) | データ圧縮伸張装置およびそれを用いた電子楽器 | |
JPH03145887A (ja) | 予測符号化装置 | |
JPH03112283A (ja) | 画像信号の符号化方式 | |
JPS6332291B2 (ja) | ||
JPH09121286A (ja) | 画像データの圧縮方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19990223 |
|
LAPS | Cancellation because of no payment of annual fees |