[go: up one dir, main page]

JP3933073B2 - Waveform expansion device - Google Patents

Waveform expansion device Download PDF

Info

Publication number
JP3933073B2
JP3933073B2 JP2003082924A JP2003082924A JP3933073B2 JP 3933073 B2 JP3933073 B2 JP 3933073B2 JP 2003082924 A JP2003082924 A JP 2003082924A JP 2003082924 A JP2003082924 A JP 2003082924A JP 3933073 B2 JP3933073 B2 JP 3933073B2
Authority
JP
Japan
Prior art keywords
scale factor
sub
frame
sample
information
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 - Lifetime
Application number
JP2003082924A
Other languages
Japanese (ja)
Other versions
JP2004294492A (en
Inventor
雅嗣 岡▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2003082924A priority Critical patent/JP3933073B2/en
Publication of JP2004294492A publication Critical patent/JP2004294492A/en
Application granted granted Critical
Publication of JP3933073B2 publication Critical patent/JP3933073B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、圧縮波形データを伸長する波形伸長装置に関するものである。
【0002】
【従来の技術】
従来、電子楽器における楽音信号の発生方法の一つとして、自然楽器の楽音波形の瞬時値を逐次サンプリングしてディジタルとされたサンプル波形データとして予めメモリに記憶しておき、楽音の発生時にこのサンプル波形データを読み出して楽音信号を発生するようにしたPCM方式がある。このPCM方式は自然楽器に近い楽音を発生できるという点で優れているが、波形データを記憶しておくメモリの容量が膨大になってしまっていた。そこで、波形データ量を低減するために、波形データを圧縮し、この圧縮波形データをメモリに記憶しておき、再生時にはこの圧縮波形データを伸長して楽音信号を形成するようにした楽音信号発生装置が提案されている(例えば、特許文献1参照)。
また、波形圧縮装置により波形データをフレーム単位で線形予測圧縮して、圧縮波形データを得て、この圧縮波形データを波形メモリに記憶しておき、その波形メモリを使用した波形メモリ音源が知られている(例えば、特許文献2参照)。
【0003】
【発明が解決しようとする課題】
上記波形メモリ音源においては、圧縮波形データのデータ量を削減するためにシフトダウンして記憶するようになっているが、そのシフトダウン量は制限ビット長に基づいて制御され、伸長される波形データの品質低下の程度については考慮されていないという問題点があった。また、このシフトダウン量は、フレーム内の残差データのピークを基準にしており、フレーム中にパルス的なノイズが入るとその影響でフレームのシフト量が不当に大きくなってしまい、伸長した際に量子化ノイズが増大してしまうという問題点があった。
【0004】
そこで本発明は、量子化精度を与えるスケールファクタを用いて圧縮した圧縮波形データを伸長した際に、量子化ノイズを低減することのできる波形伸長装置を提供することを目的としている。
【0005】
【特許文献1】
特許第2605434号
【特許文献2】
特許第2727798号
【0006】
【課題を解決するための手段】
上記目的を達成するため、本発明にかかる波形伸長装置は、量子化精度を与えるスケールファクタをフレーム全体で用いられる主スケールファクタと、サブフレームで補助的に用いられる副スケールファクタとからなるようにしたので、圧縮前の元波形データの性質に応じてスケールファクタをサブフレーム毎に調整することができるようになる。これにより、圧縮前の波形データの変化率の局部的な変動に適応することができるようになり、主スケールファクタと副スケールファクタとを用いて伸長した際に量子化ノイズを低減することができるようになる。そして、サブフレーム毎の副スケールファクタの大きさを副情報に含ませたり、サブフレームの位置情報を副情報に含ませて、副スケールファクタを用いるサブフレームを特定するようにしても良い。
【0007】
【発明の実施の形態】
本発明にかかる圧縮波形データを伸長する波形伸長装置を音源部に備える楽音生成装置のブロック図を図1に示す。この楽音生成装置は、本発明において特徴的なデータ構造とされている圧縮波形データを記憶する記憶手段も備えている。
図1に示す楽音生成装置1おいて、CPU10は楽音生成に関連する各種プログラムを実行することにより楽音生成装置1における楽音生成の動作を制御する中央処理装置(Central Processing Unit)である。すなわち、演奏操作子の操作、自動演奏、通信I/Oからの入力などにより発音開始指示(ノートオン)が発生したときには、音源部30に対してその発音開始指示に応じた楽音の生成開始を指示している。ROM(Read Only Memory)11は、例えばフラッシュROMとされており、CPU10が実行する楽音生成処理のプログラムや、各種データが格納されている。RAM(Random Access Memory)12は楽音生成装置1におけるメインメモリであり、本発明において特徴的なデータ構造とされている圧縮波形データが記憶されている波形記憶領域12aを備えていると共に、CPU10のワークエリア等の領域が設定されている書き換え可能な記憶手段である。なお、波形記憶領域12aには複数曲の圧縮波形データを記憶することができる。
【0008】
また、操作子13は、鍵盤等の演奏操作子や各種設定を行うパネルスイッチであり、表示器14は楽音生成時に各種情報を表示させる液晶等からなる表示器である。通信I/O15は、LAN(Local Area Network )やインターネット、電話回線等の通信ネットワークを介してサーバコンピュータに接続するためのネットワークインタフェースである。この通信I/O15を介して、楽音生成装置1内部で作成したMIDIメッセージを外部へ送出したり、外部からのMIDIメッセージを受信することができる。制御レジスタ20は、CPU10から各発音チャンネルの発音パラメータが書き込まれるレジスタである。音源部30は、フレームを単位として圧縮されている圧縮波形データの伸長処理を行うデコーダを備えており、CPU10の制御に基づいて、RAM12の波形記憶領域12aから楽音生成に必要とする圧縮波形データを後述する小フレーム毎に読み出し、読み出した圧縮波形データの伸長処理を行っている。そして、デコードされた波形データの補間、エンベロープ付与、チャンネル累算(ミキシング)、および効果(エフェクト)付与などの処理を行って、楽音波形データとして出力している。音源部30から出力された楽音波形データはアナログ信号に変換されてサウンドシステム40から放音されるようになる。なお、各部はバスライン16を介して接続されている。
【0009】
次に、音源部30について説明する前にRAM12の波形記憶領域12aに記憶されている圧縮波形データのデータ構造を図2を参照して説明する。
波形記憶領域12aに記憶されている圧縮された波形データの1曲分の波形データが図2に示されている。図2に示す圧縮波形データは、圧縮波形データの全体に関する情報が書き込まれているヘッダ情報と、圧縮波形データを収容しているフレーム1ないしフレームnから構成されている。ヘッダ情報は、圧縮波形データである残差符号のサンプルのビット数、読出開始アドレス、読出終了アドレス、ループアドレス、最初のフレームの予測係数およびスケールファクタ、その他データからなる。圧縮波形データである残差符号のサンプルが書き込まれている各フレームのデータ構造は同様とされており、図2には例としてフレーム2のデータ構造が示されている。1フレームは、例えば図示するようにアドレスが「00」から「09」の10アドレスに対応するデータ量とされており、1アドレスに対応するデータ幅を小フレームと定義することができる。すなわち、図2に示す1フレームは、10の小フレームから構成されている。この小フレームは副情報と残差符号からなる。
【0010】
この場合、副情報のビット数は予め定められたビット数とされており、残差符号の1サンプルのビット数は、圧縮する前の元波形データの性質に適するよう波形データ毎に定められた固定のビット数とされている。そして、小フレームのデータ幅を図2に示すように16ビットとすると共に、残差符号の1サンプルのビット数を3ビットに固定した場合は、例えば副情報に4ビットのデータ領域が割り当てられ、残差符号に12ビットのデータ領域が割り当てられて、1小フレームのサンプル数は4となる。また、残差符号の1サンプルのビット数を6ビットに固定すると、図2における残差符号の下段に示されるように1小フレームのサンプル数は2となる。同様に、固定とされている残差符号の1サンプルのビット数を4ビットとすると、図2における残差符号のさらに下段に示されるように1小フレームのサンプル数は3となり、固定とされている残差符号の1サンプルのビット数を2ビットとすると、図2における残差符号のさら下段に示されるように1小フレームのサンプル数は6となる。なお、小フレームのデータ幅を16ビットとした場合は、1フレームを構成するビット数は160ビットとなり、その内の40ビットのデータ領域が副情報の領域となり、残る120ビットのデータ領域が残差符号の領域となる。このように、1フレームあるは1小フレームにおける残差符号のサンプル数は、曲毎に固定とされる残差符号の1サンプルのビット数に応じて変更されるようになる。
【0011】
さらに、1フレームは複数のサブフレームに分割されている。図2に示す例では、第1サブフレーム(サブ1)と第2サブフレーム(サブ2)との2つのサブフレームに分割する例と、第1サブフレーム(サブ1)ないし第4サブフレーム(サブ4)の4つのサブフレームに分割する例とが示されている。ここで、図示するように残差符号のサンプルのビット数が3ビットであった場合は、2つのサブフレームに分割すると、サンプル1ないしサンプル20が第1サブフレームに収容され、サンプル21ないしサンプル40が第2サブフレームに収容されるようになる。また、4つのサブフレームに分割すると、サンプル1ないしサンプル10が第1サブフレームに収容され、サンプル11ないしサンプル20が第2サブフレームに収容され、サンプル21ないしサンプル30が第3サブフレームに収容され、サンプル31ないしサンプル40が第4サブフレームに収容されるようになる。
【0012】
ところで、副情報は、次のフレームの残差符号の伸長に用いる線形予測係数である予測係数情報と、次のフレームの残差符号の伸長に用いるスケールファクタとその他の情報とされている。スケールファクタは、1フレームを構成する複数の残差符号を逆正規化するためのファクタであり、フレーム全体で用いる主スケールファクタと、サブフレームで補助的に用いる副スケールファクタとから構成されている。これは、後述するように圧縮前の元波形データの変化率の局部的な変動に適応させるためであり、スケールファクタを主スケールファクタと副スケールファクタとからなる構成としたことに伴い、フレームを前記したように複数のサブフレームに分割している。この主スケールファクタおよび副スケールファクタを絶対値ではなく、フレーム間の比や対数スケールにおける差で記憶するとビット数に対する情報量の効率を向上することができる。主スケールファクタおよび副スケールファクタをフレーム間の比や対数スケールにおける差とした場合においては、逆量子化時に絶対値に変換されて残差符号に乗算されるようになる。また、その他の情報を、音量情報や波形データのループアドレス等の情報としても良い。
【0013】
次に、音源部30について説明すると、アドレス発生部32は、周波数情報(Fナンバ)を累算するサンプルカウンタと、RAM12における波形記憶領域12aから圧縮波形データを小フレーム毎に読み出す読出アドレスを生成するメモリカウンタを備えている。サンプルカウンタは、指定された音高に対応する波形データのピッチシフト量であるFナンバを累算して整数部と小数部からなるサンプルアドレスを生成し、その内の整数部を残差符号キャッシュ部33に、残る小数部を補間部36にそれぞれ供給する。また、サンプルアドレスの整数部が、小フレームのサンプル数に達するごとに要求パルスを出力する。なお、小フレームのサンプル数は、図2において前述したように残差符号の1サンプルのビット数に応じて異なるようになる。アドレス発生部32のメモリカウンタでは、サンプルカウンタから要求パルスが入力されるごとに、メモリアドレスを1ずつカウントアップすることにより小フレームを読み出す読出アドレスを生成している。
【0014】
フレーム読出部31は、アドレス発生部32のサンプルカウンタから出力される要求パルスが入力されるごとに、RAM12の波形記憶領域12aからアドレス発生部32のメモリカウンタから供給されるメモリアドレスの示す小フレームのデータを読み出す。読み出された小フレームのデータにおける副情報は副情報デコード部34に供給され、読み出された小フレームのデータの残差符号のサンプルは残差符号キャッシュ部33に供給される。副情報デコード部34には、1フレームの期間において、フレーム読出部31から供給される各小フレームの副情報が順次収集され、副情報の各データがデコードされる。そして、そのフレームの次のフレームの期間に、デコードされた予測係数情報およびスケールファクタがデコーダ35に供給されると共に、その他データが音源部30の各ブロックに供給される。すなわち、各フレームの副情報は、当該フレームではなくその次のフレームで使用される副情報となる。
【0015】
残差符号キャッシュ部33には、読み出された小フレームのうちの最新の3つの小フレームがキャッシュに保持される。そして、アドレス発生部32からのサンプルアドレスの整数部に応じて、その整数部の進行量に相当する数の残差符号のサンプルがキャッシュされた3つの小フレームから取り出され、取り出された残差符号のサンプルがデコーダ35に送られる。デコーダ(キャッシュ)35では、残差符号キャッシュ部33から残差符号のサンプルが送られてくる毎に、4次の線形予測伸長により残差符号のサンプルがデコードされて復元波形サンプルを得ている。この復元波形サンプルは、デコーダ35内の波形データキャッシュに、例えば4サンプル保存される。
【0016】
ここで、演奏操作子の操作、自動演奏、通信I/Oからの入力などにより発音開始指示(ノートオン)が発生したときには、CPU10が音源部30に対してその発音開始指示に応じた楽音の生成開始を指示している。この場合の手順は次のようになる。ノートオン(パートPT、音高N、強度V)に応じて、
(1)音源部30の複数発音チャンネルのうちの1つを当該楽音の発生に割当てる。
(2)パートPTで現在選択されている音色データ(RAM12上)に基づいて、波形記憶領域12aに記憶されている波形データの1つを選択し、ピッチシフト量、音量EGパラメータ、LFOパラメータ、出力レベル等を制御レジスタ20の割り当てた発音チャンネル領域に設定する。
(3)選択された波形データのヘッダを読み出し、残差符号のサンプルのビット数、読出開始アドレス、読出終了アドレス、ループアドレス、最初のフレームの予測係数、スケールファクタ、その他データを、上記発音チャンネル領域に設定する。この場合の各アドレスは、フレームを単位としたアドレスでも良い。
(4)上記発音チャンネル領域にノートオンを書き込む。
これにより、音源部30において楽音の生成が開始されるようになる。
【0017】
次に、本発明の実施の形態における波形伸長装置であるデコーダ35の構成を図3に示す。このデコーダ35は音源部30に備えられており、残差符号キャッシュ部33から供給された残差符号のサンプルLnは、デコーダ35における逆量子化部71において残差符号のサンプルのビット数情報に基づいてサンプルLn毎に抽出される。抽出された残差符号のサンプルLnは、量子化精度を与えるスケールファクタSFにおける主スケールファクタに、その残差符号のサンプルLnが属するサブフレームにおける副スケールファクタが加算されたスケールファクタに基づいて各サンプルLnが逆正規化されると共に逆量子化される。これにより、逆量子化部71からは残差符号のサンプルLn毎に復号された復号波形サンプルqnが出力される。復号波形サンプルqnは加算器72に供給されて、線形予測演算部73より出力される線形予測サンプル◇Sn-1が加算されて復元波形サンプル◇Xnが復元される。復元波形サンプル◇Xnは波形データキャッシュ部74にキャッシュされると共に、伸長された波形データである復元波形サンプル◇Xnとして出力される。
【0018】
波形データキャッシュ部74には、現在から過去の4つの復元波形サンプル◇Xn〜◇Xn-3(D1〜D4)がキャッシュされており、このキャッシュされた4つの復元波形サンプルD1〜D4が線形予測演算部73に供給される。線形予測演算部73では、この4つの復元波形サンプルD1〜D4にそれぞれの次数の線形予測係数Pを乗算して加算することにより4次の線形予測を行い、次の復元波形サンプル◇Xn+1を得るための線形予測サンプル◇Snを生成している。なお、残差符号のサンプルLnのビット数情報は、圧縮波形データのヘッダが副情報デコード部34においてデコードされることにより、副情報デコード部34から供給されており、主スケールファクタと副スケールファクタからなるスケールファクタSFおよび線形予測係数Pは前述したように副情報デコード部34においてデコードされて供給されている。
【0019】
図1に戻り、デコーダ35から出力される伸長された復元波形データは、補間部36に供給される。この場合、デコーダ35における波形データキャッシュ部74にキャッシュされている4つの復元波形サンプルD1〜D4が補間部36に供給される。そして、補間部36ではアドレス発生部32からのサンプルアドレスの小数部に基づいて、供給された4つの復元波形サンプルD1〜D4を、例えば4点補間して補間サンプルを生成する。補間部36から出力される補間サンプルは、音量EG部37において制御レジスタ20にノートオン時に設定された音量EGパラメータに基づいて音量制御され、ミキサ38に供給される。ミキサ38では全ての発音チャンネルにおける波形サンプルがチャンネル累算されると共に、効果が付与されて再生タイミング毎に出力される。ミキサ38からの出力は、ディジタル−アナログ変換器(DAC)39に供給されてアナログ信号に変換され、サウンドシステム40から放音されるようになる。
【0020】
以上説明したように、本発明の実施の形態にかかる楽音生成装置1では、波形データが図2に示す形式で波形記憶領域12aに記憶されており、その音源部30が残差符号の再生のためにサブフレームを順次読み出すことにより、各フレームの必要な残差符号のサンプルが順次取り出されると同時に、次のフレームの残差符号を伸長するための副情報が取り出されるようになっている。すなわち、音源部30には、副情報をタイミングよく取り出すための専用の回路が不要とされ、また、各サブフレームの副情報と残差符号のビット数は固定とされているので、そこから副情報と残差符号を取り出すための構成を極めて簡単な構成とすることができる。
【0021】
次に、本発明の波形伸長装置において特徴的なスケールファクタについて図4ないし図7を参照して詳細に説明する。ただし、図4ないし図6にはスケールファクタのデータ構造の異なる例がそれぞれ示されており、図7にはフレームのデータ構造の他の例が示されている。
図4(a)には、フレームの副情報におけるスケールファクタのデータ構造の第1の例が示されている。この場合、フレームは2つのサブフレームに分割されている。このデータ構造では、スケールファクタ領域に、主スケールファクタの大きさの情報(主SF)と、サブフレーム1のデコードに用いる副スケールファクタ1の大きさの情報(副SF1)と、サブフレーム2のデコードに用いる副スケールファクタ2の大きさの情報(副SF2)とが格納されている。図4(b)は主スケールファクタ(主SF)と、副スケールファクタ1(副SF1)および副スケールファクタ2(副SF2)との関係が示されている。
【0022】
図4(b)において、横軸は時間、すなわち残差符号のサンプルS1からサンプルS40までが順次並べられている。1フレームは、サンプルS1ないしサンプル20からなるサブフレーム1と、サンプルS21ないしサンプル40からなるサブフレーム2とに分割されている。この場合、サブフレーム1に該当する元波形データの変化率は、サブフレーム2に該当する元波形データの変化率より大きいため、副スケールファクタ1(副SF1)の大きさが副スケールファクタ2(副SF2)の大きさより大きくされている。このように、副スケールファクタにより圧縮前の元波形データの変化率の局部的な変動に適応することができるようになる。そして、サンプルS1ないしサンプル20(サブフレーム1)をデコードする際には、主スケールファクタ(主SF)と、副スケールファクタ1(副SF1)とを加算したスケールファクタを用いてデコードされ、サンプルS21ないしサンプル40(サブフレーム2)をデコードする際には、主スケールファクタ(主SF)と、副スケールファクタ2(副SF2)とを加算したスケールファクタを用いてデコードされるようになる。
【0023】
また、図5(a)には、フレームの副情報におけるスケールファクタのデータ構造の第2の例が示されている。この場合、フレームは4つのサブフレームに分割されている。このデータ構造では、スケールファクタ領域に、主スケールファクタの大きさの情報(主SF)と、サブフレーム1(サブ1)〜サブフレーム4(サブ4)のいずれかのサブフレームを指定する指定情報(PSFA)と、副スケールファクタの大きさの情報(PSFD)とが格納されている。図5(b)は主スケールファクタ(主SF)と、指定情報(PSFA)で位置指定された副スケールファクタ(PSFD)との関係が示されている。図5(b)において、横軸は時間、すなわち残差符号のサンプルS1からサンプルS40までが順次並べられている。1フレームは、サンプルS1ないしサンプル10からなるサブフレーム1と、サンプルS11ないしサンプル20からなるサブフレーム2と、サンプルS21ないしサンプル30からなるサブフレーム3と、サンプルS31ないしサンプル40からなるサブフレーム4とに分割されている。
【0024】
そして、図5(b)ではサンプルS21ないしサンプル30(サブフレーム3)が指定情報(PSFA)で位置指定されている。すなわち、サブフレーム3に該当する元波形データの変化率が局部的に大きくされていることから、サブフレーム3に副スケールファクタ(PSFD)が設定されている。そこで、このサブフレーム3をデコードする際には、主スケールファクタ(主SF)に、副スケールファクタ(PSFD)を加算したスケールファクタを用いてデコードする。そして、サブフレーム1,サブフレーム2,サブフレーム4をデコードする際には、主スケールファクタ(主SF)のみを用いてデコードする。このように、指定情報(PSFA)で位置指定された副スケールファクタ(PSFD)を用いるようにすると、圧縮前の元波形データの変化率がパルス状の局部的な変動とされても適応することができるようになる。
【0025】
さらに、図6(a)には、フレームの副情報におけるスケールファクタのデータ構造の第3の例が示されている。この場合、フレームは4つのサブフレームに分割されている。このデータ構造では、スケールファクタ領域に、主スケールファクタの大きさの情報(主SF)と、サブフレーム1(サブ1)〜サブフレーム4(サブ4)のいずれかのサブフレームを指定する指定情報(PSFA)と、副スケールファクタの大きさの情報(PSFD)と、各サブフレームに単位副スケールファクタ(Δ副SF)を設定するか否かのフラグF1,F2,F3,F4が格納されている。フラグF1,F2,F3,F4は、”1”あるいは”0”の1ビットの情報であり、フラグF2とフラグF4が”1”とされ、フラグF1とフラグF3が”0”とされているとする。図6(b)は主スケールファクタ(主SF)と、指定情報(PSFA)で位置指定された副スケールファクタ(PSFD)と、フラグF1,F2,F3,F4により設定される単位副スケールファクタ(Δ副SF)との関係が示されている。
【0026】
図6(b)において、横軸は時間、すなわち残差符号のサンプルS1からサンプルS40までが順次並べられている。1フレームは、サンプルS1ないしサンプル10からなるサブフレーム1と、サンプルS11ないしサンプル20からなるサブフレーム2と、サンプルS21ないしサンプル30からなるサブフレーム3と、サンプルS31ないしサンプル40からなるサブフレーム4とに分割されている。そして、図6(b)ではサンプルS21ないしサンプル30(サブフレーム3)が指定情報(PSFA)で位置指定されていると共に、フラグF2とフラグF4が”1”とされてサブフレーム2とサブフレーム4に、単位副スケールファクタ(Δ副SF)が設定されている。すなわち、サブフレーム3に該当する元波形データの変化率が局部的に大きくされていることから、サブフレーム3に副スケールファクタ(PSFD)が設定されていると共に、サブフレーム2,4に該当する元波形データの変化率が局部的に若干大きくされていることから、サブフレーム2,4に単位副スケールファクタ(Δ副SF)が設定されている。そこで、サブフレーム3をデコードする際には、主スケールファクタ(主SF)に、副スケールファクタ(PSFD)を加算したスケールファクタを用いてデコードし、サブフレーム2とサブフレーム4をデコードする際には、主スケールファクタ(主SF)に、単位副スケールファクタ(Δ副SF)を加算したスケールファクタを用いてデコードする。そして、サブフレーム1をデコードする際には、主スケールファクタ(主SF)のみを用いてデコードする。この第3の例においては、圧縮前の元波形データの変化率がパルス状等の種々の局部的な変動をしても適応することができるようになる。
【0027】
図7にはフレームのデータ構造の他の例が示されている。このデータ構造の例においては、副情報は、次のフレームの残差符号の伸長に用いる線形予測係数である予測係数情報と、次のフレームの残差符号の伸長に用いるスケールファクタの情報とその他の情報とされている。スケールファクタは図4(a)に示すデータ構造が例としてあげられており、主スケールファクタ(主SF)と、副スケールファクタ1(副SF1)および副スケールファクタ2(副SF2)から構成されている。副情報は、次のフレームにおける残差符号のサンプルをデコードするために用いられるが、図7のようなデータ構造とするとレジスタの一部を省略することができる。すなわち、あるフレームのサブフレーム1における残差符号のサンプルをデコードしている際には、その1つ前のフレームにおける第1レジスタに格納されている副スケールファクタ1(副SF1)が用いられる。この際に、当該フレームから次のフレームに使用する副スケールファクタ1(副SF1)が読み出されて第3レジスタに格納される。次いで、サブフレーム1のデコードが終了してサブフレーム2のデコードを行う際には、その1つ前のフレームにおける第2レジスタに格納されている副スケールファクタ2(副SF2)が用いられる。この際に、当該フレームから次のフレームに使用する副スケールファクタ2(副SF2)が読み出されるが、第1レジスタに格納されている副スケールファクタ1(副SF1)の使用は終了しているため、第1レジスタに上書きされるようになる。このように、図7に示すデータ構造とすると通常は4つ必要とされるレジスタを3つとすることができるようになる。
【0028】
次に、線形予測を利用して元波形データの圧縮処理を行う波形圧縮装置の構成を図8および図9に示す。
波形圧縮装置は、図8に示す初期SF算出部50と、図9に示すコーダ60とフレーム詰込部67から構成されている。コーダ60には、圧縮された1サンプルのビット数k(固定値)が予め定められて設定されている。すなわち、波形圧縮装置においては元波形データがビット数kに圧縮処理されて、フレーム化されて出力されるようになる。この際に、スケールファクタの探索が波形圧縮装置において行われる。このスケールファクタの探索では、コーダ60においてスケールファクタの値を変更しながら1フレームの区間における複数の元波形データのサンプルを順次量子化部62に供給し、その際に設定されているスケールファクタにおいて得られた1フレームの残差サンプルdnの各レベルが、許容量子化誤差レベルをほとんど超えないようになるスケールファクタの値を探索している。この場合スケールファクタを次第に大きくして適したスケールファクタを探索しているが、スケールファクタを繰り返し設定することから探索時間が長くなってしまうようになる。そこで、元波形データの性質に応じた初期スケールファクタを最初に算出することによりスケールファクタの探索時間が短くなるようにしている。この初期スケールファクタを算出する構成が図8に示す初期SF算出部50とされている。
【0029】
図8に示す初期SF算出部50には波形記憶領域12aから選択された元波形データのサンプル(以下、「元波形サンプル」という)Snが1フレーム分供給される。そして、予測係数算出部51において1フレーム分の元波形サンプルSnに基づいて線形予測係数Pが算出され、算出された線形予測係数Pは線形予測部52に供給される。線形予測部52では遅延手段により遅延された現在から過去の、例えば4サンプルに次数に応じた線形予測係数Pを乗算して加算することにより線形予測サンプル◇Sn-1が生成されている。この線形予測サンプル◇Sn-1は減算器53に供給されて、元波形サンプルSnから減算されて、減算器53から残差サンプルdnが出力される。残差サンプルdnは、残差符号のサンプルのビット数kが与えられているピーク検出およびスケールファクタ算出部54に供給され、残差サンプルdnのピークが求められる。すなわち、1フレーム分の元波形サンプルSnが順次供給されて、1フレーム分の残差サンプルdnがピーク検出およびスケールファクタ算出部54に供給された際に、残差サンプルdnの内のピーク値が検出され、検出されたピーク値の残差サンプルdnを、与えられているビット数kでオーバフローすることなく正規化して量子化することができる大きさの理想的スケールファクタSFPが算出される。このようにして算出された理想的スケールファクタSFPから定数Dが差し引かれて、初期スケールファクタ(初期SF)として初期SF算出部50から出力される。
【0030】
このようにして算出された初期スケールファクタ(初期SF)および予測係数Pは、波形圧縮装置における図9に示すコーダ60の予測係数&スケールファクタ生成部63に設定される。そして、圧縮処理前の元波形サンプルSnが減算器61に入力され、この元波形サンプルSnから線形予測部64より出力される線形予測サンプル◇Sn-1が減算されて、残差サンプルdn(=Sn−◇Sn-1)が出力される。予測係数&スケールファクタ生成部63に設定された線形予測係数Pは線形予測部64に供給され、初期スケールファクタ(初期SF)はスケールファクタSFとして量子化部62および逆量子化部66に供給される。ここで、減算器61から出力された残差サンプルdnは、供給されたスケールファクタSFに基づき量子化部62において正規化された後、量子化され設定されたビット数kにスケーリングされることにより、残差符号のサンプルLnが生成される。
【0031】
この残差符号のサンプルLnは、圧縮波形データとしてコーダ60から出力されてフレーム詰込部67に供給され、フレーム詰込部67において小フレームからなるフレームが生成されて出力される。さらに、残差符号のサンプルLnは逆量子化部66に供給されて、逆正規化されると共に逆量子化されて残差符号のサンプルLnを復号した復号波形サンプルqnが出力される。復号波形サンプルqnは加算器65において、線形予測部64より出力されている線形予測サンプル◇Sn-1が加算されて復元波形サンプル◇Xnが復元されて、線形予測部64に供給されるようになる。線形予測部64では、遅延手段により遅延されている例えば現在から過去の4つの復元波形サンプルに、それぞれの次数の線形予測係数Pが乗算されて加算されることにより4次の線形予測が行われて、次の元波形サンプルSnを圧縮処理するための次の線形予測サンプル◇Snが生成される。フレーム詰込部67には、残差符号のサンプルLnに加えて、線形予測係数PおよびスケールファクタSFとその他情報が供給されている。そして、副情報の領域に線形予測係数PおよびスケールファクタSFとその他情報が格納され、データ領域に残差符号のサンプルが格納されることにより小フレームが構成され、例えば10の小フレームにより図2に示すように1フレームが構成されるようになる。
【0032】
ところで、前述したようにスケールファクタは主スケールファクタと副スケールファクタとから構成されている。そこで、予測係数&スケールファクタ生成部63においては、設定されているスケールファクタを主スケールファクタとし、フレームを分割したサブフレーム毎に残差サンプルdnを解析して残差サンプルdnが小さくなるようにスケールファクタを調整する。このスケールファクタの調整量を副スケールファクタとする。
なお、図8に示すようなフィードバックすることなく残差符号のサンプルを求める方法を、ここではAbS(Analysys by Synthesys)なしと定義し、図9に示すようにフィードバックすることにより残差符号のサンプルを求める方法をAbSありと定義する。
【0033】
次に、本発明の波形圧縮装置において実行される1フレーム分SF探索処理のフローチャートを図10に示す。
図10に示す1フレーム分SF探索処理おいて、スケールファクタの探索が開始されると、ステップS10において波形記憶領域12aから選択された波形データのサンプル(元波形サンプル)が1フレーム分取り出される。次いで、ステップS11にて取り出された1フレーム分のサンプルが、図8に示す初期SF算出部50に供給され線形予測係数Pが算出される。そして、ステップS12においてAbSなし、すなわち図8に示す初期SF算出部50に1フレーム分の元波形サンプルが順次供給されて、線形予測係数Pを用いた元波形データからの線形予測に基づく波形圧縮が行われ、ピーク検出およびスケールファクタ算出部54に1フレーム分の残差サンプルdnが供給される。この残差サンプルdnは予測信号の誤差分に相当し、ステップS13にて1フレーム分の残差サンプルdnの最大振幅が検出され、検出された最大振幅を所定の大きさ以下とできる理想的スケールファクタSFPが求められる。そして、ステップS14において理想的スケールファクタSFPから定数Dを差し引いて初期スケールファクタ(初期SF)を算出する。ここで、定数Dを差し引くのは、理想的スケールファクタSFPより小さめの初期スケールファクタ(初期SF)として万全を期すためである。ただし、スケールファクタは対数で表されているので、ステップS14では理想的スケールファクタSFPが定数Dで除算されることになる。
【0034】
このようにして初期スケールファクタ(初期SF)が算出され、AbSありで線形予測係数Pを用いた線形予測に基づく波形圧縮が行われ、1フレーム分の残差サンプルdnが求められる。この際に、まず、量子化部62および逆量子化部66で初期SFを主スケールファクタとして用いつつAbSありの波形圧縮が行われる。その結果として得られた残差サンプルdnをフレームを分割したサブフレーム毎に解析して、残差サンプルdnの平均レベルあるいはピーク値が大きいサブフレームの副スケールファクタを大きくして、今度は主フレームファクタと副スケールファクタを用いつつAbSありの波形圧縮を行い、再び残差サンプルdnを得る。この残差サンプルdnの解析から残差サンプルdnの生成までを繰り返し行うことにより、残差サンプルdnのレベルが小さくなるよう副スケールファクタの調整が行われる。このようにして調整された副スケールファクタと、主スケールファクタと線形予測係数Pを用いてAbSありの波形圧縮を行い、最終的に1フレーム分の残差サンプルdnと残差符号Lnが求められる。ここで、1フレーム分の残差符号のサンプルLnが求められると、この残差符号のサンプルLnを復号した復元波形サンプルと元波形サンプルとの誤差であるノイズレベルがステップS16にて求められる。次いで、ステップS17にて主スケールファクタSFが最大となっているか否かが判断され、最大となっていない場合はステップS18に進む。そして、ステップS18にて元波形データとの誤差であるノイズレベルが許容量子化誤差レベルとされる閾値より小さいか否かが判断される。ここで、ノイズレベルが閾値より小さいと判断された場合は、適した主および副スケールファクタSFになっているとして1フレーム分SF探索処理は終了する。
【0035】
また、ステップS18にてノイズレベルが閾値より大きいと判断された場合は、スケールファクタが適した大きさとなっていないことからステップS19へ分岐する。ステップS19では、主スケールファクタSFを1段階大きな値に変更するとともに、閾値をその主スケールファクタに対応した値に変更してステップS15に戻るようになる。この新たな主スケールファクタの値に基づいて、ステップS15ないしステップS18の処理を繰り返し行う。そして、ノイズレベルが閾値より小さいとステップS18において判断された際に1フレーム分SF探索処理は終了する。このように、1フレーム分におけるノイズレベルが閾値未満である場合に、適したスケールファクタとなったと判断しているが、ノイズレベルが瞬間的に閾値を超える場合はこれを無視して、ノイズレベルが平均的に閾値未満となる場合に適したスケールファクタになったと判断しても良い。また、閾値の大きさをスケールファクタの大きさに応じて変更するようにしたので、ノイズレベルの大きさをスケールファクタの大きさに応じて許容することができるようになる。なお、ステップS17において主スケールファクタSFが最大値に達している場合には、主スケールファクタをそれ以上に上げることができないので、そのまま1フレーム分SF探索処理は終了する。このようにして探索されたスケールファクタSFを用いて元波形データを圧縮処理した残差符号のサンプルからなるフレーム化された波形データは、記憶手段に記憶されるようになる。
【0036】
波形圧縮装置において実行される1フレーム分SF探索処理においては、以上説明したように初期スケールファクタを算出する際に波形データの1フレーム分のサンプルを最初に初期SF算出部50に供給して、予測係数Pと初期スケールファクタとを算出している。そして、算出した予測係数Pと初期スケールファクタとをコーダ60に設定し、スケールファクタを変更することで元波形サンプルと線形予測サンプルとの誤差であるノイズレベルが許容量子化誤差レベルとされる閾値より小さくなるまで、1フレーム分の元波形サンプルをコーダ60に繰り返し供給するようにしている。このように、波形圧縮装置においては、波形データの1フレーム分のサンプルを繰り返し読み出して処理することにより、当該波形データに適した圧縮処理を行うようにしている。このように、初期SF算出部50において初期スケールファクタを算出するようにしたので、コーダ60におけるスケールファクタを探索する回数を大幅に低減することができる。これにより、圧縮処理を高速に行うことができるようになる。
【0037】
以上の説明では、残差符号のサンプルのビット数は曲毎の波形データにおいては固定としたが、各フレーム毎に残差符号のサンプルのビット数を可変にし、副情報でそのビット数を指定するようにしてもよい。この場合、副情報におけるビット数の情報は、副情報デコード部34からアドレス発生部32や残差符号キャッシュ部33に供給される。
上記した本発明の波形圧縮装置においては、線形予測による圧縮伸長を行うようにしたが、適応差分などの線形予測以外の方式で圧縮伸長を行うようにしてもよい。
【0038】
【発明の効果】
本発明は以上説明したように、量子化精度を与えるスケールファクタをフレーム全体で用いられる主スケールファクタと、サブフレームで補助的に用いられる副スケールファクタとからなるようにしたので、圧縮前の元波形データの性質に応じてスケールファクタをサブフレーム毎に調整することができるようになる。これにより、圧縮前の波形データの変化率の局部的な変動に適応することができるようになり、主スケールファクタと副スケールファクタとを用いて伸長した際に量子化ノイズを低減することができるようになる。
【図面の簡単な説明】
【図1】 本発明の実施の形態にかかる圧縮波形データを伸長する波形伸長装置を音源部に備える楽音生成装置のブロック図である。
【図2】 本発明の実施の形態にかかる圧縮波形データのデータ構造を示す図である。
【図3】 本発明の実施の形態における波形伸長装置であるデコーダの詳細構成を示す図である。
【図4】 本発明の実施の形態にかかる圧縮波形データのデータ構造におけるスケールファクタのデータ構造の第1の例を示す図である。
【図5】 本発明の実施の形態にかかる圧縮波形データのデータ構造におけるスケールファクタのデータ構造の第2の例を示す図である。
【図6】 本発明の実施の形態にかかる圧縮波形データのデータ構造におけるスケールファクタのデータ構造の第3の例を示す図である。
【図7】 本発明の実施の形態にかかる圧縮波形データのデータ構造におけるフレームのデータ構造の他の例を示す図である。
【図8】 波形圧縮装置を構成している初期SF算出部の構成を示す図である。
【図9】 波形圧縮装置を構成しているコーダの構成を示す図である。
【図10】 波形圧縮装置が実行する1フレーム分SF探索処理のフローチャートである。
【符号の説明】
1 楽音生成装置、10 CPU、11 ROM、12 RAM、12a 波形記憶領域、13 操作子、14 表示器、15 通信I/O、16 バスライン、20 制御レジスタ、30 音源部、31 フレーム読出部、32 アドレス発生部、33 残差符号キャッシュ部、34 副情報デコード部、35 デコーダ、36 補間部、37 音量EG部、38 ミキサ、40 サウンドシステム、50 初期SF算出部、51 予測係数算出部、52 線形予測部、53 減算器、54 ピーク検出およびスケールファクタ算出部、60 コーダ、61 減算器、62 量子化部、63 予測係数&スケールファクタ生成部、64 線形予測部、65 加算器、66 逆量子化部、67 フレーム詰込部、71 逆量子化部、72 加算器、73 線形予測演算部、74 波形データキャッシュ部
[0001]
BACKGROUND OF THE INVENTION
The present invention decompresses compressed waveform data Waveform expansion device It is about.
[0002]
[Prior art]
Conventionally, as one method of generating a musical sound signal in an electronic musical instrument, the instantaneous value of a musical sound waveform of a natural musical instrument is sequentially sampled and stored in advance as digital sample waveform data, and this sample is generated when a musical sound is generated. There is a PCM system in which waveform data is read to generate a musical sound signal. This PCM method is excellent in that it can generate musical sounds close to natural instruments, but the capacity of the memory for storing waveform data has become enormous. Therefore, in order to reduce the amount of waveform data, the waveform data is compressed, the compressed waveform data is stored in the memory, and the compressed waveform data is expanded during reproduction to generate a musical signal. An apparatus has been proposed (see, for example, Patent Document 1).
Also, a waveform memory sound source using a waveform memory is known in which waveform data is linearly predicted and compressed by a waveform compression device to obtain compressed waveform data, and the compressed waveform data is stored in a waveform memory. (For example, refer to Patent Document 2).
[0003]
[Problems to be solved by the invention]
In the waveform memory sound source, the data is compressed and stored in order to reduce the data amount of the compressed waveform data, but the amount of the shift down is controlled based on the limited bit length and expanded. There was a problem that the degree of quality degradation was not taken into consideration. This shift-down amount is based on the residual data peak in the frame. If pulse-like noise enters the frame, the frame shift amount becomes unreasonably large due to the influence of the noise. However, there is a problem that quantization noise increases.
[0004]
Therefore, the present invention can reduce quantization noise when decompressing compressed waveform data compressed using a scale factor that gives quantization accuracy. Waveform expansion device The purpose is to provide.
[0005]
[Patent Document 1]
Patent No. 2605434
[Patent Document 2]
Japanese Patent No. 2727798
[0006]
[Means for Solving the Problems]
In order to achieve the above object, the waveform expansion apparatus according to the present invention is configured such that a scale factor that gives quantization accuracy is composed of a main scale factor used in the entire frame and a sub scale factor used supplementarily in the subframe. Therefore, the scale factor can be adjusted for each subframe according to the nature of the original waveform data before compression. This makes it possible to adapt to local fluctuations in the rate of change of waveform data before compression, and to reduce quantization noise when decompressing using the main scale factor and subscale factor. It becomes like this. Then, the size of the subscale factor for each subframe may be included in the subinformation, or the subframe position information may be included in the subinformation to specify the subframe using the subscale factor.
[0007]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram of a musical sound generating apparatus provided with a waveform expansion device for expanding compressed waveform data according to the present invention in a sound source section. This musical tone generator is provided in the present invention. Characteristic Storage means for storing compressed waveform data having a data structure is also provided.
In the musical sound generating apparatus 1 shown in FIG. 1, the CPU 10 is a central processing unit that controls the operation of musical sound generation in the musical sound generating apparatus 1 by executing various programs related to musical sound generation. That is, when a sound generation start instruction (note-on) is generated by operating the performance operator, automatic performance, input from the communication I / O, or the like, generation of a tone corresponding to the sound generation start instruction is started to the sound source unit 30. I am instructing. A ROM (Read Only Memory) 11 is, for example, a flash ROM, and stores a program for musical tone generation processing executed by the CPU 10 and various data. A RAM (Random Access Memory) 12 is a main memory in the musical tone generating apparatus 1, and is included in the present invention. Characteristic The rewritable storage means includes a waveform storage area 12a in which compressed waveform data having a data structure is stored, and an area such as a work area of the CPU 10 is set. The waveform storage area 12a can store a plurality of pieces of compressed waveform data.
[0008]
The operation element 13 is a performance operation element such as a keyboard or a panel switch for performing various settings, and the display unit 14 is a display unit including a liquid crystal or the like for displaying various types of information when a musical sound is generated. The communication I / O 15 is a network interface for connecting to a server computer via a communication network such as a LAN (Local Area Network), the Internet, or a telephone line. Via this communication I / O 15, it is possible to send out a MIDI message created inside the musical tone generating device 1 and to receive a MIDI message from the outside. The control register 20 is a register in which the sound generation parameters of each sound generation channel are written from the CPU 10. The sound source unit 30 includes a decoder that performs decompression processing of compressed waveform data that is compressed in units of frames, and based on the control of the CPU 10, compressed waveform data that is necessary for musical tone generation from the waveform storage area 12 a of the RAM 12. Are read for each small frame, which will be described later, and the decompressed process of the read compressed waveform data is performed. Then, processing such as interpolation of the decoded waveform data, envelope addition, channel accumulation (mixing), and effect (effect) addition are performed and output as musical sound waveform data. The musical sound waveform data output from the sound source unit 30 is converted into an analog signal and emitted from the sound system 40. Each unit is connected via a bus line 16.
[0009]
Next, before describing the sound source unit 30, it is stored in the waveform storage area 12a of the RAM 12. Compressed waveform data The data structure will be described with reference to FIG.
FIG. 2 shows waveform data for one piece of compressed waveform data stored in the waveform storage area 12a. The compressed waveform data shown in FIG. 2 includes header information in which information relating to the entire compressed waveform data is written, and frames 1 to n that contain the compressed waveform data. The header information includes the number of bits of the residual code, which is compressed waveform data, the read start address, the read end address, the loop address, the prediction coefficient and scale factor of the first frame, and other data. The data structure of each frame in which a residual code sample, which is compressed waveform data, is written is the same. FIG. 2 shows the data structure of frame 2 as an example. For example, one frame has a data amount corresponding to 10 addresses from “00” to “09” as shown in the figure, and the data width corresponding to one address can be defined as a small frame. That is, one frame shown in FIG. 2 is composed of ten small frames. This small frame consists of sub information and a residual code.
[0010]
In this case, the number of bits of the sub information is a predetermined number of bits, and the number of bits of one sample of the residual code is determined for each waveform data so as to be suitable for the properties of the original waveform data before compression. The number of bits is fixed. When the data width of the small frame is 16 bits as shown in FIG. 2 and the number of bits of one sample of the residual code is fixed to 3 bits, for example, a 4-bit data area is allocated to the sub information. A 12-bit data area is allocated to the residual code, and the number of samples in one small frame is 4. If the number of bits of one sample of the residual code is fixed to 6 bits, the number of samples of one small frame is 2 as shown in the lower stage of the residual code in FIG. Similarly, if the number of bits of one sample of the residual code that is fixed is 4 bits, the number of samples of one small frame is 3 as shown in the lower stage of the residual code in FIG. If the number of bits of one sample of the residual code is 2 bits, the number of samples of one small frame is 6 as shown in the lower stage of the residual code in FIG. When the data width of a small frame is 16 bits, the number of bits constituting one frame is 160 bits, of which 40-bit data area is sub-information area and the remaining 120-bit data area is remaining. This is the difference code area. As described above, the number of samples of the residual code in one frame or one small frame is changed according to the number of bits of one sample of the residual code fixed for each music piece.
[0011]
Further, one frame is divided into a plurality of subframes. In the example illustrated in FIG. 2, an example in which the first subframe (sub1) and the second subframe (sub2) are divided into two subframes, and the first subframe (sub1) to the fourth subframe ( An example of sub-division into four sub-frames of sub 4) is shown. Here, if the number of bits of the residual code sample is 3 bits as shown in the figure, when divided into two subframes, samples 1 to 20 are accommodated in the first subframe, and samples 21 to 40 is accommodated in the second subframe. When divided into four subframes, samples 1 to 10 are accommodated in the first subframe, samples 11 to 20 are accommodated in the second subframe, and samples 21 to 30 are accommodated in the third subframe. Thus, the samples 31 to 40 are accommodated in the fourth subframe.
[0012]
By the way, the sub information includes prediction coefficient information which is a linear prediction coefficient used for decompressing the residual code of the next frame, a scale factor used for decompressing the residual code of the next frame, and other information. The scale factor is a factor for denormalizing a plurality of residual codes constituting one frame, and is composed of a main scale factor used in the entire frame and a subscale factor used supplementarily in the subframe. . This is to adapt to local fluctuations in the rate of change of the original waveform data before compression, as will be described later, and with the scale factor composed of a main scale factor and a subscale factor, As described above, it is divided into a plurality of subframes. If the main scale factor and the subscale factor are stored not as absolute values but as a ratio between frames or a difference in logarithmic scale, the efficiency of the information amount with respect to the number of bits can be improved. When the main scale factor and the subscale factor are ratios between frames or a difference in logarithmic scale, they are converted into absolute values at the time of inverse quantization and multiplied by the residual code. Other information may be information such as volume information and loop address of waveform data.
[0013]
Next, the sound generator 30 will be described. The address generator 32 generates a sample counter for accumulating frequency information (F number) and a read address for reading compressed waveform data from the waveform storage area 12a in the RAM 12 for each small frame. A memory counter is provided. The sample counter accumulates the F number which is the pitch shift amount of the waveform data corresponding to the specified pitch, generates a sample address consisting of an integer part and a decimal part, and uses the integer part as a residual code cache The remaining fractional parts are supplied to the unit 33 to the interpolation unit 36, respectively. A request pulse is output every time the integer part of the sample address reaches the number of samples in the small frame. Note that the number of samples in the small frame differs depending on the number of bits of one sample of the residual code as described above with reference to FIG. The memory counter of the address generator 32 generates a read address for reading out a small frame by incrementing the memory address by one each time a request pulse is input from the sample counter.
[0014]
Each time a request pulse output from the sample counter of the address generator 32 is input, the frame reading unit 31 is a small frame indicated by a memory address supplied from the waveform storage area 12a of the RAM 12 from the memory counter of the address generator 32. Read the data. The sub information in the read small frame data is supplied to the sub information decoding unit 34, and the residual code sample of the read small frame data is supplied to the residual code cache unit 33. The sub information decoding unit 34 sequentially collects sub information of each small frame supplied from the frame reading unit 31 in a period of one frame, and decodes each data of the sub information. The decoded prediction coefficient information and scale factor are supplied to the decoder 35 and other data are supplied to each block of the sound source unit 30 during the next frame period of the frame. That is, the sub information of each frame is not sub frame but used in the next frame.
[0015]
In the residual code cache unit 33, the latest three small frames among the read small frames are held in the cache. Then, according to the integer part of the sample address from the address generation unit 32, a number of residual code samples corresponding to the amount of progress of the integer part are taken out from the three cached small frames, and the taken out residual is obtained. Code samples are sent to the decoder 35. In the decoder (cache) 35, every time a residual code sample is sent from the residual code cache unit 33, the residual code sample is decoded by fourth-order linear prediction expansion to obtain a restored waveform sample. . For example, 4 samples of the restored waveform samples are stored in the waveform data cache in the decoder 35.
[0016]
Here, when a sound generation start instruction (note-on) is generated by operation of the performance operator, automatic performance, input from the communication I / O, or the like, the CPU 10 sends a musical sound corresponding to the sound generation start instruction to the sound source unit 30. The generation start is instructed. The procedure in this case is as follows. Depending on the note-on (part PT, pitch N, intensity V)
(1) One of a plurality of sound generation channels of the sound source unit 30 is assigned to the generation of the musical sound.
(2) One of the waveform data stored in the waveform storage area 12a is selected based on the timbre data (on the RAM 12) currently selected in the part PT, and the pitch shift amount, volume EG parameter, LFO parameter, The output level and the like are set in the tone generation channel area assigned by the control register 20.
(3) Read the header of the selected waveform data, and read the number of bits of the residual code, the read start address, the read end address, the loop address, the prediction coefficient of the first frame, the scale factor and other data, Set to area. Each address in this case may be an address in units of frames.
(4) Write note-on in the sounding channel area.
As a result, the generation of the musical tone is started in the sound source unit 30.
[0017]
Next, FIG. 3 shows a configuration of the decoder 35 which is a waveform expansion device in the embodiment of the present invention. The decoder 35 is provided in the sound source unit 30, and a residual code sample L supplied from the residual code cache unit 33. n Is the sample L based on the bit number information of the residual code sample in the inverse quantization unit 71 in the decoder 35. n Extracted every time. Sample L of the extracted residual code n Is the main scale factor in the scale factor SF that gives the quantization accuracy, and the residual code sample L n Each sample L based on the scale factor obtained by adding the subscale factors in the subframe to which the n Are denormalized and dequantized. As a result, the residual code sample L from the inverse quantization unit 71. n A decoded waveform sample qn decoded every time is output. The decoded waveform sample qn is supplied to the adder 72 and output from the linear prediction calculation unit 73. n-1 Is added to restore waveform sample ◇ X n Is restored. Restored waveform sample ◇ X n Is cached in the waveform data cache unit 74 and restored waveform sample ◇ X which is expanded waveform data n Is output as
[0018]
The waveform data cache unit 74 has four restored waveform samples ◇ X from the present to the past. n ~ ◇ X n-3 (D1 to D4) are cached, and the four restored waveform samples D1 to D4 cached are supplied to the linear prediction calculation unit 73. The linear prediction calculation unit 73 performs the fourth-order linear prediction by multiplying the four restored waveform samples D1 to D4 by the linear prediction coefficients P of the respective orders and adds them, and the next restored waveform sample ◇ X n + 1 Linear prediction sample to obtain ◇ S n Is generated. Note that the residual code sample L n The number-of-bits information is supplied from the sub information decoding unit 34 when the header of the compressed waveform data is decoded by the sub information decoding unit 34. The scale factor SF including the main scale factor and the sub scale factor and linear prediction are supplied. The coefficient P is decoded and supplied by the sub information decoding unit 34 as described above.
[0019]
Returning to FIG. 1, the decompressed restored waveform data output from the decoder 35 is supplied to the interpolation unit 36. In this case, the four restored waveform samples D1 to D4 cached in the waveform data cache unit 74 in the decoder 35 are supplied to the interpolation unit 36. Based on the fractional part of the sample address from the address generation unit 32, the interpolation unit 36 interpolates the supplied four restored waveform samples D1 to D4, for example, to generate an interpolation sample. The volume of the interpolated sample output from the interpolation unit 36 is controlled by the volume EG unit 37 based on the volume EG parameter set in the control register 20 when the note is turned on, and is supplied to the mixer 38. In the mixer 38, waveform samples in all sound generation channels are accumulated, and an effect is given and output at every reproduction timing. The output from the mixer 38 is supplied to a digital-analog converter (DAC) 39 to be converted into an analog signal and emitted from the sound system 40.
[0020]
As described above, in the musical sound generating apparatus 1 according to the embodiment of the present invention, the waveform data is stored in the waveform storage area 12a in the format shown in FIG. 2, and the sound source unit 30 reproduces the residual code. Therefore, by sequentially reading out the subframes, necessary residual code samples of each frame are sequentially extracted, and at the same time, sub information for expanding the residual code of the next frame is extracted. That is, the sound source unit 30 does not require a dedicated circuit for taking out the sub information in a timely manner, and the sub information of each subframe and the number of bits of the residual code are fixed. A configuration for extracting information and a residual code can be made very simple.
[0021]
Next, the present invention Waveform expansion device The characteristic scale factor will be described in detail with reference to FIGS. However, FIGS. 4 to 6 show different examples of the scale factor data structure, and FIG. 7 shows another example of the frame data structure.
FIG. 4A shows a first example of the data structure of the scale factor in the sub information of the frame. In this case, the frame is divided into two subframes. In this data structure, in the scale factor area, information on the size of the main scale factor (main SF), information on the size of the sub scale factor 1 used for decoding of the subframe 1 (sub SF1), and information on the subframe 2 Information on the size of the sub-scale factor 2 (sub-SF2) used for decoding is stored. FIG. 4B shows the relationship between the main scale factor (main SF) and the sub scale factor 1 (sub SF1) and sub scale factor 2 (sub SF2).
[0022]
In FIG. 4B, the horizontal axis indicates time, that is, the residual code samples S1 to S40 are sequentially arranged. One frame is divided into a subframe 1 composed of samples S1 to 20 and a subframe 2 composed of samples S21 to 40. In this case, since the change rate of the original waveform data corresponding to subframe 1 is larger than the change rate of the original waveform data corresponding to subframe 2, the magnitude of subscale factor 1 (subSF1) is subscale factor 2 ( It is made larger than the size of the sub SF2). In this way, it becomes possible to adapt to local fluctuations in the rate of change of the original waveform data before compression by the sub-scale factor. When the samples S1 to 20 (subframe 1) are decoded, the sample S21 is decoded using a scale factor obtained by adding the main scale factor (main SF) and the subscale factor 1 (subSF1). In addition, when the sample 40 (subframe 2) is decoded, it is decoded using a scale factor obtained by adding the main scale factor (main SF) and the subscale factor 2 (subSF2).
[0023]
FIG. 5A shows a second example of the data structure of the scale factor in the sub information of the frame. In this case, the frame is divided into four subframes. In this data structure, information on the size of the main scale factor (main SF) and designation information for designating any subframe of subframe 1 (sub1) to subframe 4 (sub4) in the scale factor area (PSFA) and sub-scale factor size information (PSFD) are stored. FIG. 5B shows the relationship between the main scale factor (main SF) and the sub scale factor (PSFD) whose position is specified by the designation information (PSFA). In FIG. 5B, the horizontal axis indicates time, that is, the residual code samples S1 to S40 are sequentially arranged. One frame includes subframe 1 composed of samples S1 to sample 10, subframe 2 composed of samples S11 to sample 20, subframe 3 composed of samples S21 to sample 30, and subframe 4 composed of samples S31 to sample 40. It is divided into and.
[0024]
In FIG. 5B, the positions of samples S21 to 30 (subframe 3) are designated by designation information (PSFA). That is, since the change rate of the original waveform data corresponding to subframe 3 is locally increased, a subscale factor (PSFD) is set in subframe 3. Therefore, when subframe 3 is decoded, it is decoded using a scale factor obtained by adding a subscale factor (PSFD) to a main scale factor (main SF). When subframe 1, subframe 2, and subframe 4 are decoded, decoding is performed using only the main scale factor (main SF). As described above, when the subscale factor (PSFD) whose position is specified by the specification information (PSFA) is used, the change rate of the original waveform data before compression is adapted to be a pulse-like local variation. Will be able to.
[0025]
Further, FIG. 6A shows a third example of the data structure of the scale factor in the sub information of the frame. In this case, the frame is divided into four subframes. In this data structure, information on the size of the main scale factor (main SF) and designation information for designating any subframe of subframe 1 (sub1) to subframe 4 (sub4) in the scale factor area (PSFA), sub-scale factor size information (PSFD), and flags F1, F2, F3, F4 indicating whether to set a unit sub-scale factor (Δ sub-SF) in each sub-frame are stored. Yes. The flags F1, F2, F3, and F4 are 1-bit information of “1” or “0”, the flags F2 and F4 are “1”, and the flags F1 and F3 are “0”. And FIG. 6B shows a main scale factor (main SF), a sub scale factor (PSFD) specified by position information (PSFA), and unit sub scale factors (set by flags F1, F2, F3, F4). The relationship with Δ sub SF) is shown.
[0026]
In FIG. 6B, the horizontal axis represents time, that is, the residual code samples S1 to S40 are sequentially arranged. One frame consists of subframe 1 consisting of samples S1 to sample 10, subframe 2 consisting of samples S11 to sample 20, subframe 3 consisting of samples S21 to sample 30, and subframe 4 consisting of samples S31 to sample 40. It is divided into and. In FIG. 6B, the positions of the samples S21 to 30 (subframe 3) are designated by the designation information (PSFA), and the flags F2 and F4 are set to “1” so that the subframe 2 and the subframe are designated. 4, a unit sub-scale factor (Δ sub-SF) is set. That is, since the change rate of the original waveform data corresponding to subframe 3 is locally increased, a subscale factor (PSFD) is set in subframe 3 and it corresponds to subframes 2 and 4. Since the rate of change of the original waveform data is slightly increased locally, a unit subscale factor (ΔsubSF) is set in subframes 2 and 4. Therefore, when subframe 3 is decoded, decoding is performed using a scale factor obtained by adding the subscale factor (PSFD) to the main scale factor (main SF), and subframe 2 and subframe 4 are decoded. Is decoded using a scale factor obtained by adding a unit sub-scale factor (Δ sub-SF) to the main scale factor (main SF). When subframe 1 is decoded, decoding is performed using only the main scale factor (main SF). In the third example, the change rate of the original waveform data before compression can be adapted to various local fluctuations such as a pulse shape.
[0027]
FIG. 7 shows another example of the data structure of the frame. In this example of the data structure, the sub-information includes prediction coefficient information that is a linear prediction coefficient used for decompressing the residual code of the next frame, information on the scale factor used for decompressing the residual code of the next frame, and other information. Information. The scale factor has a data structure shown in FIG. 4A as an example, and is composed of a main scale factor (main SF), a sub scale factor 1 (sub SF1), and a sub scale factor 2 (sub SF2). Yes. The sub information is used for decoding the residual code sample in the next frame, but if the data structure is as shown in FIG. 7, a part of the register can be omitted. That is, when decoding a residual code sample in subframe 1 of a certain frame, subscale factor 1 (subSF1) stored in the first register in the previous frame is used. At this time, the subscale factor 1 (subSF1) used for the next frame is read from the frame and stored in the third register. Next, when decoding of subframe 1 is completed and subframe 2 is decoded, subscale factor 2 (subSF2) stored in the second register in the previous frame is used. At this time, the subscale factor 2 (subSF2) used for the next frame is read out from the frame, but the use of the subscale factor 1 (subSF1) stored in the first register has ended. The first register is overwritten. As described above, if the data structure shown in FIG. 7 is used, four registers that are normally required can be three.
[0028]
Next, a configuration of a waveform compression apparatus that performs compression processing of original waveform data using linear prediction is shown in FIGS.
The waveform compression apparatus includes an initial SF calculation unit 50 shown in FIG. 8, a coder 60 and a frame filling unit 67 shown in FIG. In the coder 60, a compressed bit number k (fixed value) of one sample is determined and set in advance. That is, in the waveform compression apparatus, the original waveform data is compressed to the number of bits k, and is framed and output. At this time, the scale factor search is performed in the waveform compression apparatus. In the search for the scale factor, the coder 60 sequentially supplies a plurality of samples of the original waveform data in the section of one frame to the quantizing unit 62 while changing the value of the scale factor, and the scale factor set at that time is used. A search is made for a scale factor value at which each level of the obtained residual sample dn of one frame hardly exceeds the allowable quantization error level. In this case, the scale factor is gradually increased to search for a suitable scale factor. However, since the scale factor is repeatedly set, the search time becomes longer. Thus, the initial scale factor corresponding to the nature of the original waveform data is calculated first so that the scale factor search time is shortened. The configuration for calculating the initial scale factor is the initial SF calculation unit 50 shown in FIG.
[0029]
The initial SF calculation unit 50 shown in FIG. 8 includes a sample of original waveform data selected from the waveform storage area 12a (hereinafter referred to as “original waveform sample”) S. n Is supplied for one frame. Then, in the prediction coefficient calculation unit 51, an original waveform sample S for one frame. n The linear prediction coefficient P is calculated based on the above, and the calculated linear prediction coefficient P is supplied to the linear prediction unit 52. The linear prediction unit 52 multiplies and adds the linear prediction coefficient P corresponding to the order to, for example, four samples from the present to the past, which are delayed by the delay means, and adds them. n-1 Has been generated. This linear prediction sample ◇ S n-1 Is supplied to the subtractor 53 and the original waveform sample S n The subtractor 53 outputs a residual sample dn. The residual sample dn is supplied to the peak detection and scale factor calculation unit 54 to which the bit number k of the residual code sample is given, and the peak of the residual sample dn is obtained. That is, the original waveform sample S for one frame n Are sequentially supplied, and when the residual sample dn for one frame is supplied to the peak detection and scale factor calculation unit 54, the peak value of the residual sample dn is detected, and the residual of the detected peak value is detected. An ideal scale factor SFP that is large enough to normalize and quantize the difference sample dn without overflowing with a given number of bits k is calculated. The constant D is subtracted from the ideal scale factor SFP thus calculated, and the initial scale factor (initial SF) is output from the initial SF calculator 50.
[0030]
The initial scale factor (initial SF) and the prediction coefficient P calculated in this way are set in the prediction coefficient & scale factor generation unit 63 of the coder 60 shown in FIG. 9 in the waveform compression apparatus. And the original waveform sample S before compression processing n Is input to the subtractor 61, and this original waveform sample S n Linear prediction sample ◇ S output from the linear prediction unit 64 n-1 Are subtracted and the residual sample dn (= S n -◇ S n-1 ) Is output. The linear prediction coefficient P set in the prediction coefficient & scale factor generation unit 63 is supplied to the linear prediction unit 64, and the initial scale factor (initial SF) is supplied as the scale factor SF to the quantization unit 62 and the inverse quantization unit 66. The Here, the residual sample dn output from the subtractor 61 is normalized by the quantization unit 62 based on the supplied scale factor SF, and then is quantized and scaled to the set number of bits k. , A residual code sample Ln is generated.
[0031]
The residual code sample Ln is output as compressed waveform data from the coder 60 and supplied to the frame stuffing unit 67, where a frame consisting of small frames is generated and output. Further, the residual code sample Ln is supplied to the inverse quantization unit 66, and is subjected to inverse normalization and inverse quantization to output a decoded waveform sample qn obtained by decoding the residual code sample Ln. The decoded waveform sample qn is added to the linear prediction sample ◇ S output from the linear prediction unit 64 in the adder 65. n-1 Is added to restore waveform sample ◇ X n Is restored and supplied to the linear prediction unit 64. The linear prediction unit 64 performs fourth-order linear prediction by multiplying and adding, for example, the four restored waveform samples from the present to the past, which are delayed by the delay means, with the respective linear prediction coefficients P. The next original waveform sample S n Next linear prediction sample for compressing ◇ S n Is generated. The frame stuffing portion 67 includes a residual code sample L n In addition, the linear prediction coefficient P and the scale factor SF and other information are supplied. Then, a linear prediction coefficient P and a scale factor SF and other information are stored in the sub information area, and a residual code sample is stored in the data area, and a small frame is formed. As shown in FIG. 1, one frame is configured.
[0032]
Incidentally, as described above, the scale factor is composed of a main scale factor and a subscale factor. Therefore, the prediction coefficient & scale factor generation unit 63 sets the set scale factor as the main scale factor, analyzes the residual sample dn for each subframe obtained by dividing the frame, and reduces the residual sample dn. Adjust the scale factor. The adjustment amount of this scale factor is set as a subscale factor.
Here, the method of obtaining the residual code sample without feedback as shown in FIG. 8 is defined as AbS (Analysys by Synthesys), and the residual code sample is fed back as shown in FIG. Is defined as AbS.
[0033]
Next, FIG. 10 shows a flowchart of the SF search process for one frame executed in the waveform compression apparatus of the present invention.
In the SF search process for one frame shown in FIG. 10, when the search for the scale factor is started, the sample of waveform data (original waveform sample) selected from the waveform storage area 12a in step S10 is extracted for one frame. Next, the sample for one frame extracted in step S11 is supplied to the initial SF calculation unit 50 shown in FIG. 8, and the linear prediction coefficient P is calculated. In step S12, there is no AbS, that is, the original waveform samples for one frame are sequentially supplied to the initial SF calculation unit 50 shown in FIG. 8, and waveform compression based on linear prediction from the original waveform data using the linear prediction coefficient P is performed. The residual sample dn for one frame is supplied to the peak detection and scale factor calculation unit 54. This residual sample dn corresponds to the error of the prediction signal, and the maximum scale of the residual sample dn for one frame is detected in step S13, and an ideal scale that can make the detected maximum amplitude equal to or smaller than a predetermined size. A factor SFP is determined. In step S14, an initial scale factor (initial SF) is calculated by subtracting a constant D from the ideal scale factor SFP. Here, the reason for subtracting the constant D is to make sure that the initial scale factor (initial SF) is smaller than the ideal scale factor SFP. However, since the scale factor is expressed in logarithm, the ideal scale factor SFP is divided by the constant D in step S14.
[0034]
In this way, the initial scale factor (initial SF) is calculated, waveform compression based on linear prediction using Ab and the linear prediction coefficient P is performed, and a residual sample dn for one frame is obtained. At this time, first, waveform compression with AbS is performed in the quantization unit 62 and the inverse quantization unit 66 while using the initial SF as the main scale factor. The residual sample dn obtained as a result is analyzed for each subframe obtained by dividing the frame, and the subscale factor of the subframe having a large average level or peak value of the residual sample dn is increased. The waveform compression with AbS is performed using the factor and the subscale factor, and the residual sample dn is obtained again. By repeatedly performing from the analysis of the residual sample dn to the generation of the residual sample dn, the subscale factor is adjusted so that the level of the residual sample dn is reduced. Waveform compression with AbS is performed using the subscale factor adjusted in this way, the main scale factor, and the linear prediction coefficient P, and finally, the residual sample dn and the residual code L for one frame. n Is required. Here, the residual code sample L for one frame n Is obtained, a sample L of this residual code is obtained. n In step S16, a noise level that is an error between the restored waveform sample obtained by decoding and the original waveform sample is obtained. Next, in step S17, it is determined whether or not the main scale factor SF is maximum. If not, the process proceeds to step S18. In step S18, it is determined whether or not the noise level that is an error from the original waveform data is smaller than a threshold value that is set as an allowable quantization error level. Here, if it is determined that the noise level is smaller than the threshold value, the SF search process for one frame is completed assuming that the main and sub scale factors SF are suitable.
[0035]
If it is determined in step S18 that the noise level is greater than the threshold, the process branches to step S19 because the scale factor is not suitable. In step S19, the main scale factor SF is changed to a value larger by one step, the threshold value is changed to a value corresponding to the main scale factor, and the process returns to step S15. Based on the new value of the main scale factor, the processing from step S15 to step S18 is repeated. Then, when it is determined in step S18 that the noise level is smaller than the threshold value, the SF search process for one frame ends. As described above, when the noise level in one frame is less than the threshold, it is determined that the scale factor is suitable. However, if the noise level instantaneously exceeds the threshold, this is ignored and the noise level is ignored. It may be determined that the scale factor is suitable when the average value is less than the threshold value. In addition, since the threshold value is changed according to the scale factor, the noise level can be allowed according to the scale factor. If the main scale factor SF has reached the maximum value in step S17, the main scale factor cannot be increased further, and the SF search process for one frame is finished as it is. The framed waveform data composed of the residual code samples obtained by compressing the original waveform data using the scale factor SF searched in this way is stored in the storage means.
[0036]
In the SF search process for one frame executed in the waveform compression apparatus, as described above, when calculating the initial scale factor, the sample for one frame of the waveform data is first supplied to the initial SF calculation unit 50, A prediction coefficient P and an initial scale factor are calculated. Then, the calculated prediction coefficient P and the initial scale factor are set in the coder 60, and the threshold at which the noise level, which is the error between the original waveform sample and the linear prediction sample, is changed to the allowable quantization error level by changing the scale factor. The original waveform sample for one frame is repeatedly supplied to the coder 60 until it becomes smaller. As described above, in the waveform compression apparatus, compression processing suitable for the waveform data is performed by repeatedly reading and processing the sample for one frame of the waveform data. Thus, since the initial scale factor is calculated in the initial SF calculation unit 50, the number of times the coder 60 searches for the scale factor can be significantly reduced. As a result, the compression process can be performed at high speed.
[0037]
In the above description, the number of bits of the residual code sample is fixed in the waveform data for each song, but the number of bits of the residual code sample is variable for each frame, and the number of bits is specified by the sub information. You may make it do. In this case, information on the number of bits in the sub information is supplied from the sub information decoding unit 34 to the address generation unit 32 and the residual code cache unit 33.
In the waveform compression apparatus of the present invention described above, compression / expansion is performed by linear prediction, but compression / expansion may be performed by a method other than linear prediction such as adaptive difference.
[0038]
【The invention's effect】
As described above, according to the present invention, the scale factor giving the quantization accuracy is composed of the main scale factor used in the entire frame and the sub scale factor used supplementarily in the subframe. The scale factor can be adjusted for each subframe according to the nature of the waveform data. This makes it possible to adapt to local fluctuations in the rate of change of waveform data before compression, and to reduce quantization noise when decompressing using the main scale factor and subscale factor. It becomes like this.
[Brief description of the drawings]
BRIEF DESCRIPTION OF DRAWINGS FIG. 1 is a block diagram of a musical sound generation device including a waveform decompression device for decompressing compressed waveform data according to an embodiment of the present invention in a sound source unit.
FIG. 2 is a diagram showing a data structure of compressed waveform data according to the embodiment of the present invention.
FIG. 3 is a diagram showing a detailed configuration of a decoder which is a waveform expansion device according to an embodiment of the present invention.
FIG. 4 is a diagram showing a first example of a scale factor data structure in the compressed waveform data structure according to the embodiment of the present invention;
FIG. 5 is a diagram showing a second example of the data structure of the scale factor in the data structure of the compressed waveform data according to the embodiment of the present invention.
FIG. 6 is a diagram showing a third example of a scale factor data structure in the compressed waveform data structure according to the embodiment of the present invention;
FIG. 7 is a diagram showing another example of the frame data structure in the data structure of the compressed waveform data according to the embodiment of the present invention;
FIG. 8 is a diagram illustrating a configuration of an initial SF calculation unit configuring the waveform compression device.
FIG. 9 is a diagram showing a configuration of a coder constituting the waveform compression device.
FIG. 10 is a flowchart of SF search processing for one frame executed by the waveform compression apparatus.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 Musical sound production | generation apparatus, 10 CPU, 11 ROM, 12 RAM, 12a Waveform storage area, 13 Operator, 14 Display, 15 Communication I / O, 16 Bus line, 20 Control register, 30 Sound source part, 31 Frame reading part, 32 Address generator, 33 Residual code cache, 34 Sub information decoder, 35 Decoder, 36 Interpolator, 37 Volume EG, 38 Mixer, 40 Sound system, 50 Initial SF calculator, 51 Prediction coefficient calculator, 52 Linear prediction unit, 53 subtractor, 54 peak detection and scale factor calculation unit, 60 coder, 61 subtractor, 62 quantization unit, 63 prediction coefficient & scale factor generation unit, 64 linear prediction unit, 65 adder, 66 inverse quantum Conversion unit, 67 frame filling unit, 71 inverse quantization unit, 72 adder, 73 linear prediction calculation unit, 74 waveform data cache Shu

