(57)【要約】【課題】量子化精度を与えるスケールファクタを用いて波形データを圧縮できるようにする。【解決手段】元波形サンプルＳｎから線形予測サンプル◇Ｓｎ−１を差し引いて残差サンプルｄｎを得る。量子化部６２において、残差サンプルｄｎをスケールファクタＳＦに基づいて正規化して量子化することにより、ビット数ｋの残差符号のサンプルＬｎを得る。このサンプルＬｎを復号して元波形サンプルＳｎとの誤差を算出し、この誤差が許容量子化誤差以内となるようスケールファクタＳＦを順次変更して探索する。【選択図】  図５
2004294491.tif 000002
【特許請求の範囲】
【請求項１】
圧縮すべき波形データを供給する供給手段と、
該供給手段から供給された波形データのサンプルから線形予測圧縮するための予測係数を決定する予測係数決定手段と、
前記供給手段から供給された波形データのサンプルと予測サンプルとの残差である残差サンプルを、量子化精度を与えるスケールファクタに基づいて正規化し、正規化された前記残差サンプルを符号化して、残差符号のサンプルとして出力する量子化手段と、
該量子化手段から出力された前記残差符号のサンプルを復号化し、前記スケールファクタに基づいて逆正規化し、復号残差サンプルとして出力する逆量子化手段と、
該逆量子化手段から出力された前記復号残差サンプルと前記予測サンプルとを加算して生成した復号サンプルを、前記予測係数に基づいて線形予測して、次波形データの線形予測圧縮に用いる前記予測サンプルを出力する線形予測手段とを備え、
前記スケールファクタは、所定の区間における前記波形データのサンプルを線形予測圧縮する際に、所定の区間において一定の値とされており、前記スケールファクタの値を変更しながら前記所定の区間における複数の前記波形データのサンプルを順次前記量子化手段に供給することにより得られた前記スケールファクタ毎の前記残差符号のサンプルの各レベルが、許容量子化誤差レベルをほとんど超えないようになる大きさのスケールファクタを探索し、当該スケールファクタを所定の区間における前記波形データの圧縮に用いる前記スケールファクタとして決定するようにしたことを特徴とする波形圧縮装置。
【請求項２】
前記許容量子化誤差レベルが、設定されている前記スケールファクタの大きさに対応して変更されるようになされていることを特徴とする請求項１記載の波形圧縮装置。
【請求項３】
初期スケールファクタ算出手段により、前記波形データに対応する初期スケールファクタが算出されるようになされており、前記初期スケールファクタ算出手段は、前記供給手段から供給された波形データから線形予測圧縮するための予測係数を決定する予測係数決定手段と、該予測係数決定手段で決定された前記予測係数に基づいて線形予測することにより予測サンプルを出力する線形予測手段と、前記供給手段から供給された所定の区間の波形データのサンプルと前記予測サンプルとの残差を量子化した残差符号のサンプルを順次得て、その残差符号のサンプルの内のピーク値に応じた前記初期スケールファクタを算出する初期スケールファクタ決定手段とからなることを特徴とする請求項１記載の波形圧縮装置。
【請求項４】
前記初期スケールファクタ決定手段により算出される前記初期スケールファクタが、前記残差データの内のピーク値に応じたスケールファクタから所定値差し引かれた大きさのスケールファクタとされていることを特徴とする請求項３記載の波形圧縮装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、波形データを圧縮する波形圧縮装置に関するものである。
【０００２】
【従来の技術】
従来、電子楽器における楽音信号の発生方法の一つとして、自然楽器の楽音波形の瞬時値を逐次サンプリングしてディジタルとされたサンプル波形データとして予めメモリに記憶しておき、楽音の発生時にこのサンプル波形データを読み出して楽音信号を発生するようにしたＰＣＭ方式がある。このＰＣＭ方式は自然楽器に近い楽音を発生できるという点で優れているが、波形データを記憶しておくメモリの容量が膨大になってしまっていた。そこで、波形データ量を低減するために、波形データを圧縮し、この圧縮波形データをメモリに記憶しておき、再生時にはこの圧縮波形データを伸長して楽音信号を形成するようにした楽音信号発生装置が提案されている（例えば、特許文献１参照）。
また、波形圧縮装置により波形データをフレーム単位で線形予測圧縮して、圧縮波形データを得て、この圧縮波形データを波形メモリに記憶しておき、その波形メモリを使用した波形メモリ音源が知られている（例えば、特許文献２参照）。この波形圧縮装置では、圧縮波形データをフレーム単位でビット長可変として記憶している。さらに、圧縮波形データを得る圧縮波形データ処理の前段または後段にレベルダウンシフト処理を行い、レベルダウンシフト処理後の圧縮波形データをメモリに密に記憶するようにしている。
【０００３】
【発明が解決しようとする課題】
このような波形圧縮装置においては、圧縮波形データのデータ量を削減するためにシフトダウンして記憶するようになっているが、そのシフトダウン量は制限ビット長に基づいて制御され、伸長される波形データの品質低下の程度については考慮されていないという問題点があった。また、このシフトダウン量は、フレーム内の残差データのピークを基準にしており、フレーム中にパルス的なノイズが入るとその影響でフレームのシフト量が不当に大きくなってしまい、量子化ノイズが増大してしまうという問題点があった。さらに、シフトデータの探索を波形データの特性と関係しない所定値を初期値として行なうようにしていたため、その探索に時間がかかるという問題点があった。
【０００４】
そこで本発明は、量子化精度を与えるスケールファクタを用いて波形データを圧縮できるようにした波形圧縮装置を提供することを目的としている。
【０００５】
【特許文献１】
特許第２６０５４３４号
【特許文献２】
特許第２７２７７９８号
【０００６】
【課題を解決するための手段】
上記目的を達成するため、本発明にかかる波形圧縮装置は、所定の区間における波形データを線形予測圧縮する際に、所定の区間において一定の値とされているスケールファクタは、残差データの各レベルが許容量子化誤差レベルをほとんど超えないようになる値とされている。これにより、所定の区間においてパルス的なノイズが入ってもその影響で所定の区間における量子化ノイズが増大することを防止することができる。また、許容量子化誤差レベルをスケールファクタの値に対応して変更するようにしたため、適切な許容量子か誤差レベルを設定することができる。さらに、初期スケールファクタ算出手段を設けて、前記波形データに対応する初期スケールファクタを算出するようにしたので、スケールファクタを探索する時間を短縮することができるようになる。
【０００７】
なお、残差データの各レベルが許容量子化誤差レベルをほとんど超えないとは、次のような場合を意味している。
１．残差データのサンプルのピーク値ではなく、残差データのサンプル（波形）の１フレーム期間における実効レベルが許容量子化誤差より小さい場合。
２．１フレーム区間の残差データのサンプルのうち、所定の割合（例えば９割）以上が許容量子化誤差以内に含まれている場合。
３．残差データの各サンプルが許容量子化誤差を超えた量（あるいはその二乗）の、１フレーム区間にわたる積算値が所定の基準値より小さい場合。
【０００８】
【発明の実施の形態】
本発明にかかる波形圧縮装置により圧縮された波形データがフレームを単位として記憶されている記憶手段を備える楽音生成装置のブロック図を図１に示す。
図１に示す楽音生成装置１おいて、ＣＰＵ１０は楽音生成に関連する各種プログラムを実行することにより楽音生成装置１における楽音生成の動作を制御する中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。すなわち、演奏操作子の操作、自動演奏、通信Ｉ／Ｏからの入力などにより発音開始指示（ノートオン）が発生したときには、音源部３０に対してその発音開始指示に応じた楽音の生成開始を指示している。ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１は、例えばフラッシュＲＯＭとされており、ＣＰＵ１０が実行する楽音生成処理のプログラムや、各種データが格納されている。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２は楽音生成装置１におけるメインメモリであり、本発明にかかる波形圧縮装置により圧縮された波形データがフレームを単位として記憶されている波形記憶領域１２ａを備えていると共に、ＣＰＵ１０のワークエリア等の領域が設定されている書き換え可能な記憶手段である。なお、波形記憶領域１２ａには複数曲の圧縮された波形データを記憶することができる。
【０００９】
また、操作子１３は、鍵盤等の演奏操作子や各種設定を行うパネルスイッチであり、表示器１４は楽音生成時に各種情報を表示させる液晶等からなる表示器である。通信Ｉ／Ｏ１５は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ  ）やインターネット、電話回線等の通信ネットワークを介してサーバコンピュータに接続するためのネットワークインタフェースである。この通信Ｉ／Ｏ１５を介して、楽音生成装置１内部で作成したＭＩＤＩメッセージを外部へ送出したり、外部からのＭＩＤＩメッセージを受信することができる。制御レジスタ２０は、ＣＰＵ１０から各発音チャンネルの発音パラメータが書き込まれるレジスタである。音源部３０は、フレームを単位として圧縮されている波形データの伸長処理を行うデコーダを備えており、ＣＰＵ１０の制御に基づいて、ＲＡＭ１２の波形記憶領域１２ａから楽音生成に必要とする圧縮された波形データを後述する小フレーム毎に読み出し、読み出した波形データの伸長処理を行っている。そして、デコードされた波形データの補間、エンベロープ付与、チャンネル累算（ミキシング）、および効果（エフェクト）付与などの処理を行って、楽音波形データとして出力している。音源部３０から出力された楽音波形データはアナログ信号に変換されてサウンドシステム４０から放音されるようになる。なお、各部はバスライン１６を介して接続されている。
【００１０】
次に、音源部３０について説明する前にＲＡＭ１２の波形記憶領域１２ａに記憶されている圧縮された波形データのデータ構造を図２を参照して説明する。
波形記憶領域１２ａに記憶されている圧縮された波形データの１曲分の波形データが図２に示されている。図２に示す波形データは、波形データの全体に関する情報が書き込まれているヘッダ情報と、圧縮された波形データが収容されているフレーム１ないしフレームｎから構成されている。ヘッダ情報は、残差符号のサンプルのビット数、読出開始アドレス、読出終了アドレス、ループアドレス、最初のフレームの予測係数およびスケールファクタ、その他データからなる。圧縮された波形データである残差符号のサンプルが書き込まれている各フレームのデータ構造は同様とされており、図２には例としてフレーム２のデータ構造が示されている。１フレームは、例えば図示するようにアドレスが「００」から「０９」の１０アドレスに対応するデータ量とされており、１アドレスに対応するデータ幅を小フレームと定義することができる。すなわち、図２に示す１フレームは、１０の小フレームから構成されている。この小フレームは副情報と残差符号からなる。
【００１１】
この場合、副情報のビット数は予め定められたビット数とされており、残差符号の１サンプルのビット数は、圧縮する前の元波形データの性質に適するよう波形データ毎に定められた固定のビット数とされている。そして、小フレームのデータ幅を図２に示すように１６ビットとすると共に、残差符号の１サンプルのビット数を３ビットに固定した場合は、例えば副情報に４ビットのデータ領域が割り当てられ、残差符号に１２ビットのデータ領域が割り当てられて、１小フレームのサンプル数は４となる。また、残差符号の１サンプルのビット数を６ビットに固定すると、図２における残差符号の下段に示されるように１小フレームのサンプル数は２となる。同様に、固定とされている残差符号の１サンプルのビット数を４ビットとすると、図２における残差符号のさらに下段に示されるように１小フレームのサンプル数は３となり、固定とされている残差符号の１サンプルのビット数を２ビットとすると、図２における残差符号のさら下段に示されるように１小フレームのサンプル数は６となる。なお、小フレームのデータ幅を１６ビットとした場合は、１フレームを構成するビット数は１６０ビットとなり、その内の４０ビットのデータ領域が副情報の領域となり、残る１２０ビットのデータ領域が残差符号の領域となる。このように、１フレームあるは１小フレームにおける残差符号のサンプル数は、曲毎に固定とされる残差符号の１サンプルのビット数に応じて変更されるようになる。
【００１２】
ところで、副情報は、次のフレームの残差符号の伸長に用いる線形予測係数である予測係数情報と、次のフレームの残差符号の伸長に用いるスケールファクタとその他の情報とされている。スケールファクタは、１フレームを構成する複数の残差符号を逆正規化するためのファクタである。この場合、スケールファクタを絶対値ではなく、フレーム間の比や対数スケールにおける差で記憶するとビット数に対する情報量の効率を向上することができる。スケールファクタをフレーム間の比や対数スケールにおける差とした場合においては、逆量子化時に絶対値に変換されて残差符号に乗算されるようになる。また、その他の情報を、音量情報や波形データのループアドレス等の情報としても良い。
【００１３】
次に、音源部３０について説明すると、アドレス発生部３２は、周波数情報（Ｆナンバ）を累算するサンプルカウンタと、ＲＡＭ１２における波形記憶領域１２ａから波形データを小フレーム毎に読み出す読出アドレスを生成するメモリカウンタを備えている。サンプルカウンタは、指定された音高に対応する波形データのピッチシフト量であるＦナンバを累算して整数部と小数部からなるサンプルアドレスを生成し、その内の整数部を残差符号キャッシュ部３３に、残る小数部を補間部３６にそれぞれ供給する。また、サンプルアドレスの整数部が、小フレームのサンプル数に達するごとに要求パルスを出力する。なお、小フレームのサンプル数は、図２において前述したように残差符号の１サンプルのビット数に応じて異なるようになる。アドレス発生部３２のメモリカウンタでは、サンプルカウンタから要求パルスが入力されるごとに、メモリアドレスを１ずつカウントアップすることにより小フレームを読み出す読出アドレスを生成している。
【００１４】
フレーム読出部３１は、アドレス発生部３２のサンプルカウンタから出力される要求パルスが入力されるごとに、ＲＡＭ１２の波形記憶領域１２ａからアドレス発生部３２のメモリカウンタから供給されるメモリアドレスの示す小フレームのデータを読み出す。読み出された小フレームのデータにおける副情報は副情報デコード部３４に供給され、読み出された小フレームのデータの残差符号のサンプルは残差符号キャッシュ部３３に供給される。副情報デコード部３４には、１フレームの期間において、フレーム読出部３１から供給される各小フレームの副情報が順次収集され、副情報の各データがデコードされる。そして、そのフレームの次のフレームの期間に、デコードされた予測係数情報およびスケールファクタがデコーダ３５に供給されると共に、その他データが音源部３０の各ブロックに供給される。すなわち、各フレームの副情報は、当該フレームではなくその次のフレームで使用される副情報となる。
【００１５】
残差符号キャッシュ部３３には、読み出された小フレームのうちの最新の３つの小フレームがキャッシュに保持される。そして、アドレス発生部３２からのサンプルアドレスの整数部に応じて、その整数部の進行量に相当する数の残差符号のサンプルがキャッシュされた３つの小フレームから取り出され、取り出された残差符号のサンプルがデコーダ３５に送られる。デコーダ（キャッシュ）３５では、残差符号キャッシュ部３３から残差符号のサンプルが送られてくる毎に、４次の線形予測伸長により残差符号のサンプルがデコードされて復元波形サンプルを得ている。この復元波形サンプルは、デコーダ３５内の波形データキャッシュに、例えば４サンプル保存される。
【００１６】
ここで、演奏操作子の操作、自動演奏、通信Ｉ／Ｏ１５からの入力などにより発音開始指示（ノートオン）が発生したときには、ＣＰＵ１０が音源部３０に対してその発音開始指示に応じた楽音の生成開始を指示している。この場合の手順は次のようになる。ノートオン（パートＰＴ、音高Ｎ、強度Ｖ）に応じて、
（１）音源部３０の複数発音チャンネルのうちの１つを当該楽音の発生に割当てる。
（２）パートＰＴで現在選択されている音色データ（ＲＡＭ１２上）に基づいて、波形記憶領域１２ａに記憶されている波形データの１つを選択し、ピッチシフト量、音量ＥＧパラメータ、ＬＦＯパラメータ、出力レベル等を制御レジスタ２０の割り当てた発音チャンネル領域に設定する。
（３）選択された波形データのヘッダを読み出し、残差符号のサンプルのビット数、読出開始アドレス、読出終了アドレス、ループアドレス、最初のフレームの予測係数、スケールファクタ、その他データを、上記発音チャンネル領域に設定する。この場合の各アドレスは、フレームを単位としたアドレスでも良い。
（４）上記発音チャンネル領域にノートオンを書き込む。
これにより、音源部３０において楽音の生成が開始されるようになる。
【００１７】
次に、音源部３０におけるデコーダ３５の構成の一例を図３に示す。残差符号キャッシュ部３３から供給された残差符号のサンプルＬｎは、デコーダ３５における逆量子化部７１において残差符号のサンプルのビット数情報に基づいてサンプルＬｎ毎に抽出され、量子化精度を与えるスケールファクタＳＦに基づいて各サンプルＬｎが逆正規化されると共に逆量子化される。これにより、逆量子化部７１からは残差符号のサンプルＬｎ毎に復号された復号波形サンプルｑｎが出力される。復号波形サンプルｑｎは加算器７２に供給されて、線形予測演算部７３より出力される線形予測サンプル◇Ｓｎ−１が加算されて復元波形サンプル◇Ｘｎが復元される。復元波形サンプル◇Ｘｎは波形データキャッシュ部７４にキャッシュされると共に、伸長された復元波形サンプル◇Ｘｎとして出力される。
【００１８】
波形データキャッシュ部７４には、現在から過去の４つの復元波形サンプル◇Ｘｎ〜◇Ｘｎ−３（Ｄ１〜Ｄ４）がキャッシュされており、このキャッシュされた４つの復元波形サンプルＤ１〜Ｄ４が線形予測演算部７３に供給される。線形予測演算部７３では、この４つの復元波形サンプルＤ１〜Ｄ４にそれぞれの次数の線形予測係数Ｐを乗算して加算することにより４次の線形予測を行い、次の復元波形サンプル◇Ｘｎ＋１を得るための線形予測サンプル◇Ｓｎを生成している。なお、残差符号のサンプルＬｎのビット数情報は、圧縮された波形データのヘッダが副情報デコード部３４においてデコードされることにより、副情報デコード部３４から供給されており、スケールファクタＳＦおよび線形予測係数Ｐは前述したように副情報デコード部３４においてデコードされて供給されている。
【００１９】
図１に戻り、デコーダ３５から出力される伸長された復元波形データは、補間部３６に供給される。この場合、デコーダ３５における波形データキャッシュ部７４にキャッシュされている４つの復元波形サンプルＤ１〜Ｄ４が補間部３６に供給される。そして、補間部３６ではアドレス発生部３２からのサンプルアドレスの小数部に基づいて、供給された４つの復元波形サンプルＤ１〜Ｄ４を、例えば４点補間して、補間サンプルを生成する。補間部３６から出力される補間サンプルは、音量ＥＧ部３７において制御レジスタ２０にノートオン時に設定された音量ＥＧパラメータに基づいて音量制御され、ミキサ３８に供給される。ミキサ３８では全ての発音チャンネルにおける波形サンプルがチャンネル累算されると共に、効果が付与されて再生タイミング毎に出力される。ミキサ３８からの出力は、ディジタル−アナログ変換器（ＤＡＣ）３９に供給されてアナログ信号に変換され、サウンドシステム４０から放音されるようになる。
【００２０】
以上説明したように、本発明の実施の形態にかかる楽音生成装置１では、波形データが図２に示す形式で波形記憶領域１２ａに記憶されており、その音源部３０が残差符号の再生のためにフレームを構成している小フレームを順次読み出すことにより、各フレームの再生に必要な残差符号のサンプルが順次取り出されると同時に、次のフレームの残差符号を伸長するための副情報が取り出されるようになっている。すなわち、音源部３０には、副情報をタイミングよく取り出すための専用の回路が不要とされ、また、各サブフレームの副情報と残差符号のビット数は固定とされているので、そこから副情報と残差符号を取り出すための構成も極めて簡単とすることができる。
【００２１】
次に、線形予測を利用して波形データの圧縮処理を行う本発明の波形圧縮装置の構成を図４および図５に示す。
本発明にかかる波形圧縮装置は、後述する図４に示す初期ＳＦ算出部５０と、図５に示すコーダ６０とフレーム詰込部６７から構成されている。すなわち、波形圧縮装置においては元波形データがビット数ｋに圧縮処理されて、フレーム化されて出力されるようになる。この際に、スケールファクタの探索が波形圧縮装置において行われる。このスケールファクタの探索では、コーダ６０においてスケールファクタの値を変更しながら１フレームの区間における複数の元波形データのサンプルを順次量子化部６２に供給し、その際に設定されているスケールファクタにおいて得られた１フレームの残差サンプルｄｎの各レベルが、許容量子化誤差レベルをほとんど超えないようになるスケールファクタの値を探索している。この場合スケールファクタを次第に大きくして適したスケールファクタを探索しているが、スケールファクタを繰り返し設定することから探索時間が長くなってしまうようになる。そこで、元波形データの性質に応じた初期スケールファクタを最初に算出することによりスケールファクタの探索時間が短くなるようにしている。この初期スケールファクタを算出する構成が図４に示す初期ＳＦ算出部５０とされている。
【００２２】
図４に示す初期ＳＦ算出部５０には波形記憶領域１２ａから選択された元波形データのサンプル（以下、「元波形サンプル」という）Ｓｎが１フレーム分供給される。そして、予測係数算出部５１において１フレーム分の元波形サンプルＳｎに基づいて線形予測係数Ｐが算出され、算出された線形予測係数Ｐは線形予測部５２に供給される。線形予測部５２では遅延手段により遅延された現在から過去の、例えば４サンプルに次数に応じた線形予測係数Ｐを乗算して加算することにより線形予測サンプル◇Ｓｎ−１が生成されている。この線形予測サンプル◇Ｓｎ−１は減算器５３に供給されて、元波形サンプルＳｎから減算されて、減算器５３から残差サンプルｄｎが出力される。残差サンプルｄｎは、残差符号のサンプルのビット数ｋが与えられているピーク検出およびスケールファクタ算出部５４に供給され、残差サンプルｄｎのピークが求められる。すなわち、１フレーム分の元波形サンプルＳｎが順次供給されて、１フレーム分の残差サンプルｄｎがピーク検出およびスケールファクタ算出部５４に供給された際に、残差サンプルｄｎの内のピーク値が検出され、検出されたピーク値の残差サンプルｄｎを、与えられているビット数ｋでオーバフローすることなく正規化して量子化することができる大きさの理想的スケールファクタＳＦＰが算出される。このようにして算出された理想的スケールファクタＳＦＰから定数Ｄが差し引かれて、初期スケールファクタ（初期ＳＦ）として初期ＳＦ算出部５０から出力される。
【００２３】
このようにして算出された初期スケールファクタ（初期ＳＦ）および予測係数Ｐは、波形圧縮装置における図５に示すコーダ６０の予測係数＆スケールファクタ生成部６３に設定される。そして、圧縮処理前の元波形サンプルＳｎが減算器６１に入力され、この元波形サンプルＳｎから線形予測部６４より出力される線形予測サンプル◇Ｓｎ−１が減算されて、残差サンプルｄｎ（＝Ｓｎ−◇Ｓｎ−１）が出力される。予測係数＆スケールファクタ生成部６３に設定された線形予測係数Ｐは線形予測部６４に供給され、初期スケールファクタ（初期ＳＦ）はスケールファクタＳＦとして量子化部６２および逆量子化部６６に供給される。ここで、減算器６１から出力された残差サンプルｄｎは、供給されたスケールファクタＳＦに基づき量子化部６２において正規化された後、量子化され設定されたビット数ｋにスケーリングされることにより、残差符号のサンプルＬｎが生成される。
【００２４】
この残差符号のサンプルＬｎは、圧縮波形データとしてコーダ６０から出力されてフレーム詰込部６７に供給され、フレーム詰込部６７において小フレームからなるフレームが生成されて出力される。さらに、残差符号のサンプルＬｎは逆量子化部６６に供給されて、逆正規化されると共に逆量子化されて残差符号のサンプルＬｎを復号した復号波形サンプルｑｎが出力される。復号波形サンプルｑｎは加算器６５において、線形予測部６４より出力されている線形予測サンプル◇Ｓｎ−１が加算されて復元波形サンプル◇Ｘｎが復元されて、線形予測部６４に供給されるようになる。線形予測部６４では、遅延手段により遅延されている例えば現在から過去の４つの復元波形サンプルに、それぞれの次数の線形予測係数Ｐが乗算されて加算されることにより４次の線形予測が行われて、次の元波形サンプルＳｎを圧縮処理するための次の線形予測サンプル◇Ｓｎが生成される。フレーム詰込部６７には、残差符号のサンプルＬｎに加えて、線形予測係数ＰおよびスケールファクタＳＦとその他情報が供給されている。そして、副情報の領域に線形予測係数ＰおよびスケールファクタＳＦとその他情報が格納され、データ領域に残差符号のサンプルが格納されることにより小フレームが構成され、例えば１０の小フレームにより図２に示すように１フレームが構成されるようになる。
【００２５】
図４に示すようなフィードバックすることなく残差符号のサンプルを求める方法を、ここではＡｂＳ（Ａｎａｌｙｓｙｓ  ｂｙ  Ｓｙｎｔｈｅｓｙｓ）なしと定義し、図５に示すようにフィードバックすることにより残差符号のサンプルを求める方法をＡｂＳありと定義する。
【００２６】
次に、本発明の波形圧縮装置において実行される１フレーム分ＳＦ探索処理のフローチャートを図６に示す。
図６に示す１フレーム分ＳＦ探索処理おいて、スケールファクタの探索が開始されると、ステップＳ１０において波形記憶領域１２ａから選択された波形データのサンプル（元波形サンプル）が１フレーム分取り出される。次いで、ステップＳ１１にて取り出された１フレーム分のサンプルが、図４に示す初期ＳＦ算出部５０に供給され線形予測係数Ｐが算出される。そして、ステップＳ１２においてＡｂＳなし、すなわち図４に示す初期ＳＦ算出部５０に１フレーム分の元波形サンプルが順次供給されて、ピーク検出およびスケールファクタ算出部５４にて１フレーム分の残差サンプルｄｎが求められる。この残差サンプルｄｎは予測信号の誤差分に相当し、ステップＳ１３にて１フレーム分の残差サンプルｄｎの最大振幅が検出され、検出された最大振幅を所定の大きさ以下とできる理想的スケールファクタＳＦＰが求められる。そして、ステップＳ１４において理想的スケールファクタＳＦＰから定数Ｄを差し引いて初期スケールファクタ（初期ＳＦ）を算出する。ここで、定数Ｄを差し引くのは、理想的スケールファクタＳＦＰより小さめの初期スケールファクタ（初期ＳＦ）として万全を期すためである。ただし、スケールファクタは対数で表されているので、ステップＳ１４では理想的スケールファクタＳＦＰが定数Ｄで除算されることになる。
【００２７】
次いで、ステップＳ１５にて算出された線形予測係数Ｐおよび初期スケールファクタ（初期ＳＦ）に基づいてＡｂＳあり、すなわち図５に示すコーダ６０において残差符号のサンプルＬｎが求められる。そして、ステップＳ１５にて求められた残差符号のサンプルＬｎに基づいて元波形との誤差であるノイズレベルがステップＳ１６にて求められる。この場合、コーダ６０にはステップＳ１１にて算出された線形予測係数Ｐが線形予測部６４に設定され、ステップＳ１４にて算出された初期スケールファクタ（初期ＳＦ）がスケールファクタＳＦとして量子化部６２および逆量子化部６６に設定されている。ノイズレベルがステップＳ１６にて求められると、ステップＳ１７にてコーダ６０に設定されているスケールファクタＳＦが最大値に達しているか否かが判断される。ここで、スケールファクタＳＦが最大値に達していないと判断された場合は、ステップＳ１８に進む。
【００２８】
ステップＳ１８では、ステップＳ１６で求められたノイズレベルが閾値より小さいか否かが判断され、ノイズレベルが閾値より大きいと判断された場合は、スケールファクタが適した大きさとなっていないことからステップＳ１９へ分岐する。ステップＳ１９では、スケールファクタと閾値とを１段階大きな値に変更してステップＳ１５に戻るようになる。この新たなスケールファクタの値を反映させて、ステップＳ１５ないしステップＳ１８の処理を繰り返し行う。そして、ノイズレベルが閾値より小さいとステップＳ１８において判断された際に１フレーム分ＳＦ探索処理は終了する。このように、１フレーム分におけるノイズレベルが閾値未満である場合に、適したスケールファクタとなったと判断しているが、ノイズレベルが瞬間的に閾値を超える場合はこれを無視して、ノイズレベルが平均的に閾値未満となる場合に適したスケールファクタになったと判断しても良い。また、閾値の大きさをスケールファクタの大きさに応じて変更するようにしたので、ノイズレベルの大きさをスケールファクタの大きさに応じて許容することができるようになる。
【００２９】
なお、ステップＳ１７においてスケールファクタＳＦが最大値に達している場合は、そのまま１フレーム分ＳＦ探索処理は終了する。このようにして探索されたスケールファクタＳＦを用いて元波形データを圧縮処理した残差符号のサンプルからなるフレーム化された波形データは、記憶手段に記憶されるようになる。また、ステップＳ１８において、次の場合にノイズレベルが閾値より小さいと判断するものとする。
（１）残差サンプルｄｎのピーク値ではなく、残差サンプルｄｎ（波形）の１フレーム期間における実効レベルが許容量子化誤差より小さい場合。
（２）１フレーム区間の残差サンプルｄｎのうち、所定の割合（例えば９割）以上が許容量子化誤差以内に含まれる場合。
（３）各残差サンプルｄｎが許容量子化誤差を超えた量（ないしその二乗）の、１フレーム区間にわたる積算値が所定の基準値より小さい場合。
【００３０】
本発明の波形圧縮装置において実行される１フレーム分ＳＦ探索処理においては、以上説明したように初期スケールファクタを算出する際に波形データの１フレーム分のサンプルを最初に初期ＳＦ算出部５０に供給して、予測係数Ｐと初期スケールファクタとを算出している。そして、算出した予測係数Ｐと初期スケールファクタとをコーダ６０に設定し、スケールファクタを変更することで元波形サンプルと線形予測サンプルとの誤差であるノイズレベルが許容量子化誤差レベルとされる閾値より小さくなるまで、１フレーム分の元波形サンプルをコーダ６０に繰り返し供給するようにしている。このように、波形圧縮装置においては、波形データの１フレーム分のサンプルを繰り返し読み出して処理することにより、当該波形データに適した圧縮処理を行うようにしている。このように、初期ＳＦ算出部５０において初期スケールファクタを算出するようにしたので、コーダ６０におけるスケールファクタを探索する回数を大幅に低減することができる。これにより、圧縮処理を高速に行うことができるようになる。
【００３１】
以上の説明では、残差符号のサンプルのビット数は曲毎の波形データにおいては固定としたが、各フレーム毎に残差符号のサンプルのビット数を可変にし、副情報でそのビット数を指定するようにしてもよい。この場合、副情報におけるビット数の情報は、副情報デコード部３４からアドレス発生部３２や残差符号キャッシュ部３３に供給される。
上記した本発明の波形圧縮装置においては、線形予測による圧縮伸長を行うようにしたが、適応差分などの線形予測以外の方式で圧縮伸長を行うようにしてもよい。
【００３２】
【発明の効果】
本発明は以上説明したように、所定の区間における波形データを線形予測圧縮する際に、所定の区間において一定の値とされているスケールファクタは、残差データの各レベルが許容量子化誤差レベルをほとんど超えないようになる値とされている。これにより、所定の区間においてパルス的なノイズが入ってもその影響で所定の区間における量子化ノイズが増大することを防止することができる。また、許容量子化誤差レベルをスケールファクタの値に対応して変更するようにしたため、適切な許容量子化誤差レベルを設定することができる。さらに、初期スケールファクタ算出手段を設けて、前記波形データに対応する初期スケールファクタを算出するようにしたので、スケールファクタを探索する時間を短縮することができるようになる。
【図面の簡単な説明】
【図１】本発明にかかる波形圧縮装置により圧縮された波形データがフレームを単位として記憶されている記憶手段を備える楽音生成装置のブロック図である。
【図２】本発明にかかる波形圧縮装置により圧縮された波形データのデータ構造を示す図である。
【図３】図１に示す楽音生成装置が備えるデコーダの詳細構成を示す図である。
【図４】本発明の実施の形態にかかる波形圧縮装置が備える初期ＳＦ算出部の構成を示す図である。
【図５】本発明の実施の形態にかかる波形圧縮装置が備えるコーダの構成を示す図である。
【図６】本発明の実施の形態にかかる波形圧縮装置が実行する１フレーム分ＳＦ探索処理のフローチャートである。
【符号の説明】
１  楽音生成装置、１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１２ａ  波形記憶領域、１３  操作子、１４  表示器、１５  通信Ｉ／Ｏ、１６  バスライン、２０  制御レジスタ、３０  音源部、３１  フレーム読出部、３２  アドレス発生部、３３  残差符号キャッシュ部、３４  副情報デコード部、３５  デコーダ、３６  補間部、３７  音量ＥＧ部、３８  ミキサ、３９  ＤＡＣ、４０  サウンドシステム、５０  初期ＳＦ算出部、５１  予測係数算出部、５２  線形予測部、５３  減算器、５４  ピーク検出およびスケールファクタ算出部、６０  コーダ、６１  減算器、６２  量子化部、６３  予測係数＆スケールファクタ生成部、６４  線形予測部、６５  加算器、６６  逆量子化部、６７  フレーム詰込部、７１  逆量子化部、７２  加算器、７３  線形予測演算部、７４  波形データキャッシュ部
【図１】
2004294491.tif 000003
【図２】
2004294491.tif 000004
【図３】
2004294491.tif 000005
【図４】
2004294491.tif 000006
【図５】
2004294491.tif 000007
【図６】
2004294491.tif 000008