Claims (4)

フレーム毎に異ならせることの可能な量子化精度を与えるスケールファクタにより圧縮されている圧縮波形データをデコードする波形伸長装置であって、
前記フレーム中の副情報をデコードする副情報デコード手段と、
該副情報デコード手段によりデコードされた副情報の少なくとも前記スケールファクタの情報を用いて、前記フレームにおける圧縮符号化されている残差符号のサンプルをデコードする残差符号デコード手段とを備え、
前記フレームは複数のサブフレームに分割されており、前記スケールファクタはフレーム全体で用いられる主スケールファクタと、前記サブフレームで補助的に用いられる副スケールファクタとからなり、前記残差符号デコード手段が残差符号のサンプルをデコードする際に、当該サンプルが属するサブフレームに設定されている前記副スケールファクタと、前記主スケールファクタとに基づいてデコードするようにしたことを特徴とする波形伸長装置。
A waveform decompression device that decodes compressed waveform data compressed by a scale factor that gives quantization accuracy that can be different for each frame,
Sub-information decoding means for decoding sub-information in the frame;
Using at least the scale factor information of the sub information decoded by the sub information decoding means, and comprising a residual code decoding means for decoding a sample of the residual code that has been compression encoded in the frame,
The frame is divided into a plurality of subframes, and the scale factor includes a main scale factor used in the entire frame and a subscale factor used supplementarily in the subframe, and the residual code decoding means A waveform expansion apparatus, wherein when decoding a residual code sample, decoding is performed based on the sub-scale factor set in a subframe to which the sample belongs and the main scale factor.
前記副情報、前記主スケールファクタと、前記サブフレーム毎の前記副スケールファクタとの大きさの情報とからなることを特徴とする請求項記載の圧縮波形データの波形伸長装置The sub information, the main and the scale factor, the waveform decompression device of the compressed waveform data according to claim 1, characterized in that the the size of the information of the sub scale factor for each of the sub-frame. 前記副情報、前記主スケールファクタと、前記副スケールファクタを用いる前記サブフレームの位置情報と、前記副スケールファクタの大きさの情報とからなることを特徴とする請求項記載の波形伸長装置The sub information includes the main scale factor, the position information of the subframe using the sub scale factor, the waveform expansion apparatus according to claim 1, characterized in that it consists of a sub-scale factor of the size of the information . 前記副情報、前記主スケールファクタの大きさの情報と、前記サブフレーム毎の第1副スケールファクタの設定情報と、第2副スケールファクタを用いる前記サブフレームの位置情報と、前記第2副スケールファクタの大きさの情報とからなることを特徴とする請求項記載の波形伸長装置The sub information includes information on the size of the main scale factor, setting information on the first sub scale factor for each sub frame, position information on the sub frame using a second sub scale factor, and the second sub scale factor. waveform expansion apparatus according to claim 1, comprising the the size of the information of the scale factor.
JP2003082924A 2003-03-25 2003-03-25 Waveform expansion device Expired - Lifetime JP3933073B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003082924A JP3933073B2 (en) 2003-03-25 2003-03-25 Waveform expansion device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003082924A JP3933073B2 (en) 2003-03-25 2003-03-25 Waveform expansion device

Publications (2)

Publication Number Publication Date
JP2004294492A JP2004294492A (en) 2004-10-21
JP3933073B2 true JP3933073B2 (en) 2007-06-20

Family

ID=33398550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003082924A Expired - Lifetime JP3933073B2 (en) 2003-03-25 2003-03-25 Waveform expansion device

Country Status (1)

Country Link
JP (1) JP3933073B2 (en)

Also Published As

Publication number Publication date
JP2004294492A (en) 2004-10-21

Similar Documents

Publication Publication Date Title
US5744739A (en) Wavetable synthesizer and operating method using a variable sampling rate approximation
US7692087B2 (en) Compressed data structure and apparatus and method related thereto
US6096960A (en) Period forcing filter for preprocessing sound samples for usage in a wavetable synthesizer
EP0680654B1 (en) Text-to-speech system using vector quantization based speech encoding/decoding
JP2002335161A (en) Signal processor and processing method, signal encoder and encoding method, signal decoder and decoding method
JPH10319996A (en) Efficient decomposition of noise and periodic signal waveform in waveform interpolation
US20080167882A1 (en) Waveform compressing apparatus, waveform decompressing apparatus, and method of producing compressed data
JP3933072B2 (en) Wave compressor
JP3933073B2 (en) Waveform expansion device
JP2001508886A (en) Apparatus and method for approximating exponential decay in a sound synthesizer
US20030108108A1 (en) Decoder, decoding method, and program distribution medium therefor
JP3826870B2 (en) Compressed data structure, waveform generation device, and waveform storage device
JP4107085B2 (en) Waveform data compression method
JP4007194B2 (en) Sound generator
JP2796408B2 (en) Audio information compression device
Maher Wavetable synthesis strategies for mobile devices
JP3912304B2 (en) Compressed data structure, waveform generation device, and waveform storage device
JP3603343B2 (en) Waveform reading device
JPH0888525A (en) Automatic gain controller by detection of silent tone
JP3747357B2 (en) Music signal encoding apparatus and decoding apparatus
JP3945435B2 (en) Waveform data compression method, tone signal generation method, tone signal processing apparatus, and program
Maher Compression and decompression of wavetable synthesis data
JP2006080927A (en) Encoding method, encoding apparatus, decoding method, and decoding apparatus
JP6146686B2 (en) Data structure, data storage device, data retrieval device, and electronic musical instrument
JPH056171A (en) Sound wave compression method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050927

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070312

R150 Certificate of patent or registration of utility model

Ref document number: 3933073

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120330

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140330

Year of fee payment: 7