JPH04361296A - Method and device for compressing waveform data and reproducing device - Google Patents

Method and device for compressing waveform data and reproducing device

Info

Publication number
JPH04361296A
JPH04361296A JP3163798A JP16379891A JPH04361296A JP H04361296 A JPH04361296 A JP H04361296A JP 3163798 A JP3163798 A JP 3163798A JP 16379891 A JP16379891 A JP 16379891A JP H04361296 A JPH04361296 A JP H04361296A
Authority
JP
Japan
Prior art keywords
data
waveform
bit
compression
processing
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.)
Granted
Application number
JP3163798A
Other languages
Japanese (ja)
Other versions
JP2727798B2 (en
Inventor
Hideo Suzuki
秀雄 鈴木
Kazuhisa Okamura
和久 岡村
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 JP3163798A priority Critical patent/JP2727798B2/en
Priority to US07/896,105 priority patent/US5347478A/en
Publication of JPH04361296A publication Critical patent/JPH04361296A/en
Application granted granted Critical
Publication of JP2727798B2 publication Critical patent/JP2727798B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PURPOSE:To promote the compression of waveform data and freely control the compression. CONSTITUTION:The data compression is promoted more by performing not only a specific data compressing process for the waveform data, but also an arithmetic process for decreasing the value of the waveform data according to a weight coefficient before or after the data compressing process. The system of the specific data compressing processing itself is not altered and easily and freely controlled so that the compressibility can be varied or no compression is performed extremely easily only by varying the weight coefficient. This device and method are advantageous when the data compression is further promoted in some section of the waveform or when the data compression is performed to different extents according to sections of the waveform.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】この発明は、電子楽器やその他楽
音発生装置あるいは音信号処理装置等において利用可能
な波形データ圧縮方法及び装置ならびに再生装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method and apparatus for compressing waveform data and a reproducing apparatus that can be used in electronic musical instruments, other musical tone generators, sound signal processing apparatuses, and the like.

【0002】0002

【従来の技術】電子楽器における音源波形を作成するた
めの一つの方法として、自然楽器等によって実際に音響
的に発音した音をサンプリングし、記憶することが行わ
れている(例えば、特開昭54−161313号、特開
昭62−89093号、特開昭62−94896号など
)。このような外部音サンプリング方式の音源は、自然
楽器音と同等の高品質な楽音波形が得られるという利点
がある反面、波形データの量が膨大になるため、波形デ
ータ記憶装置に大容量のものを要求していた。
[Prior Art] One method for creating a sound source waveform for an electronic musical instrument is to sample and store sounds actually acoustically produced by a natural instrument, etc. 54-161313, JP-A-62-89093, JP-A-62-94896, etc.). These external sound sampling method sound sources have the advantage of being able to obtain musical sound waveforms of the same high quality as natural instrument sounds, but on the other hand, the amount of waveform data is enormous, so the waveform data storage device must have a large capacity. was demanding.

【0003】記憶装置やそれに関連する回路・装置の構
成を簡単化するために、波形データを圧縮することが考
えられている。例えば特開昭62−242993号にお
いては、線形予測法(LPC法)により圧縮したデータ
表現形式で楽音波形データを記憶することが示されてい
る。また、特公平1−45078号においては、波形サ
ンプルデータを仮数部と指数部とからなる浮動小数点表
示に分解して表現し、記憶することが示されている。ま
た、データ符号化方式として、PCMに限らず、DPC
M,ADPCM,デルタ変調など種々の方式を採用し、
データ圧縮を行うことも知られている。
Compression of waveform data has been considered in order to simplify the configuration of storage devices and related circuits and devices. For example, Japanese Patent Laid-Open No. 62-242993 discloses storing tone waveform data in a data representation format compressed by the linear prediction method (LPC method). Further, Japanese Patent Publication No. 1-45078 discloses that waveform sample data is expressed by being decomposed into a floating point representation consisting of a mantissa part and an exponent part, and then stored. In addition, the data encoding method is not limited to PCM, but also DPC.
Adopts various methods such as M, ADPCM, and delta modulation,
It is also known to perform data compression.

【0004】0004

【発明が解決しようとする課題】しかし、従来の波形デ
ータ圧縮技術においては、単に所定のデータ圧縮処理に
従って波形データ圧縮を行うだけであったため、均一な
データ圧縮しか行えなかった。そのため、データ圧縮を
更に推し進めたい場合や、特に、波形の一部区間におい
てデータ圧縮を更に推し進めたり、あるいは波形の区間
に応じて異なる度合いでデータ圧縮を行いたい場合など
、簡単に対応することができなかった。例えば、波形が
複雑に変化するアタック部など、波形の精度を確保した
い部分では通常のデータ圧縮を行い、波形の精度を多少
落してもさしつかえないような部分ではデータ圧縮を更
に推し進める、というような使い分けが望まれることが
あるが、従来はそのような要望に対応することができな
かった。この発明は上述の点に鑑みてなされたもので、
簡単な構成により、データ圧縮を促進することを可能に
すると共に、その制御を自在に行えるようにした波形デ
ータ圧縮方法及び装置を提供しようとするものである。 さらには、そのようなデータ圧縮方法に従って圧縮され
た波形データを再生するための波形データ再生装置を提
供しようとするものである。
However, in the conventional waveform data compression technique, waveform data was simply compressed according to a predetermined data compression process, and therefore only uniform data compression could be performed. Therefore, it is easy to handle cases where you want to further advance data compression, particularly in some sections of a waveform, or when you want to compress data to different degrees depending on sections of the waveform. could not. For example, normal data compression is performed in areas where waveform accuracy is desired, such as the attack section where the waveform changes in a complex manner, and data compression is further promoted in areas where it is acceptable to reduce waveform accuracy to some extent. Although it is sometimes desirable to use them differently, it has not been possible to meet such a request in the past. This invention was made in view of the above points,
It is an object of the present invention to provide a waveform data compression method and apparatus that can facilitate data compression with a simple configuration and that can be freely controlled. Furthermore, it is an object of the present invention to provide a waveform data reproducing device for reproducing waveform data compressed according to such a data compression method.

【0005】[0005]

【課題を解決するための手段】この発明に係る波形デー
タ圧縮方法は、圧縮すべき波形データを提供する第1の
ステップと、前記波形データに対して所定のデータ圧縮
処理を行う第2のステップとを具えた波形データ圧縮方
法において、前記データ圧縮処理の前乃至後のいずれか
の段階で、波形データの値を任意の重み係数に従って更
に縮小する処理を行う第3のステップを設けたことを特
徴とするものである。この発明に係る波形データ圧縮方
法を実施することができる波形データ圧縮装置の一つの
態様は、圧縮すべき波形データを入力し、該波形データ
の値を任意の重み係数に従って縮小する演算を行う縮小
演算手段と、前記縮小演算手段から出力された波形デー
タを入力し、該波形データに対してデータ圧縮フィルタ
処理を施す圧縮フィルタ手段と、前記圧縮フィルタ手段
で使用するフィルタ係数を線形予測法によって作成し、
前記圧縮フィルタ手段に供給する係数発生手段とを具え
たものである。上記波形データ圧縮装置の別の態様は、
圧縮すべき波形データを入力し、該波形データに対して
データ圧縮フィルタ処理を施す圧縮フィルタ手段と、前
記圧縮フィルタ手段から出力される波形データの値を任
意の重み係数に従って縮小する演算を行う縮小演算手段
と、前記圧縮フィルタ手段で使用するフィルタ係数を線
形予測法によって作成し、前記圧縮フィルタ手段に供給
する係数発生手段とを具えたものである。この発明に係
る波形データ再生装置は、所定のデータ圧縮処理が施さ
れると共に重み係数に応じたデータ値縮小処理が施され
た波形データを記憶した波形記憶手段と、圧縮データを
復調するための係数と前記重み係数を提供する係数提供
手段と、前記復調のための係数に応じて圧縮データ復調
処理を前記波形記憶手段から読み出された波形データに
対して施す圧縮データ復調手段と、前記重み係数に応じ
て縮小されたデータ値を元の大きさに戻す演算を前記波
形記憶手段から読み出された波形データに対して施す演
算手段とを具えたものである。
[Means for Solving the Problems] A waveform data compression method according to the present invention includes a first step of providing waveform data to be compressed, and a second step of performing predetermined data compression processing on the waveform data. A waveform data compression method comprising: a third step of further reducing the value of the waveform data according to an arbitrary weighting coefficient at any stage before or after the data compression process. This is a characteristic feature. One aspect of a waveform data compression device capable of implementing the waveform data compression method according to the present invention is a reduction method that inputs waveform data to be compressed and performs an operation to reduce the value of the waveform data according to an arbitrary weighting coefficient. a calculation means; a compression filter means for inputting the waveform data output from the reduction calculation means and performing data compression filter processing on the waveform data; and creating filter coefficients to be used in the compression filter means by a linear prediction method. death,
and coefficient generating means for supplying the compression filter means. Another aspect of the above waveform data compression device is
Compression filter means that inputs waveform data to be compressed and performs data compression filter processing on the waveform data, and reduction that performs an operation to reduce the value of the waveform data output from the compression filter means according to an arbitrary weighting coefficient. The apparatus includes a calculation means, and a coefficient generation means for creating filter coefficients to be used in the compression filter means by a linear prediction method and supplying the generated filter coefficients to the compression filter means. The waveform data reproducing device according to the present invention includes a waveform storage means that stores waveform data that has been subjected to predetermined data compression processing and data value reduction processing according to a weighting coefficient, a coefficient providing means for providing a coefficient and the weighting coefficient; a compressed data demodulating means for performing compressed data demodulation processing on the waveform data read from the waveform storage means according to the coefficient for demodulation; and the weighting factor. and calculation means for performing an operation on the waveform data read from the waveform storage means to restore the data value reduced according to the coefficient to its original size.

【0006】[0006]

【作用】この発明の波形データ圧縮方法によれば、第2
のステップにおいて、波形データに対して所定のデータ
圧縮処理を行う。ここで行う所定のデータ圧縮処理は、
線形予測法などその他どのようなり圧縮方式を使用して
もよい。第3のステップが設けられていることが特徴で
あり、前記データ圧縮処理の前乃至後のいずれかの段階
で、波形データの値を任意の重み係数に従って更に縮小
する処理を行う。このデータ値縮小処理により、データ
圧縮処理によって圧縮された波形データの値を更に縮小
することができるので、一層のデータ圧縮を推し進める
ことができる。しかも、重み係数の変更によって縮小率
を変更したり、あるいは全く縮小しないようにしたり、
という制御が容易かつ自在に行える。従って、波形の一
部区間においてデータ圧縮を更に推し進めたり、あるい
は波形の区間に応じて異なる度合いでデータ圧縮を行い
たい場合など、第2のステップにおける所定のデータ圧
縮処理の方式そのものは変更することなく、第3のステ
ップにおける重み係数を変更するだけで極めて簡単に対
応することができる。また、第3のステップは、波形デ
ータの値を任意の重み係数に従って縮小する、という極
めて簡単な処理(この処理は、データシフトや割算ある
いは掛算など適宜の係数演算によって行うことができる
)であるため、構成も簡単である。
[Operation] According to the waveform data compression method of the present invention, the second
In the step, predetermined data compression processing is performed on the waveform data. The predetermined data compression processing performed here is
Any other compression method may be used, such as linear prediction. The present invention is characterized by the provision of a third step, in which the value of the waveform data is further reduced according to an arbitrary weighting coefficient at any stage before or after the data compression processing. This data value reduction processing allows the values of the waveform data compressed by the data compression processing to be further reduced, so that data compression can be further promoted. Moreover, you can change the reduction rate by changing the weighting factor, or not reduce it at all.
This control can be performed easily and freely. Therefore, if you want to further compress data in some sections of the waveform, or compress data to different degrees depending on sections of the waveform, you may want to change the method of data compression processing in the second step. This can be handled extremely easily by simply changing the weighting coefficient in the third step. The third step is an extremely simple process of reducing the value of the waveform data according to an arbitrary weighting coefficient (this process can be performed by appropriate coefficient operations such as data shifting, division, or multiplication). Therefore, the configuration is simple.

【0007】一例として、データ圧縮処理は圧縮フィル
タを使用して線形予測法に従って行われる。この発明に
係る波形データ圧縮装置の1つの態様によれば、圧縮フ
ィルタ手段の前段階に縮小演算手段が設けられる。縮小
演算手段は、圧縮すべき波形データを入力し、該波形デ
ータの値を任意の重み係数に従って縮小する演算を行う
。圧縮フィルタ手段では、縮小演算手段から出力された
波形データを入力し、該波形データに対してデータ圧縮
フィルタ処理を施す。圧縮フィルタ手段で使用するフィ
ルタ係数は、係数発生手段により、線形予測法によって
作成される。縮小演算手段による縮小処理によって生じ
るかもしれないデータ値の不連続性(例えば、重み係数
が変化したときその境目でデータ値が不連続になること
がある)は、後段の圧縮フィルタ手段によって吸収する
ことができる。
[0007] As an example, data compression processing is performed using a compression filter according to a linear prediction method. According to one aspect of the waveform data compression device according to the present invention, reduction calculation means is provided at a stage before the compression filter means. The reduction calculation means receives waveform data to be compressed and performs calculation to reduce the value of the waveform data according to an arbitrary weighting coefficient. The compression filter means inputs the waveform data output from the reduction calculation means and performs data compression filter processing on the waveform data. The filter coefficients used by the compression filter means are created by the coefficient generation means by a linear prediction method. Discontinuity in data values that may occur due to reduction processing by the reduction calculation means (for example, data values may become discontinuous at the boundary when the weighting coefficient changes) is absorbed by the subsequent compression filter means. be able to.

【0008】この発明に係る波形データ圧縮装置の別の
態様によれば、圧縮フィルタ手段の後段に縮小演算手段
が設けられる。その場合、縮小演算手段による縮小処理
によって生じるかもしれないデータ値の不連続性や誤差
を吸収するために、圧縮フィルタ手段において、縮小演
算手段の出力信号を入力し、この縮小演算手段の出力波
形データの値を前記重み係数に従って逆に拡大し復元す
る演算手段を具備し、復元したデータに対して圧縮フィ
ルタ係数の演算を行うようにするとよい。
According to another aspect of the waveform data compression device according to the present invention, reduction calculation means is provided at a stage subsequent to the compression filter means. In that case, in order to absorb discontinuities and errors in data values that may occur due to reduction processing by the reduction calculation means, the output signal of the reduction calculation means is inputted to the compression filter means, and the output waveform of the reduction calculation means is It is preferable to include calculation means for expanding and restoring data values inversely according to the weighting coefficients, and to perform calculations of compression filter coefficients on the restored data.

【0009】この発明に係る波形データ再生装置によれ
ば、波形記憶手段には所定のデータ圧縮処理が施される
と共に重み係数に応じたデータ値縮小処理が施された波
形データを記憶しており、波形記憶手段から読み出され
た波形データに対して圧縮データ復調処理を施す圧縮デ
ータ復調手段のみならず、重み係数に応じて縮小された
データ値を元の大きさに戻す演算を、前記波形記憶手段
から読み出された波形データに対して施す演算手段を具
えている。これにより、データ圧縮処理が施されると共
に重み係数に応じたデータ値縮小処理が施された波形デ
ータを、確実に復調・再生することができる。
According to the waveform data reproducing device according to the present invention, the waveform storage means stores waveform data that has been subjected to a predetermined data compression process and a data value reduction process according to a weighting coefficient. , compressed data demodulation means performs compressed data demodulation processing on the waveform data read out from the waveform storage means, as well as an operation to return the data value reduced according to the weighting coefficient to the original size. It is provided with arithmetic means for performing calculation on the waveform data read out from the storage means. Thereby, it is possible to reliably demodulate and reproduce waveform data that has been subjected to data compression processing and data value reduction processing according to the weighting coefficient.

【0010】この発明に係る波形データ圧縮方法の実施
の態様のいくつかを列挙すると次のようである。 a)前記第3のステップを前記第2のステップの前段階
で実行し、前記第2のステップではデータ圧縮フィルタ
を使用してデータ圧縮処理を行うようにしたこと。これ
により、データ縮小化演算によって生じるかもしれない
不連続性やノイズ成分を後段の圧縮フィルタによって吸
収できる。 b)前記第3のステップを前記第2のステップの後段階
で実行し、前記第2のステップではデータ圧縮フィルタ
を使用してデータ圧縮処理を行うようにしたこと。 c)前記第3のステップでは、連続する波形データを複
数の区間に分け、各区間毎に独立に設定した重み係数に
従って、各区間毎に独立に縮小処理を行うようにしたこ
と。これにより、全発音期間における任意の区間で波形
圧縮の程度を異ならせたい場合(例えばアタック部とサ
ステイン部では異なる圧縮を行いたい場合など)に、所
定のデータ圧縮処理の方式そのものは変更することなく
、重み係数を変更するだけで対処することが可能になる
ので、簡単であり、有利である。 d)前記各区間毎に1サンプルデータのビット数を制限
する制限ビット数を設定し、前記各区間毎の前記データ
圧縮処理及び縮小処理後のデータが、該区間に対応する
前記制限ビット数に納まるように、各区間毎の前記重み
係数を設定するようにしたこと。これにより、全発音期
間における任意の各区間毎に、波形データのビット数を
望みの数に制御することが容易に行えるので、波形デー
タの作成・管理にとって有利であり、また、波形メモリ
を有効に利用することができる。また、各区間毎の重み
係数を自動的に設定することができるので、有利である
。 e)前記第3のステップでは、データシフトによって縮
小処理を行うようにしたこと。これにより、重み係数の
演算が簡単なデータシフトによって行えるので、有利で
ある。 f)前記第2のステップは、2段構成の圧縮フィルタに
よりデータ圧縮処理を行うものであり、前記圧縮フィル
タで使用するフィルタ係数を線形予測法により作成する
ステップを具備し、この係数作成ステップは、1段目の
圧縮フィルタに入力する波形データにハミング窓関数を
乗算し、その乗算結果の自己相関関数に基づき第1の線
形予測係数を算出し、該第1の線形予測係数を1段目の
圧縮フィルタのフィルタ係数として提供するステップと
、この第1の線形予測係数を1段目の圧縮フィルタのフ
ィルタ係数として使用して該1段目の圧縮フィルタで前
記波形データの圧縮処理を行うステップと、該1段目の
圧縮フィルタの出力波形データにハミング窓関数を乗算
し、その乗算結果の自己相関関数に基づき第2の線形予
測係数を算出し、該第2の線形予測係数を2段目の圧縮
フィルタのフィルタ係数として提供するステップとを具
備するものであること。このような2段階でのハミング
窓関数の演算により、正確な圧縮フィルタ係数を作成す
ることができる。 g)データ圧縮処理及び縮小処理が施された波形データ
を記憶装置に記憶する第4のステップと、連続する一連
の波形データに関するデータ圧縮処理及び縮小処理が終
了したとき前記記憶装置における該一連の波形データの
記憶位置を指摘するデータを発生し、記憶する第5のス
テップとを更に具備したこと。一連の波形データの記憶
位置の指摘は、スタートアドレスを特定することと、全
体のアドレスサイズを指摘すること、若しくは終了アド
レスを指摘することにより行える。これにより、データ
圧縮及び縮小処理により一連の波形データの全体のサイ
ズ(容量)が予測できないものとなるが、これに備えて
、このような記憶位置指摘データの発生及び記憶により
自動的にこのサイズ(容量)が判明し、後での、読出し
・再生処理にとって有利である。この発明に係る波形デ
ータ圧縮装置の実施の態様のいくつかを列挙すると次の
ようである。 h)連続する波形データを複数の区間に分け、前記圧縮
フィルタ手段は、各区間毎に独立に設定したフィルタ係
数に従って各区間毎にデータ圧縮処理を行うものであり
、1区間分のデータ圧縮処理が終了したとき前記圧縮フ
ィルタ内の遅延部で保持されているデータを一時保存す
る記憶手段と、或る区間のデータ圧縮処理をやり直すと
き、その直前の区間に関する前記記憶手段の保存データ
を呼出して前記圧縮フィルタ内の遅延部にセットし、や
り直しを可能にする制御手段とを更に具えたこと。これ
により、圧縮処理を何回もやり直して、最適なデータ圧
縮を行うことができる。また、その場合に、直前の区間
に関する圧縮フィルタ内の遅延部の信号状態を再現でき
るので、何回やり直しを行っても、正確な圧縮フィルタ
演算を行うことができる。 i)連続する波形データを複数の区間に分け、前記縮小
演算手段は、各区間毎に独立に設定した重み係数に従っ
て各区間毎に独立に縮小処理を行うものであり、前記圧
縮処理及び縮小処理が施された各区間毎の波形データを
記憶すると共に、各区間毎の重み係数を記憶する記憶手
段を更に具えたこと。これにより、縮小化されたデータ
を元の状態に復元するときに、該記憶手段から各区間毎
の重み係数を読み出して、復元演算に利用することがで
きるので、有利である。 j)前記記憶手段において、各区間毎の重み係数は、当
該区間よりも前の区間により、復元演算の際に、先行区
間の波形データの読出し時に、次の区間の重み係数を読
み出しておくことができ、これを次の区間の波形データ
の読出し時に該区間のための復元用重み係数として即使
用することができるので、制御が簡単かつ確実である、
という利点がある。 k)前記圧縮フィルタ手段は、各区間毎に独立に設定し
たフィルタ係数に従って各区間毎に独立にデータ圧縮処
理を行うものであり、前記記憶手段は、各区間毎のフィ
ルタ係数を、当該区間よりも前の区間の波形データを記
憶している記憶領域の一部において更に記憶しているこ
と。これにより、圧縮データの復調演算の際に、先行区
間の波形データの読出し時に、次の区間の圧縮フィルタ
係数を読み出しておくことができ、これを次の区間の波
形データの読出し時に該区間のための圧縮データ復調係
数として即使用することができるので、制御が簡単かつ
確実である、という利点がある。 l)1サンプルデータのビット数を制限する制限ビット
数を任意に設定する設定手段と、前記データ圧縮処理及
び縮小処理後のデータが、設定された前記制限ビット数
に納まるように、前記重み係数を自動的に設定する制御
手段とを更に具えたこと。これにより、波形データのビ
ット数を望みの数に制御することが容易に行えるので、
波形データの作成・管理にとって有利であり、また、波
形メモリを有効に利用することができる。また、重み係
数を自動的に設定することができるので、有利である。 m)前記制御手段は、前記重み係数を最初は所定値に設
定して前記データ圧縮処理及び縮小処理を行わせ、該デ
ータ圧縮処理及び縮小処理後のデータが、前記制限ビッ
ト数に納まらないならば、該重み係数を自動的に切り換
えて前記データ圧縮処理及び縮小処理をやり直させるも
のであること。これにより、最適な重み係数を自動的に
設定することができるので、有利である。この発明に係
る波形データ再生装置の実施の態様の1つを挙げると次
のようである。 n)前記圧縮データ復調のための係数と重み係数は前記
波形記憶手段において波形データと一緒に記憶されてお
り、前記係数提供手段は、前記波形記憶手段の読出し出
力から前記圧縮データ復調のための係数と重み係数を分
離して取り出すものであること。これにより、波形メモ
リを無駄なく有効に利用することができ、メモリの節約
、という点で有利である。
Some embodiments of the waveform data compression method according to the present invention are listed below. a) The third step is executed before the second step, and the second step uses a data compression filter to perform data compression processing. This allows discontinuities and noise components that may occur due to data reduction operations to be absorbed by the subsequent compression filter. b) The third step is executed after the second step, and the second step uses a data compression filter to perform data compression processing. c) In the third step, continuous waveform data is divided into a plurality of sections, and reduction processing is performed independently for each section according to a weighting coefficient independently set for each section. As a result, if you want to vary the degree of waveform compression in any section of the entire sound generation period (for example, if you want to apply different compression to the attack section and the sustain section), you can change the specified data compression processing method itself. This is simple and advantageous because it can be dealt with simply by changing the weighting coefficient. d) A limit bit number is set to limit the number of bits of one sample data for each section, and the data after the data compression processing and reduction processing for each section is equal to the limit bit number corresponding to the section. The weighting coefficients are set for each section so that the weighting coefficients are within the range. This makes it easy to control the number of bits of waveform data to the desired number for each section of the entire sound generation period, which is advantageous for creating and managing waveform data, and also makes waveform memory effective. It can be used for. Furthermore, it is advantageous because the weighting coefficient for each section can be automatically set. e) In the third step, reduction processing is performed by data shifting. This is advantageous because the weighting coefficients can be calculated by simple data shifting. f) The second step performs data compression processing using a two-stage compression filter, and includes a step of creating filter coefficients to be used in the compression filter by a linear prediction method, and this coefficient creation step includes: , multiply the waveform data input to the first-stage compression filter by a Hamming window function, calculate a first linear prediction coefficient based on the autocorrelation function of the multiplication result, and apply the first linear prediction coefficient to the first-stage compression filter. a step of providing the first linear prediction coefficient as a filter coefficient of a compression filter; and a step of compressing the waveform data with the first-stage compression filter using the first linear prediction coefficient as a filter coefficient of the first-stage compression filter. Then, the output waveform data of the first-stage compression filter is multiplied by a Hamming window function, a second linear prediction coefficient is calculated based on the autocorrelation function of the multiplication result, and the second linear prediction coefficient is divided into two stages. and providing the filter coefficients as filter coefficients of the second compression filter. By calculating the Hamming window function in two stages, accurate compression filter coefficients can be created. g) a fourth step of storing the waveform data that has been subjected to data compression processing and reduction processing in a storage device, and when the data compression processing and reduction processing for a continuous series of waveform data is completed, storing the data of the series in the storage device; The present invention further comprises a fifth step of generating and storing data indicating the storage location of the waveform data. The storage location of a series of waveform data can be indicated by specifying the start address, the total address size, or the end address. As a result, the overall size (capacity) of a series of waveform data becomes unpredictable due to data compression and reduction processing, but in preparation for this, this size is automatically adjusted by generating and storing such storage location indication data. (capacity) is known, which is advantageous for later read/playback processing. Some embodiments of the waveform data compression apparatus according to the present invention are listed below. h) The continuous waveform data is divided into a plurality of sections, and the compression filter means performs data compression processing for each section according to a filter coefficient independently set for each section, and the data compression processing for one section is performed. storage means for temporarily storing the data held in the delay section in the compression filter when the data compression process is completed; The method further comprises a control means that is set in a delay section in the compression filter to enable redoing. This allows the compression process to be repeated many times to achieve optimal data compression. Further, in this case, since the signal state of the delay section in the compression filter regarding the immediately previous section can be reproduced, accurate compression filter calculation can be performed no matter how many times the calculation is repeated. i) The continuous waveform data is divided into a plurality of sections, and the reduction calculation means performs reduction processing independently for each section according to a weighting coefficient independently set for each section, and the compression processing and reduction processing The present invention further comprises a storage means for storing the waveform data for each section subjected to the processing and for storing the weighting coefficient for each section. This is advantageous because when restoring the reduced data to its original state, the weighting coefficient for each section can be read out from the storage means and used for the restoration calculation. j) In the storage means, the weighting coefficient for each interval is determined by the interval before the relevant interval, and the weighting coefficient for the next interval is read out at the time of reading the waveform data of the preceding interval during the restoration calculation. This can be used immediately as a restoration weighting coefficient for the next section when reading the waveform data of the next section, so the control is simple and reliable.
There is an advantage. k) The compression filter means performs data compression processing independently for each section according to filter coefficients independently set for each section, and the storage means stores the filter coefficients for each section from the corresponding section. The waveform data of the previous section is also stored in a part of the storage area that stores the waveform data of the previous section. As a result, when demodulating compressed data, it is possible to read the compression filter coefficient of the next section when reading the waveform data of the preceding section, and use this when reading the waveform data of the next section. Since it can be immediately used as a demodulation coefficient for compressed data, it has the advantage that control is simple and reliable. l) a setting means for arbitrarily setting a limit number of bits that limits the number of bits of one sample data; and a setting means for setting the weighting coefficient so that the data after the data compression processing and reduction processing falls within the set limit number of bits. and a control means for automatically setting. This allows you to easily control the number of bits of waveform data to the desired number.
This is advantageous for creating and managing waveform data, and the waveform memory can be used effectively. It is also advantageous that the weighting factors can be set automatically. m) The control means initially sets the weighting coefficient to a predetermined value to perform the data compression processing and reduction processing, and if the data after the data compression processing and reduction processing does not fit within the limit bit number, For example, the weighting coefficients are automatically switched and the data compression processing and reduction processing are re-performed. This is advantageous because the optimal weighting coefficients can be automatically set. One embodiment of the waveform data reproducing apparatus according to the present invention is as follows. n) Coefficients and weighting coefficients for the compressed data demodulation are stored together with the waveform data in the waveform storage means, and the coefficient providing means extracts the coefficients and weighting coefficients for the compressed data demodulation from the readout output of the waveform storage means. It must be able to extract the coefficients and weighting coefficients separately. This allows the waveform memory to be used effectively without waste, which is advantageous in terms of memory savings.

【0011】[0011]

【実施例】以下、添付図面を参照してこの発明の実施例
を詳細に説明しよう。 −−波形データの圧縮・再生処理の全体の流れ−−まず
、この発明の一実施例における波形データの圧縮・再生
処理の全体の流れにつき、図1を参照して概略説明する
。まず最初に圧縮対象波形を用意する。この用意の仕方
の一例としては、自然楽器等によって発音された原波形
をサンプリングして記憶すること、もしくはすでに外部
メモリ等に記憶してある所望の原波形を該外部メモリか
ら取り込むこと、などによって行うようにしてよい。
DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. --Overall flow of waveform data compression/reproduction processing--First, the overall flow of waveform data compression/reproduction processing in an embodiment of the present invention will be briefly explained with reference to FIG. First, prepare the waveform to be compressed. An example of how to prepare this is by sampling and storing an original waveform produced by a natural instrument, or by importing a desired original waveform already stored in an external memory, etc. You may do so.

【0012】サンプリングした原波形は、そのまま圧縮
対象波形として使用せずに、必要な加工処理を行ってか
ら圧縮処理を行うようにしてよい。そのような加工処理
としては、例えば、原波形の振幅エンベロープを抽出す
る処理、原波形から振幅エンベロープを除去してその振
幅レベルを均一レベルに規格化する処理、反対に任意の
振幅エンベロープを付与する処理、適当なフィルタリン
グを施す処理、波形の位相を合わせる処理、ノイズ成分
を抽出する処理など各種の処理が有り、そのうち1又は
複数の処理を行うようにしてよい。また、処理済みの原
波形の全てをメモリに記憶せずに、所定区間を切り取っ
て記憶するようにしてよい。その場合に、メモリに記憶
する原波形のスタートアドレスを設定したり、繰り返し
読み出しする区間がある場合はその繰り返し読み出し区
間のアドレスを設定したりする処理も行う。また、繰り
返し読み出しがスムーズに行われるようにするために、
必要な波形加工処理等を行うようにしてもよい。
The sampled original waveform may not be used as it is as a waveform to be compressed, but may be subjected to necessary processing before being compressed. Examples of such processing include, for example, processing to extract the amplitude envelope of the original waveform, processing to remove the amplitude envelope from the original waveform and normalize its amplitude level to a uniform level, and conversely, adding an arbitrary amplitude envelope. There are various types of processing, such as processing, processing for applying appropriate filtering, processing for matching the phases of waveforms, and processing for extracting noise components, and one or more of them may be performed. Further, instead of storing the entire processed original waveform in the memory, a predetermined section may be cut out and stored. In this case, processing is also performed to set the start address of the original waveform to be stored in the memory, and if there is a section to be read out repeatedly, to set the address of the section to be repeatedly read out. Also, in order to ensure that repeated reading is performed smoothly,
Necessary waveform processing or the like may be performed.

【0013】次に、波形データを圧縮してメモリに書き
込む処理を行う。ここではまず、各種の「データ設定」
を行う。この「データ設定」の1つとして読み出しアド
レス設定と書込みアドレス設定がある。読み出しアドレ
ス設定とは、上述のように必要な加工処理が施された原
波形すなわち圧縮対象波形を記憶したメモリから該波形
を読み出すべきアドレスの範囲を設定することである。 つまり、原波形メモリの読み出しスタートアドレスと読
み出し終了アドレス、あるいは繰り返し読み出し範囲を
設定するアドレスなどを設定する。書込みアドレス設定
とは、データ圧縮処理後の波形データをメモリのどのア
ドレス範囲に書き込むべきかを指定するアドレスを設定
する処理である。後述のように、以下の実施例では、デ
ータ圧縮処理後の波形データの1サンプルのビット数(
すなわちデータ長)は必ずしもメモリの1アドレスのビ
ット数に一致していず、しかも可変ビット長であり、し
かも、1サンプルが1アドレスに1対1で記憶されるの
ではなく、詰め込まれて書き込まれるようになっている
。従って、原波形のデータ量(サンプル数)が判ってい
ても、データ圧縮処理後の波形データの全記憶アドレス
がどれだけになるかは、圧縮処理が終わってみなければ
判らない。そこで、この書込みアドレス設定では、最初
のデータを書き込むべきスタートアドレスは設定するこ
とができるが、書込み終了アドレスは設定することがで
きない。追って説明するように、書込み終了アドレスは
、データ圧縮処理及び書込み処理が終了した時点で、自
動的に記憶され、後の再生処理に便ならしめるようにな
っている。
Next, the waveform data is compressed and written into memory. First, let's start with various "data settings"
I do. One of these "data settings" is a read address setting and a write address setting. The read address setting is to set the address range from which the original waveform that has been subjected to the necessary processing as described above, that is, the waveform to be compressed, is to be read from the memory stored therein. That is, the read start address and read end address of the original waveform memory, or the address for setting the repeat read range, etc. are set. The write address setting is a process of setting an address that specifies in which address range of the memory the waveform data after data compression processing should be written. As described later, in the following examples, the number of bits of one sample of waveform data after data compression processing (
In other words, the data length (data length) does not necessarily match the number of bits at one address in memory, and is variable bit length, and one sample is not stored one-to-one at one address, but is packed and written. It looks like this. Therefore, even if the amount of data (number of samples) of the original waveform is known, it is not possible to know how many storage addresses the waveform data will have after data compression processing until the compression processing is completed. Therefore, in this write address setting, the start address to which the first data should be written can be set, but the write end address cannot be set. As will be explained later, the write end address is automatically stored when the data compression process and write process are completed, so as to facilitate later reproduction process.

【0014】ここで行う「データ設定」の別の例として
、制限ビット数の設定がある。これは、連続する複数周
期からなる圧縮対象波形を複数の区間(これを単にブロ
ック若しくはブロック区間という)に分け、データ縮小
及び圧縮処理後の1サンプルデータのビット数を各区間
毎に制限するために、各区間毎にその制限ビット数を任
意に設定することである。発音開始から終了に至る波形
の全区間においては、アタック部のように細かな再現性
が要求される部分もあれば、減衰部分のように細かな再
現性がそれほど要求されない部分もある。そこで、再現
の際に要求される精密度に応じて、データ縮小及び圧縮
処理後のビット数を可変するようにすれば、データビッ
ト数の縮減にも寄与するので、効率的である。そのため
に、このように、波形を複数区間に分け、各区間毎に制
限ビット数を任意に設定できるようにしたのである。
Another example of the "data setting" performed here is setting the limit number of bits. This is because the waveform to be compressed, which consists of multiple continuous cycles, is divided into multiple sections (simply referred to as blocks or block sections), and the number of bits of one sample data after data reduction and compression processing is limited for each section. The second method is to arbitrarily set the limit number of bits for each section. In the entire section of the waveform from the start to the end of the sound, there are parts such as the attack part that require fine reproducibility, and there are parts such as the decay part that do not require very fine reproducibility. Therefore, it is efficient to vary the number of bits after data reduction and compression processing depending on the precision required for reproduction, since this also contributes to reducing the number of data bits. For this purpose, the waveform is divided into multiple sections, and the limit number of bits can be arbitrarily set for each section.

【0015】ここで行う「データ設定」の別の例として
、重み係数(シフトデータ)の設定がある。波形圧縮処
理にあたって、所定のデータ圧縮処理を行う一方で、そ
の所定のデータ圧縮処理の前後及びその最中のいずれか
の段階で、波形データの値を任意の重み係数に従って縮
小する縮小処理を行うことが、この実施例における特徴
の1つである。そのための重み係数を設定する。以下の
例では、重み付け演算をデータシフトによって行うよう
にしているため、重み係数をシフトデータとも言う。 以下の実施例では、重み係数(シフトデータ)は、上記
各ブロック区間毎に設定できるようになっており、各ブ
ロック区間毎にそれぞれ独立の重み係数に従ってデータ
縮小処理を行うようになっている。なお、ここで行う「
データ設定」の仕方としては、設定スイッチ等を使用し
たマニュアル設定に限らず、外部から設定済みのデータ
を取り込むようにしてもよい。また、重み係数(シフト
データ)の設定は、このデータ設定の段階でマニュアル
若しくは外部入力により設定するようにしてもよいが、
データ圧縮処理の実行中において上記制限ビット数に応
じて自動的に設定及び変更するようにしてもよい。
Another example of the "data setting" performed here is the setting of weighting coefficients (shift data). In the waveform compression process, while performing a predetermined data compression process, a reduction process is performed to reduce the value of the waveform data according to an arbitrary weighting coefficient either before, during, or after the predetermined data compression process. This is one of the features of this embodiment. Set the weighting coefficient for that purpose. In the example below, since the weighting calculation is performed by data shifting, the weighting coefficients are also referred to as shift data. In the following embodiments, weighting coefficients (shift data) can be set for each block section, and data reduction processing is performed in accordance with independent weighting coefficients for each block section. In addition, here
The method of ``data setting'' is not limited to manual setting using a setting switch or the like, and it is also possible to import already set data from an external source. Also, the weighting coefficient (shift data) may be set manually or by external input at this data setting stage.
The limit bit number may be automatically set and changed in accordance with the above-mentioned limit number of bits during execution of data compression processing.

【0016】次に、「データ圧縮及び縮小処理」を行う
。ここでは、線形予測法等の所定のデータ圧縮技術に従
う「所定のデータ圧縮処理」と、上記重み係数(シフト
データ)に従う「データ縮小処理」を行う。「所定のデ
ータ圧縮処理」は、線形予測法等の所定のデータ圧縮技
術に従う、いわばメインのデータ圧縮処理である。それ
に対して、「データ縮小処理」は、この「所定のデータ
圧縮処理」の前乃至後のいずれかの段階で、波形データ
の値を上記重み係数(シフトデータ)に従って更に縮小
する処理であり、いわばサブのデータ圧縮処理である。 この「データ圧縮及び縮小処理」の詳細については後述
する。
Next, "data compression and reduction processing" is performed. Here, a "predetermined data compression process" according to a predetermined data compression technique such as a linear prediction method, and a "data reduction process" according to the weighting coefficient (shift data) are performed. The "predetermined data compression process" is a so-called main data compression process that follows a predetermined data compression technique such as a linear prediction method. On the other hand, "data reduction processing" is a process in which the value of waveform data is further reduced according to the weighting coefficient (shift data) at any stage before or after this "predetermined data compression processing", This is, so to speak, a sub-data compression process. Details of this "data compression and reduction processing" will be described later.

【0017】次に、「データ圧縮及び縮小処理」後の波
形サンプルデータを、可変ビット長のデータに加工する
処理を行う。ここでは、1ブロック区間をさらに複数の
区間(これを単にフレーム若しくはフレーム区間という
)に分け、各フレーム区間毎に、波形サンプルデータの
ビット長を決定し、そのビット長に納まるように各波形
サンプルデータのビット数を切り揃える。例えば、各フ
レーム区間毎に、波形サンプルデータの有効ビット数の
最大値を検出し、これをそのフレーム区間における波形
サンプルデータの共通のビット長として決定する。例え
ば、16ビット規格で示された波形サンプルデータにお
いて最上位ビットから連続して“0”のビットが5ビッ
ト連続しているとすると、その“0”の上位5ビットが
実質的な値に対応していない無視できるビットであり、
その下位の11ビットが有効ビットである。そのフレー
ム内の有効ビット数の最大値は、そのフレーム内の波形
サンプルデータの有効ビットをすべてカバーし得るビッ
ト長である。従って、そのように決定したビット長で、
そのフレーム内のすべての波形サンプルデータのビット
数を切り揃えても、有効ビットをすべて残すことができ
る。こうして、波形サンプルデータは、各フレーム区間
毎に可変ビット長のデータとなるように処理される。こ
の可変ビット長加工処理は、人手によらずに、有効ビッ
ト数の最大値の検出に基づき自動的に行うことができる
。勿論、人手によって各フレーム区間毎のデータ可変ビ
ット長を設定入力することも可能である。
Next, the waveform sample data after the "data compression and reduction processing" is processed into variable bit length data. Here, one block section is further divided into multiple sections (these are simply called frames or frame sections), the bit length of the waveform sample data is determined for each frame section, and each waveform sample is arranged so that it fits within that bit length. Trim the number of bits of data. For example, for each frame section, the maximum value of the number of effective bits of waveform sample data is detected, and this is determined as the common bit length of the waveform sample data in that frame section. For example, if there are 5 consecutive "0" bits starting from the most significant bit in the waveform sample data shown in the 16-bit standard, the upper 5 bits of "0" correspond to the actual value. is a negligible bit that does not
The lower 11 bits are valid bits. The maximum value of the number of effective bits within the frame is a bit length that can cover all the effective bits of the waveform sample data within the frame. Therefore, with the bit length determined in this way,
Even if the number of bits of all waveform sample data in that frame is rounded down, all valid bits can be retained. In this way, the waveform sample data is processed so that it becomes variable bit length data for each frame section. This variable bit length processing can be performed automatically based on detection of the maximum value of the number of effective bits, without manual intervention. Of course, it is also possible to manually set and input the data variable bit length for each frame section.

【0018】次に、可変ビット長に加工された「データ
圧縮及び縮小処理」後の波形サンプルデータを、メモリ
に書き込む処理を行う。前述のように、可変ビット長の
波形サンプルデータをメモリに記憶する場合に、各アド
レスに1対1に記憶するのではなく、詰め込んで記憶す
るようにしているため、1つの波形サンプルデータを、
1アドレスの一部のビット領域に、もしくは複数のアド
レスにまたがって、書き込む制御を行う。また、後段の
再生処理の際に使用できるようにするために、データ圧
縮に使用した圧縮係数、データ縮小に使用した重み係数
、波形サンプルデータのビット数を示すデータ、などの
各種制御データを隠れビットデータとして波形サンプル
データに混在させて書き込む制御を行う。このような書
き込み処理の詳細については後述する。
Next, the waveform sample data processed into a variable bit length and subjected to "data compression and reduction processing" is written into the memory. As mentioned above, when storing variable bit length waveform sample data in memory, it is not stored one-to-one at each address, but is packed and stored, so one waveform sample data
Write control is performed in a part of the bit area of one address or across multiple addresses. In addition, various control data such as the compression coefficient used for data compression, the weighting coefficient used for data reduction, and data indicating the number of bits of waveform sample data are hidden so that they can be used during subsequent playback processing. Controls writing by mixing it with waveform sample data as bit data. Details of such write processing will be described later.

【0019】再生処理においては、まず、通常知られて
いるように楽音発生用の各種パラメータ(エンベロープ
設定パラメータや効果設定パラメータ、音色制御パラメ
ータなど)を設定する。そして、鍵盤等の発音指定手段
により発生音の音高指定操作もしくは発音指定操作を行
い、指定された音高に従いメモリから波形サンプルデー
タを順次読み出す。この読み出しに伴い、読み出した波
形サンプルデータは、前述のように、可変ビット長から
なるデータであるため、これを所定の均一のビット長に
直す整合化処理を行う。同時に、波形サンプルデータ中
に混在されている隠れビットデータすなわち各種制御デ
ータを、メモリ読み出しデータの中から取り出し、波形
サンプルデータから分離する処理を行う。このようなビ
ット長整合化処理及び隠れビット分離処理の詳細につい
ては後述する。次に、圧縮化されている波形サンプルデ
ータを所定の符号化フォーム(例えばPCMフォーム)
に復調する復調処理と、任意の重み付けで縮小化されて
いる該波形サンプルデータを均一の重みに復元する演算
処理を行う。その際に、上記のように分離した隠れビッ
トデータすなわち制御データ中に含まれる圧縮係数と重
み係数を使用し、圧縮係数に応じて復調処理を行うと共
に重み係数に応じて重み復元演算処理を行う。これらの
処理についても詳細例は後述する。こうして,最終的に
は、通常のデータフォーム(例えば均一の重みのPCM
フォームのデータ)に復元された波形サンプルデータを
、D/A変換し、音響的に発音する。
In the reproduction process, first, as is generally known, various parameters for musical tone generation (envelope setting parameters, effect setting parameters, timbre control parameters, etc.) are set. Then, a pitch designation operation or a sound production designation operation is performed using a sound generation designation means such as a keyboard, and waveform sample data are sequentially read out from the memory according to the designated pitch. Along with this reading, since the read waveform sample data is data with variable bit length as described above, matching processing is performed to convert it into a predetermined uniform bit length. At the same time, hidden bit data, that is, various control data mixed in the waveform sample data is extracted from the memory read data and separated from the waveform sample data. Details of such bit length matching processing and hidden bit separation processing will be described later. Next, the compressed waveform sample data is converted into a predetermined encoding form (for example, PCM form).
A demodulation process is performed to demodulate the waveform sample data, and an arithmetic process is performed to restore the waveform sample data, which has been reduced by arbitrary weighting, to a uniform weight. At that time, the compression coefficient and weighting coefficient contained in the hidden bit data, that is, the control data, separated as described above are used, and demodulation processing is performed according to the compression coefficient, and weight restoration calculation processing is performed according to the weighting coefficient. . Detailed examples of these processes will be described later. Thus, the final result is a normal data form (e.g. PCM with uniform weights).
The waveform sample data restored to form data) is D/A converted and acoustically produced.

【0020】−−ハード構成例の説明−−次に、上述の
ような波形データの圧縮及び再生処理を実施するために
使用することができる電子楽器の一実施例のハードウェ
ア構成例につき図2により説明する。図2に示された電
子楽器は様々な処理及び制御をマイクロコンピュータに
よって行うものであり、CPU(中央処理ユニット)1
0,プログラム及び各種データを記憶したROM11,
ワーキング及びデータ記憶用のRAM12を具えている
。アナログ信号外部入力部13は、アナログ音響信号を
外部より入力するためのもので、例えばマイクロフォン
等を含むものである。サンプリング装置14はアナログ
信号外部入力部13より入力したアナログ音響信号をサ
ンプリングし、PCM符号化されたディジタルの波形サ
ンプルデータに変換するものである。
--Explanation of Hardware Configuration Example--Next, FIG. This is explained by: The electronic musical instrument shown in FIG. 2 performs various processes and controls using a microcomputer, and a CPU (central processing unit) 1
0, ROM11 that stores programs and various data,
It includes RAM 12 for working and data storage. The analog signal external input section 13 is for inputting an analog audio signal from the outside, and includes, for example, a microphone. The sampling device 14 samples the analog audio signal input from the analog signal external input section 13 and converts it into PCM-encoded digital waveform sample data.

【0021】波形メモリ15は波形データを記憶するた
めの読み書き可能なメモリであり、例えばRAMからな
り、必要に応じてバッテリバックアップその他の手段に
より不揮発化されていてよい。波形メモリインタフェー
ス16は波形メモリ15の読み書きを制御するものであ
る。ディスクメモリ装置17は波形データを記憶するた
めの大容量メモリとそのドライバからなるものであり、
内蔵式ハードディスクあるいは着脱式フロッピーディス
クなど、どのようなタイプのものでもよい。ディスクイ
ンタフェース18はディスクメモリ装置17に対する読
み書きデータのインタフェースである。DMAコントロ
ーラ19は、ディスクメモリ装置17の読み書きをDM
A方式で制御するものであり、該ディスクメモリ装置1
7と波形メモリ15との間の波形データの転送等に際し
て使用される。
The waveform memory 15 is a readable and writable memory for storing waveform data, and is composed of, for example, a RAM, and may be made non-volatile by battery backup or other means as necessary. The waveform memory interface 16 controls reading and writing of the waveform memory 15. The disk memory device 17 consists of a large capacity memory for storing waveform data and its driver,
It can be of any type, such as a built-in hard disk or a removable floppy disk. The disk interface 18 is an interface for reading and writing data to the disk memory device 17. The DMA controller 19 performs DM reading and writing of the disk memory device 17.
It is controlled by method A, and the disk memory device 1
It is used when transferring waveform data between 7 and the waveform memory 15.

【0022】アナログ信号外部入力部13より入力した
アナログ音響波形信号をPCM符号化してなる波形サン
プルデータに対して、波形データ圧縮処理を施す。この
外部よりサンプリングした圧縮対象たる原波形データは
、波形メモリ15に記憶するようにしてもよいし、ディ
スクメモリ装置17に一旦記憶するようにしてもよい。 原波形データに対する前述の必要に応じた加工処理(エ
ンベロープ除去やアタック部及び繰り返し部の抽出又は
作成など)は、この電子楽器のマイクロコンピュータを
使用して行ってもよいし、ディスクメモリ装置17に一
旦記憶して別途の波形プロセッサ若しくは波形処理用コ
ンピュータにセットし、そこで行ってもよい。前者の場
合は、その加工処理の過程でのバッファメモリとしては
RAM12や波形メモリ15の所定エリアを使用してよ
く、最終的に加工処理済みの多数のサンプル点からなる
複数周期の圧縮対象波形データが波形メモリ15に記憶
される。後者の場合は、加工処理済みの多数のサンプル
点からなる複数周期の圧縮対象波形データを、ディスク
メモリ装置17からこの電子楽器内に取り込み、波形メ
モリ15に記憶する。勿論、別途の適宜のサンプリング
システムでサンプリングした原波形データをフロッピー
ディスク等に記憶し、これをディスクメモリ装置17か
らこの電子楽器内に取り込み、波形メモリ15に記憶す
るようにしてもよい。
Waveform data compression processing is performed on waveform sample data obtained by PCM encoding an analog acoustic waveform signal inputted from the analog signal external input section 13. The original waveform data sampled from the outside and to be compressed may be stored in the waveform memory 15 or may be temporarily stored in the disk memory device 17. The aforementioned necessary processing of the original waveform data (e.g., envelope removal, extraction or creation of attack parts and repeat parts) may be performed using the microcomputer of this electronic musical instrument, or may be performed in the disk memory device 17. It is also possible to temporarily store the information, set it in a separate waveform processor or waveform processing computer, and perform the processing there. In the former case, a predetermined area of the RAM 12 or waveform memory 15 may be used as a buffer memory during the processing process, and the final waveform data to be compressed for multiple cycles consisting of a large number of processed sample points is is stored in the waveform memory 15. In the latter case, a plurality of cycles of waveform data to be compressed consisting of a large number of processed sample points are taken into the electronic musical instrument from the disk memory device 17 and stored in the waveform memory 15. Of course, the original waveform data sampled by a separate appropriate sampling system may be stored in a floppy disk or the like, and then imported into this electronic musical instrument from the disk memory device 17 and stored in the waveform memory 15.

【0023】上記のようにして波形メモリ15内に準備
された圧縮対象波形に対して所定のデータ圧縮処理及び
縮小化処理を施す。この実施例では、データ圧縮処理及
び縮小化処理は、マイクロコンピュータの制御に基づき
実行される。操作子部20は、電子楽器の操作パネル部
において通常設けられている音色選択/設定/制御用の
各種スイッチやその他楽音要素や各種効果を選択/設定
/制御するためのスイッチやディスプレイ等を具備して
いるほか、波形の加工処理やデータ圧縮処理及び縮小化
処理の際に前述の各種のデータを設定するために使用す
るスイッチやディスプレイ等を具備していてよいが、そ
の詳細は省略する。波形バッファメモリ21は、データ
圧縮処理及び縮小化処理を実行しているときに、処理中
の若しくは処理済みの波形データを一時記憶するバッフ
ァである。このバッファメモリ21に記憶したデータ圧
縮及び縮小処理済みの波形データを読み出し、前述の詰
め込み処理及び隠れビット挿入処理を行いながら、該処
理済み波形データを波形メモリ15に書き込む。
Predetermined data compression processing and reduction processing are performed on the waveform to be compressed prepared in the waveform memory 15 as described above. In this embodiment, data compression processing and reduction processing are executed under the control of a microcomputer. The operator section 20 includes various switches for tone selection/setting/control that are normally provided in the operation panel section of an electronic musical instrument, as well as switches and displays for selecting/setting/controlling musical tone elements and various effects. In addition, it may also include switches, displays, etc. used to set the various data mentioned above during waveform processing, data compression, and reduction processing, but the details thereof will be omitted. The waveform buffer memory 21 is a buffer that temporarily stores waveform data that is being processed or has been processed while data compression processing and reduction processing are being executed. The waveform data that has been subjected to data compression and reduction processing stored in the buffer memory 21 is read out, and the processed waveform data is written to the waveform memory 15 while performing the above-mentioned stuffing processing and hidden bit insertion processing.

【0024】鍵盤部22は通常知られているように、発
生すべき楽音の音高を指定するための複数の鍵を具備し
ている。楽音の再生に際しては、操作子部20で、通常
知られているように楽音発生用の各種パラメータを所望
の状態に設定する。そして、鍵盤部22で所望の鍵を押
圧する。音源部23は、操作子部20における各種パラ
メータ設定状態及び鍵盤部22の押鍵情報に応じて、波
形メモリ15から波形データを読み出し、これに基づき
楽音信号を発生するものである。この音源部23では、
前述のデータビット長整合化処理及び隠れビット分離処
理を行うようになっていると共に、圧縮化されている波
形サンプルデータの復調処理及び重み復元演算処理も行
う。音源部23から発生されたディジタル波形サンプル
信号はD/A変換器24でアナログ信号に変換され、サ
ウンドシステム25に与えられて、音響的に発音される
As is generally known, the keyboard section 22 is equipped with a plurality of keys for specifying the pitch of musical tones to be generated. When reproducing musical tones, various parameters for generating musical tones are set to desired states using the operator section 20, as is generally known. Then, a desired key is pressed on the keyboard section 22. The sound source section 23 reads waveform data from the waveform memory 15 in accordance with various parameter setting states in the operator section 20 and key press information on the keyboard section 22, and generates musical tone signals based on this. In this sound source section 23,
In addition to performing the data bit length matching processing and hidden bit separation processing described above, it also performs demodulation processing of compressed waveform sample data and weight restoration calculation processing. The digital waveform sample signal generated from the sound source section 23 is converted into an analog signal by the D/A converter 24, and is applied to the sound system 25, where it is acoustically produced.

【0025】−−ブロック及びフレームの説明−−波形
メモリ15に記憶されている圧縮対象波形は、PCM符
号化された一定ビット長(例えば1サンプルが16ビッ
ト)のデータであり、多数のサンプル点かなる。これを
圧縮処理する場合、前述のようにブロック区間とフレー
ム区間に分けて取り扱う。一例として、1つのブロック
は1024サンプルからなり、1音に対応する一連の圧
縮対象波形は、通常、全体としてそれよりも多数のサン
プル数からなり、従って、ブロック区間も複数ブロック
に区分することができる。1つのブロックは64フレー
ム区間からなり、従って、1フレーム区間は16サンプ
ル点からなる。波形データの圧縮及び縮小処理にあたっ
ては、各ブロック区間毎に夫々固有の圧縮係数及び重み
係数に従って処理を行う。つまり、圧縮係数及び重み係
数は、1つのブロック区間内では共通である。波形デー
タの可変ビット長加工処理にあたっては、各フレーム区
間毎に夫々固有の可変ビット長に設定する。つまり、波
形サンプルデータのビット長は1つのフレーム区間内で
は共通である。
--Description of Blocks and Frames-- The waveform to be compressed stored in the waveform memory 15 is PCM encoded data with a constant bit length (for example, 1 sample is 16 bits), and consists of many sample points. It will come true. When compressing this data, it is handled separately into a block section and a frame section as described above. As an example, one block consists of 1024 samples, and a series of waveforms to be compressed corresponding to one note usually consists of a larger number of samples as a whole. Therefore, the block interval may also be divided into multiple blocks. can. One block consists of 64 frame sections, and therefore one frame section consists of 16 sample points. When compressing and reducing waveform data, processing is performed according to compression coefficients and weighting coefficients unique to each block section. In other words, the compression coefficient and weighting coefficient are common within one block section. In variable bit length processing of waveform data, a unique variable bit length is set for each frame section. In other words, the bit length of the waveform sample data is common within one frame section.

【0026】−−圧縮及び書込みの概略−−図3は、波
形データの圧縮からメモリへの書込みに至るまでの処理
の全体像の概略を示すフローチャートであり、マイクロ
コンピュータによる制御の下で実行されるものである。 まず、ステップ30では、前述の「データ設定」で設定
された各種データを受け取り、データ圧縮処理を開始で
きる状態にする。例えば、波形メモリ15における圧縮
対象波形の読み出しスタートアドレスや各ブロック毎の
制限ビット数データなどが、前述のように、操作者の希
望に応じて設定されるので、これを受け取る。次のステ
ップ31では、圧縮処理中のブロック区間を識別するた
めのブロック番号をカウントするブロックカウンタと、
該ブロック内のサンプル点を識別するためのサンプル番
号をカウントするサンプルカウンタの内容を初期値0に
リセットする。また、各種レジスタの内容を所定の初期
値に夫々設定する。例えば、制限ビット数を記憶するレ
ジスタには、各ブロック毎に設定された制限ビット数デ
ータをセットする。
--Outline of Compression and Writing-- FIG. 3 is a flowchart showing an overview of the entire process from compression of waveform data to writing to memory, which is executed under the control of a microcomputer. It is something that First, in step 30, the various data set in the above-mentioned "data setting" are received, and a state is made in which data compression processing can be started. For example, the reading start address of the waveform to be compressed in the waveform memory 15, the limit bit number data for each block, etc. are set according to the operator's wishes as described above, and are received. In the next step 31, a block counter that counts a block number for identifying a block section under compression processing;
The contents of a sample counter that counts sample numbers for identifying sample points within the block are reset to an initial value of 0. Also, the contents of various registers are set to predetermined initial values, respectively. For example, limit bit number data set for each block is set in a register that stores the limit bit number.

【0027】次のステップ32では、上述のように設定
された読み出しスタートアドレスに基づき、圧縮対象波
形の最初の1ブロック区間の波形データを波形メモリ1
5から読み出す。そして、この最初の1ブロック区間の
波形データに対して、所定のデータ圧縮処理及び縮小化
処理を施す。このデータ圧縮処理及び縮小化処理の具体
例については追って説明する。次のステップ33では、
波形スタートアドレステーブルWSTに、これから圧縮
する波形データを記憶するメモリエリアのスタートアド
レスを指示するデータを記憶する。圧縮した波形データ
を波形メモリ15に書き込むとき、この波形スタートア
ドレステーブルWSTに記憶したスタートアドレスを参
照し、そのスタートアドレスから圧縮波形データの書込
みを開始する。そして、該圧縮波形データを読み出すと
きは、この波形スタートアドレステーブルWSTに記憶
したスタートアドレスを参照し、そのスタートアドレス
から読み出しを開始する。次のステップ34では、圧縮
波形データを記憶する領域のヘッダ部において、該圧縮
波形データのヘッドデータを書き込む。
In the next step 32, the waveform data of the first block section of the waveform to be compressed is stored in the waveform memory 1 based on the read start address set as described above.
Read from 5. Then, predetermined data compression processing and reduction processing are performed on the waveform data of this first one block section. Specific examples of this data compression processing and reduction processing will be explained later. In the next step 33,
The waveform start address table WST stores data indicating the start address of a memory area in which waveform data to be compressed is to be stored. When writing compressed waveform data into the waveform memory 15, the start address stored in this waveform start address table WST is referred to, and writing of the compressed waveform data is started from that start address. When reading the compressed waveform data, the start address stored in the waveform start address table WST is referred to and reading is started from the start address. In the next step 34, head data of the compressed waveform data is written in the header section of the area for storing the compressed waveform data.

【0027】ここで、波形メモリ15における圧縮波形
データの記憶領域のフォーマットを例示すると、図4の
ようである。波形番号1〜nは、n種類の音若しくは音
色に対応するものであり、n種類の音若しくは音色に対
応する波形データを波形メモリ15で記憶しておくこと
ができる。nの数は固定であってもよいし、可変であっ
てもよい。波形スタートアドレステーブルWSTは、各
波形番号1〜n毎のスタートアドレスデータを記憶する
。データエリアは、各波形番号1〜n毎の波形データを
記憶するエリアであり、各波形番号1〜nに対応してそ
れぞれヘッダ部と波形サンプルデータ記憶部を有してい
る。前記ステップ32では、これから圧縮処理をしよう
とする波形に割当てた波形番号に対応する波形スタート
アドレステーブルWSTにスタートアドレスデータを書
き込む。そして、このスタートアドレスデータは、デー
タエリアにおける当該波形番号に関する波形データ記憶
エリアの先頭アドレスを特定する。
An example of the format of the storage area of compressed waveform data in the waveform memory 15 is shown in FIG. Waveform numbers 1 to n correspond to n types of sounds or tones, and waveform data corresponding to n types of tones or tones can be stored in the waveform memory 15. The number n may be fixed or variable. The waveform start address table WST stores start address data for each waveform number 1 to n. The data area is an area for storing waveform data for each waveform number 1 to n, and has a header section and a waveform sample data storage section corresponding to each waveform number 1 to n. In step 32, start address data is written into the waveform start address table WST corresponding to the waveform number assigned to the waveform to be compressed. This start address data specifies the start address of the waveform data storage area regarding the waveform number in the data area.

【0028】ヘッダ部に記憶するヘッドデータの一例を
示すと、波形名データ、圧縮有無フラグデータ、エンベ
ロープ識別データ、イニシャル再生制御データ、アドレ
スサイズデータ(若しくは終了アドレスデータ)などが
ある。波形名データとは波形名(例えば音色名)を示す
データである。圧縮有無フラグデータとは、この波形が
圧縮処理を施したものであるか否かを示すフラグである
。この実施例では、圧縮処理を施すことを前提として説
明を行っているが、圧縮処理を行わないことを選択する
ことも可能であるので、このようなフラグが設けられて
いる。エンベロープ識別データとは、この波形データが
、発音開始から終了に至るまでの全体の音量エンベロー
プが付与されているものであるか、あるいはアタック部
のみエンベロープが付与されているものであるか、ある
いは時変動する音量エンベロープは付与されていない(
つまり一定レベルに規格化してある)か、等の音量エン
ベロープ付与状態を識別するデータである。
Examples of head data stored in the header section include waveform name data, compression flag data, envelope identification data, initial playback control data, and address size data (or end address data). The waveform name data is data indicating a waveform name (for example, a timbre name). The compression presence/absence flag data is a flag indicating whether or not this waveform has been subjected to compression processing. Although this embodiment is described on the assumption that compression processing will be performed, it is also possible to choose not to perform compression processing, so such a flag is provided. Envelope identification data refers to whether this waveform data has a volume envelope attached to it as a whole from the start to the end of the sound, or has an envelope attached only to the attack section, or whether the waveform data has an envelope attached only to the attack section, or No fluctuating volume envelope is attached (
In other words, it is data that identifies the state of applying a volume envelope, such as whether the volume has been standardized to a certain level.

【0029】イニシャル再生制御データとは、最初のブ
ロック区間及びフレーム区間の波形データを再生するの
に必要な各種の制御データのことであり、圧縮化されて
いる波形サンプルデータを復調するために必要な圧縮係
数データ、重み復元演算処理に必要な重み係数データ、
データビット長を整合化するのに必要なビット数データ
、などからなる。データ圧縮と重み付け縮小化処理は1
ブロック内で共通であり、可変データビット長は1フレ
ーム内で共通であるため、イニシャル再生制御データは
、第1ブロックに関する圧縮係数及び重み係数データと
、第1ブロックの第1フレームに関するビット数データ
とからなるものである。なお、第2ブロック以降の各ブ
ロックに関する圧縮係数及び重み係数データは、当該ブ
ロックの1つ前のブロックの波形サンプルデータの記憶
エリアにおいて隠れビットデータとして該波形サンプル
データに混在させて書き込むようにする。また、第1ブ
ロックの第2フレーム以降の各フレームに関するビット
数データは、当該フレームの1つ前のフレームの波形サ
ンプルデータの記憶エリアにおいて隠れビットデータと
して該波形サンプルデータに混在させて書き込むように
する。第1ブロックに関する圧縮係数及び重み係数デー
タと、第1ブロックの第1フレームに関するビット数デ
ータは、その前のブロック又はフレームが存在していな
いので、イニシャル再生制御データとしてヘッダ部に記
憶しておくのである。
[0029] Initial reproduction control data refers to various types of control data necessary for reproducing waveform data in the first block section and frame section, and is necessary for demodulating compressed waveform sample data. compression coefficient data, weight coefficient data necessary for weight restoration calculation processing,
It consists of the bit number data necessary to match the data bit length, etc. Data compression and weighted reduction processing are 1
Since the variable data bit length is common within a block and the variable data bit length is common within one frame, the initial reproduction control data includes compression coefficient and weighting coefficient data regarding the first block, and bit number data regarding the first frame of the first block. It consists of. Note that the compression coefficient and weighting coefficient data for each block after the second block are written mixed with the waveform sample data as hidden bit data in the storage area for the waveform sample data of the block immediately before the block. . In addition, the bit number data regarding each frame after the second frame of the first block is written as hidden bit data mixed with the waveform sample data in the storage area of the waveform sample data of the frame immediately before the current frame. do. The compression coefficient and weighting coefficient data regarding the first block and the bit number data regarding the first frame of the first block are stored in the header part as initial playback control data since the previous block or frame does not exist. It is.

【0030】アドレスサイズデータ(若しくは終了アド
レスデータ)は、この波形番号に係る波形データを記憶
している全体のアドレス数(アドレスサイズ)を示すデ
ータである。これは、この波形番号に係る最後の波形サ
ンプルデータを記憶しているアドレスつまり終了アドレ
スを示すデータであってもよい。前述のように、データ
圧縮処理後の波形データの1サンプルのビット数(すな
わちデータ長)は必ずしもメモリの1アドレスのビット
数に一致していず、しかも可変ビット長であり、しかも
、1サンプルが1アドレスに1対1で記憶されるのでは
なく、詰め込まれて書き込まれるようになっているため
、データ圧縮処理後の波形データの全記憶アドレスがど
れだけになるかは、圧縮処理が終わってみなければ判ら
ない。そのため、データ圧縮処理及び書込み処理が終了
した時点で判明するアドレスサイズデータ若しくは終了
アドレスデータをこのヘッダ部に書込み、後の再生処理
に便ならしめるようになっている。従って、前記ステッ
プ34の段階では、アドレスサイズデータ若しくは終了
アドレスデータはヘッダ部に書き込まれない。
Address size data (or end address data) is data indicating the total number of addresses (address size) that store waveform data related to this waveform number. This may be data indicating the address where the last waveform sample data related to this waveform number is stored, that is, the end address. As mentioned above, the number of bits of one sample of waveform data after data compression processing (that is, data length) does not necessarily match the number of bits of one address in memory, and the bit length is variable. Since the waveform data is not stored one-to-one in one address, but is written in a packed manner, the total number of storage addresses for the waveform data after data compression processing is determined only after the compression processing is completed. You won't know until you see it. Therefore, the address size data or end address data that becomes clear when data compression processing and writing processing are completed is written in this header section to facilitate later reproduction processing. Therefore, at step 34, address size data or end address data is not written to the header section.

【0031】なお、ヘッダ部に記憶するヘッドデータは
、上記の例に限らず、必要に応じてどのようなデータで
あってもよい。例えば、波形の一部区間を繰返し読み出
すようにする場合は、その繰返し読み出し区間を指定す
るためのループアドレスデータを記憶しておくようにし
てよい。また、複数のデータ圧縮方式のいずれかに従っ
て選択的にデータ圧縮を行う場合は、選択したデータ圧
縮方式を示すデータをヘッダ部に記憶し、復調に便なら
しめるものとする。あるいは、原波形の名前を示すデー
タをヘッダ部に記憶しておき、適宜読み出して表示して
、演奏者の参考に供することができるようにしてもよい
Note that the head data stored in the header section is not limited to the above example, and may be any data as required. For example, if a partial section of the waveform is to be repeatedly read out, loop address data for specifying the section to be repeatedly read out may be stored. Furthermore, when data is selectively compressed according to one of a plurality of data compression methods, data indicating the selected data compression method is stored in the header section to facilitate demodulation. Alternatively, data indicating the name of the original waveform may be stored in the header section, read out and displayed as appropriate, and provided for reference by the performer.

【0032】図3に戻ると、ステップ35では、圧縮対
象波形の次の1ブロック区間の波形データを波形メモリ
15から読み出し、そして、この読み出した1ブロック
区間の波形データに対して、所定のデータ圧縮処理及び
縮小化処理を施す。ステップ33の処理によってデータ
圧縮処理及び縮小化処理が施された第1ブロックの波形
データは、波形バッファメモリ21(図2)に一時記憶
されている。そして、このステップ35の処理によって
データ圧縮処理及び縮小化処理が施された第2ブロック
の波形データも、波形バッファメモリ21に一時記憶さ
れる。このように波形バッファメモリ21には、隣接す
る2つのブロック(先行するブロックとその次のブロッ
ク)の圧縮及び縮小処理済み波形データがそれぞれ一時
記憶されるようになっている。
Returning to FIG. 3, in step 35, the waveform data of the next one block section of the waveform to be compressed is read out from the waveform memory 15, and predetermined data is stored in the waveform data of the read one block section. Perform compression processing and reduction processing. The waveform data of the first block subjected to data compression processing and reduction processing in step 33 is temporarily stored in the waveform buffer memory 21 (FIG. 2). The waveform data of the second block that has been subjected to data compression processing and reduction processing through the processing of step 35 is also temporarily stored in the waveform buffer memory 21. In this way, the waveform buffer memory 21 temporarily stores compressed and reduced waveform data of two adjacent blocks (the preceding block and the next block).

【0033】次のステップ36では、波形バッファメモ
リ21に一時記憶している波形データのうち先行するブ
ロックの波形データを、可変ビット長のデータに加工し
て、これを波形メモリ15に書き込む処理を行う。ここ
では、先行するブロックの波形データを書き込む際に、
前ステップ35で圧縮処理が終了した次のブロックに関
する圧縮係数及び重み係数データを波形データに混在さ
せて書き込む処理を行う。この可変ビット長加工処理及
び書き込み処理の具体例については追って詳述する。な
お、このステップ36では最初は第1ブロックの波形デ
ータについてビット長加工及び書き込み処理を行うが、
その場合書き込みの先頭アドレスは前記スタートアドレ
ステーブルWSTによって指示される。
In the next step 36, the waveform data of the preceding block of the waveform data temporarily stored in the waveform buffer memory 21 is processed into variable bit length data and written into the waveform memory 15. conduct. Here, when writing the waveform data of the preceding block,
A process is performed in which the compression coefficient and weighting coefficient data regarding the next block whose compression process has been completed in the previous step 35 are mixed with the waveform data and written. Specific examples of this variable bit length processing and writing processing will be described in detail later. Note that in this step 36, bit length processing and writing processing are initially performed on the waveform data of the first block;
In that case, the start address for writing is indicated by the start address table WST.

【0034】次のステップ37では全ての波形データの
圧縮を終了したかを判断する。まだ、終了していなけれ
ば、ステップ38に行き、次のブロックを指示する。そ
して、前記ステップ35に戻り、該指示した次ブロック
についての波形データの圧縮及び縮小化処理を行い、ス
テップ36の処理を行う。こうして、ブロックを順次切
り換えて、ステップ35と36の処理を繰り返す。そし
て、全ての波形データの圧縮を終了すると、ステップ3
7がYESとなり、ステップ39に行く。ステップ39
では、現在処理中の当該波形番号に関するヘッダ部に、
当該波形データに関する前記アドレスサイズデータもし
くは終了アドレスデータを書き込む。詳しくは特に説明
しないが、圧縮された波形データを波形メモリ15に書
き込む際にはアドレスポインタによって書き込みアドレ
スを適切に指定するので、全ての波形データの圧縮を終
了したときアドレスポインタは終了アドレスを指示して
いる。従って、ステップ39では、当該波形データに関
する前記アドレスサイズデータもしくは終了アドレスデ
ータが自動的に判明するので、これを書き込むのである
In the next step 37, it is determined whether all waveform data has been compressed. If the process has not yet been completed, the process goes to step 38 to instruct the next block. Then, the process returns to step 35, and the waveform data for the designated next block is compressed and reduced, and the process of step 36 is performed. In this way, the blocks are sequentially switched and the processing of steps 35 and 36 is repeated. Then, when all waveform data has been compressed, step 3
7 becomes YES, and the process goes to step 39. Step 39
Now, in the header section regarding the waveform number currently being processed,
Write the address size data or end address data regarding the waveform data. Although it will not be explained in detail, when writing compressed waveform data to the waveform memory 15, the address pointer appropriately specifies the write address, so when all waveform data has been compressed, the address pointer will point to the end address. are doing. Therefore, in step 39, the address size data or end address data regarding the waveform data is automatically determined and is written.

【0035】−−圧縮及び縮小化処理(第1の実施例)
−− 前記ステップ32及び35で実行する波形データの圧縮
及び縮小化処理は、マイクロコンピュータの制御の下で
行われる。図5はマイクロコンピュータの制御の下で行
われる波形データ圧縮及び縮小化処理の一実施例(第1
の実施例)を示す機能ブロック図である。この波形デー
タ圧縮及び縮小化処理については、図示のような機能ブ
ロック図に従って説明を行うことにし、フローチャート
の提示を省略する。勿論、マイクロコンピュータによる
制御に限らず、図示のような機能ブロック図に従うハー
ドウェア回路によって波形データ圧縮及び縮小化処理を
行うこともできるのは言うまでもない。この第1の実施
例では、重み係数に応じた波形データの縮小化処理を、
フィルタを使用したデータ圧縮処理の前段階で行うよう
にしている。図5において、波形メモリ読み出し部40
は波形メモリ15から圧縮対象波形データを読み出すた
めのものであり、制御部41の制御により読み出しアド
レス信号が与えられる。制御部41は全体の制御を行う
ためのものであり、各部に制御信号を与える。ブロック
カウンタ42は現在処理中のブロック番号をカウントす
るものである。サンプルカウンタ43は現在処理中のサ
ンプル番号をカウントするものである。
--Compression and reduction processing (first embodiment)
-- The waveform data compression and reduction processing performed in steps 32 and 35 is performed under the control of a microcomputer. FIG. 5 shows an example of waveform data compression and reduction processing performed under the control of a microcomputer (the first
FIG. This waveform data compression and reduction processing will be explained according to the functional block diagram shown in the figure, and presentation of the flowchart will be omitted. Of course, it goes without saying that the waveform data compression and reduction processing can be performed not only by control by a microcomputer but also by a hardware circuit according to the functional block diagram shown in the figure. In this first embodiment, the waveform data reduction process according to the weighting coefficient is
This is done before the data compression process using filters. In FIG. 5, the waveform memory reading unit 40
is for reading the waveform data to be compressed from the waveform memory 15, and is given a read address signal under the control of the control section 41. The control section 41 is for overall control and provides control signals to each section. The block counter 42 counts the block number currently being processed. The sample counter 43 counts the number of samples currently being processed.

【0036】前述のように、初期状態において(図3の
ステップ31において)、制御部41の制御により、ブ
ロックカウンタ42とサンプルカウンタ43を初期値0
にリセットする。そして、1サンプル分の波形データの
圧縮及び縮小処理を行う毎にサンプルカウンタ43を1
カウントアップする。また、1ブロック分の処理を行う
毎にブロックカウンタ42を1カウントアップする。ま
た、サンプルカウンタ43は、1ブロック分の処理を開
始するときに0にリセットされる。また、圧縮対象波形
の範囲を指定する読み出しスタートアドレスが制御部4
1に取り込まれ、波形メモリ15の読み出しアドレスは
、このスタートアドレスにサンプルカウンタ43のカウ
ント値を加算し、かつブロックカウンタ42のカウント
値を所定の重みで(1024倍の重みで)加算すること
により、特定される。この読み出しアドレスデータは、
波形読み出し部40に与えられ、波形メモリ15から読
み出すべきサンプルデータのアドレスを指定する。 また、1フレーム区間は16サンプルからなるものとし
ているので、サンプルカウンタ43の5ビット目から上
のビットはフレーム番号を示すデータとしても使用され
る。
As described above, in the initial state (at step 31 in FIG. 3), the block counter 42 and sample counter 43 are set to the initial value 0 under the control of the control section 41.
Reset to . Then, each time the waveform data for one sample is compressed and reduced, the sample counter 43 is incremented by one.
Count up. Furthermore, the block counter 42 is incremented by one each time one block is processed. Further, the sample counter 43 is reset to 0 when starting processing for one block. Also, the read start address that specifies the range of the waveform to be compressed is set to the control unit 4.
1, and the read address of the waveform memory 15 is determined by adding the count value of the sample counter 43 to this start address, and adding the count value of the block counter 42 with a predetermined weight (1024 times the weight). , specified. This read address data is
It is given to the waveform reading unit 40 and specifies the address of sample data to be read from the waveform memory 15. Further, since one frame section is made up of 16 samples, the bits from the fifth bit onward of the sample counter 43 are also used as data indicating the frame number.

【0037】制限ビット数レジスタ44は、前述のよう
に各ブロック区間毎に予め設定された制限ビット数を指
示するデータをストアするものであり、図3のステップ
31による初期設定処理によって各ブロック区間毎の制
限ビット数指示データを該レジスタ44に取り込む。ブ
ロックカウンタ42の出力つまりブロック番号データに
応じて、現在処理中のブロックに対応して設定された制
限ビット数指示データをレジスタ44から読み出す。シ
フトデータ発生部45は、シフトデータつまり重み係数
を発生するものであり、制限ビット数レジスタ44から
与えられる当該ブロックに関する制限ビット数指示デー
タ及びその他のデータを考慮して、適切なシフトデータ
つまり重み係数を発生する。このシフトデータ発生部4
5から発生されたシフトデータは、シフトデータレジス
タ46にレジストされる。シフトデータレジスタ46に
レジストされたシフトデータつまり重み係数は、シフト
回路47(つまり重み演算回路)に与えられる。
The limit bit number register 44 stores data indicating the limit bit number set in advance for each block section, as described above, and the limit bit number register 44 stores data indicating the limit bit number set in advance for each block section. Each limit bit number instruction data is taken into the register 44. In accordance with the output of the block counter 42, that is, the block number data, limit bit number instruction data set corresponding to the block currently being processed is read from the register 44. The shift data generation unit 45 generates shift data, that is, weighting coefficients, and generates appropriate shift data, that is, weights, taking into account the limit bit number instruction data and other data regarding the block given from the limit bit number register 44. Generate coefficients. This shift data generating section 4
The shift data generated from 5 is registered in the shift data register 46. The shift data, that is, the weighting coefficient, registered in the shift data register 46 is given to a shift circuit 47 (that is, a weight calculation circuit).

【0038】シフト回路47は、波形読み出し部40を
介して波形メモリ15から読み出された波形サンプルデ
ータを入力し、このサンプルデータの値をシフトデータ
に応じたビット数だけ下位にシフトすることにより、該
サンプルデータの値の縮小化演算を行う。例えば、有効
ビット数が10ビットの波形サンプルデータを2ビット
下位にシフトしたとすると、該波形サンプルデータの有
効ビット数が8ビットに縮小化されることになる。シフ
ト回路47から出力される波形サンプルデータは圧縮フ
ィルタ部48に入力される。圧縮フィルタ部48は、フ
ィルタによるデータ圧縮処理を行なうものである。圧縮
フィルタ部48のフィルタ係数つまり圧縮係数は、各ブ
ロック区間ごとの波形サンプルデータに基き、線形予測
法に従って、各ブロック区間ごとに算出される。そのた
めに、ハミング窓乗算部49、ハミングバッフア50、
係数発生演算部51、係数レジスタ52が設けられてい
る。この詳細例については追って説明する。算出された
圧縮係数は、係数レジスタ52にストアされ、圧縮フィ
ルタ部48に入力される。
The shift circuit 47 inputs the waveform sample data read out from the waveform memory 15 via the waveform reading section 40, and shifts the value of this sample data downward by the number of bits corresponding to the shift data. , performs a reduction operation on the value of the sample data. For example, if waveform sample data with an effective bit count of 10 bits is shifted to the lower order by 2 bits, the effective bit count of the waveform sample data will be reduced to 8 bits. The waveform sample data output from the shift circuit 47 is input to the compression filter section 48. The compression filter section 48 performs data compression processing using a filter. The filter coefficients of the compression filter section 48, that is, the compression coefficients, are calculated for each block section based on the waveform sample data for each block section according to the linear prediction method. For this purpose, a Hamming window multiplier 49, a Hamming buffer 50,
A coefficient generation calculation section 51 and a coefficient register 52 are provided. A detailed example of this will be explained later. The calculated compression coefficient is stored in the coefficient register 52 and input to the compression filter section 48.

【0039】圧縮フィルタ部48から出力された波形サ
ンプルデータは、ブロックバッファ書込制御部53を介
してブロックバッファ55に一時記憶される。ブロック
バッファ55に記憶されたデータはブロックバッファ読
出制御部54によって適宜読出制御され、圧縮フィルタ
部48に入力される。これは圧縮フィルタ部48として
1段のフィルタ回路を使用し、ここにデータを巡回させ
ることにより2段の圧縮フィルタを構成するためである
。従って、正確には2巡目に圧縮フィルタ部48から出
力される波形サンプルデータが圧縮処理済みのデータで
ある。ビット数検出部56は、圧縮フィルタ部48から
出力された圧縮処理済みの波形サンプルデータの有効ビ
ット数を検出するものである。例えば、16ビット規格
で出力される圧縮処理済みの波形サンプルデータにおい
て、上位側の“0”のビットを除外し、“1”が立って
いるビットのうち最も上位のビットから下のビット数を
有効ビット数として検出する。そして、このビット数検
出部56では、各フレーム区間毎にその有効ビット数の
最大値を検出し、フレーム別ビット数データFBNとし
て出力する。このフレーム別ビット数データFBNは、
ブロックバッファ書込制御部53を介してブロックバッ
ファ55に一時記憶され、フレーム毎の可変ビット長加
工処理の際に利用される。また、ビット数検出部56で
は、このフレーム別ビット数データFBNとビット数レ
ジスタ57にストアされているビット数データとを比較
し、今回求めたフレーム別ビット数データFBNの方が
大きければ、これをビット数レジスタ57にストアする
The waveform sample data output from the compression filter section 48 is temporarily stored in the block buffer 55 via the block buffer write control section 53. The data stored in the block buffer 55 is appropriately read-controlled by the block buffer read control section 54 and input to the compression filter section 48 . This is because a one-stage filter circuit is used as the compression filter section 48, and a two-stage compression filter is constructed by circulating data there. Therefore, to be more precise, the waveform sample data output from the compression filter section 48 in the second round is data that has been compressed. The bit number detection section 56 detects the effective number of bits of the compressed waveform sample data output from the compression filter section 48. For example, in compressed waveform sample data that is output according to the 16-bit standard, the upper "0" bits are excluded, and the number of bits from the most significant bit that is "1" to the lower bit is calculated. Detected as the number of effective bits. The bit number detection unit 56 detects the maximum value of the effective bit number for each frame section and outputs it as frame-by-frame bit number data FBN. This frame-by-frame bit number data FBN is
The data is temporarily stored in the block buffer 55 via the block buffer write control unit 53, and used during variable bit length processing for each frame. Further, the bit number detection unit 56 compares this frame-by-frame bit number data FBN with the bit number data stored in the bit number register 57, and if the frame-by-frame bit number data FBN found this time is larger, then this is stored in the bit number register 57.

【0040】こうして、1ブロック分の処理を終了した
とき、最終的にビット数レジスタ57にストアされてい
るビット数データが、そのブロックにおける有効ビット
数の最大値であり、これを最大ビット数データMBNと
してシフトデータ発生部45に与える。シフトデータ発
生部45では、1ブロック分の処理を終了したとき、制
限ビット数レジスタ44から与えられる当該ブロックの
制限ビット数データと最大ビット数データMBNとを比
較し、最大ビット数データMBNの方が大きい場合は、
圧縮後の波形データが当該ブロックに対応して設定した
制限ビット数を上回っているので、制御部41に対して
当該ブロックに関する圧縮及び縮小処理のやり直しを命
ずると共に、シフトデータレジスタ46に与えるシフト
データの値を前回よりも大きくする。こうして、シフト
データすなわち重み係数の値を最初は適当な所定値(一
定値もしくはブロック毎に任意に設定した値)として、
当該ブロックに対応して設定した制限ビット数との関係
から判断して、自動的にこのシフトデータすなわち重み
係数の値を切り換えて、当該ブロックに関する圧縮及び
縮小処理のやり直しを行い、最終的に、データ圧縮及び
縮小処理後のデータが、当該ブロックに対応して設定さ
れた制限ビット数に納まるように、シフトデータすなわ
ち重み係数を自動的に制御するようになっている。最終
的に確定した当該ブロックに関するシフトデータすなわ
ち重み係数は、ブロックバッファ書込制御部53を介し
てブロックバッファ55に一時記憶され、後に、波形サ
ンプルデータと共に波形メモリ15に書き込まれる。勿
論、このようなシフトデータすなわち重み係数の自動決
定法を採用せずに、ブロック毎にマニュアル設定等する
ようにしてもよい。
In this way, when processing for one block is completed, the bit number data finally stored in the bit number register 57 is the maximum value of the effective number of bits in that block, and this is referred to as the maximum bit number data. It is given to the shift data generating section 45 as MBN. When the shift data generating unit 45 finishes processing one block, it compares the limit bit number data of the block given from the limit bit number register 44 with the maximum bit number data MBN, and selects the maximum bit number data MBN. If is large, then
Since the compressed waveform data exceeds the limit bit number set for the block, the control unit 41 is ordered to redo the compression and reduction processing for the block, and the shift data given to the shift data register 46 is Increase the value of . In this way, the shift data, that is, the value of the weighting coefficient, is initially set to an appropriate predetermined value (a constant value or a value arbitrarily set for each block),
Judging from the relationship with the limit bit number set for the block, this shift data, that is, the value of the weighting coefficient, is automatically switched, and the compression and reduction processing for the block is re-performed, and finally, The shift data, that is, the weighting coefficient, is automatically controlled so that the data after data compression and reduction processing falls within the limit number of bits set corresponding to the block. The finally determined shift data, that is, the weighting coefficient regarding the block is temporarily stored in the block buffer 55 via the block buffer write control section 53, and later written to the waveform memory 15 together with the waveform sample data. Of course, instead of adopting such an automatic method of determining shift data, that is, weighting coefficients, manual setting may be performed for each block.

【0041】シフトデータ発生部45は、1ブロック分
の処理を終了したとき、制限ビット数レジスタ44から
与えられる当該ブロックの制限ビット数データと最大ビ
ット数データMBNとを比較し、最大ビット数データM
BNの方が小さい場合は、圧縮後の波形データが当該ブ
ロックに対応して設定した制限ビット数内に納まってい
るので、当該ブロックに関する処理を終了して次のブロ
ックの処理に移るよう、ブロックカウントアップ指示信
号をブロックカウンタ42及び制御部41に与える。こ
れにより、ブロックカウンタ42は1カウントアップさ
れ、次のブロックの処理を行うことを指示する。ブロッ
クバッファ55は図2の波形バッファメモリ21に含ま
れているバッファメモリであり、そのメモリフォーマッ
トを例示すると図6のようである。このブロックバッフ
ァ55は、波形データバッファBW(A)とBW(B)
を有しており、それぞれに1ブロック分の波形サンプル
データを一時記憶することができ、合計2つのブロック
の波形サンプルデータを一時記憶することができるよう
になっている。どちらのバッファBW(A),BW(B
)に書き込むべきかは、ブロックカウント値の偶/奇に
応じて交互に切り換えられるようになっている。このよ
うに、2ブロック分の波形データバッファBW(A)と
BW(B)を有している理由は、波形メモリ15に或る
ブロックの波形データを書き込むときにその次のブロッ
クに関する圧縮係数及びシフトデータ(重み係数)を隠
れビットデータとして一緒に書き込むように制御するた
めである。なお、このブロックバッファ55に一時記憶
する隣接する2つのブロックを便宜上ブロックA,ブロ
ックBと称する。
When the shift data generating section 45 finishes processing one block, it compares the limit bit number data of the block given from the limit bit number register 44 with the maximum bit number data MBN, and calculates the maximum bit number data. M
If the BN is smaller, the compressed waveform data is within the bit limit set for the block, so the block is A count-up instruction signal is given to the block counter 42 and the control section 41. As a result, the block counter 42 is incremented by one, giving an instruction to process the next block. The block buffer 55 is a buffer memory included in the waveform buffer memory 21 of FIG. 2, and its memory format is illustrated in FIG. 6. This block buffer 55 includes waveform data buffers BW(A) and BW(B).
Each block of waveform sample data can be temporarily stored, and a total of two blocks of waveform sample data can be temporarily stored. Which buffers BW(A), BW(B
) is alternately switched depending on whether the block count value is even or odd. The reason for having the waveform data buffers BW(A) and BW(B) for two blocks is that when writing the waveform data of a certain block to the waveform memory 15, the compression coefficient and This is to control the shift data (weighting coefficient) to be written together as hidden bit data. Note that the two adjacent blocks temporarily stored in the block buffer 55 are referred to as block A and block B for convenience.

【0042】パラメータバッファBP(A),BP(B
)は、隠れビットデータとして波形サンプルデータに混
在させて書き込むべき制御データを一時記憶するための
ものであり、当該ブロックAまたはBの圧縮係数及びシ
フトデータ(重み係数)と、当該ブロックAまたはB内
の各フレーム毎のビット数データ(フレーム別ビット数
データFBN)とを記憶する。ヘッダバッフアは、波形
メモリ15のヘッダ部に記憶すべきヘッドデータを一時
記憶しておくためのバッファである。フィルタディレイ
バッファは、圧縮フィルタ部48内で信号の単位遅延を
行うための遅延回路部において前ブロックに関する圧縮
処理の終了時に保持していた信号データを、一時保存す
るためのものである。これは、前述のように、圧縮及び
縮小処理後の波形サンプルデータのビット数が制限ビッ
ト数内に納まらなかった場合に、1ブロック分のデータ
の圧縮及び縮小処理をやり直すことに備えたものである
。すなわち、そのようなやり直しを可能にするには、圧
縮フィルタ部48内の遅延回路部における信号データの
内容は、前ブロックに関する圧縮処理の終了直後の内容
に再現されなければならない。そのために、圧縮フィル
タ部48内の遅延回路部において前ブロックに関する圧
縮処理の終了時に保持していた信号データを、フィルタ
ディレイバッファにおいて一時保存しておき、次のブロ
ックに関する圧縮処理においてやり直しが要求されたと
き、このフィルタディレイバッファの保存データを圧縮
フィルタ部48内の遅延回路部にセットし、当該ブロッ
クに関する圧縮処理を行うための初期状態を再現してや
るのである。
Parameter buffer BP(A), BP(B
) is for temporarily storing control data to be written mixed with waveform sample data as hidden bit data, and contains the compression coefficient and shift data (weighting coefficient) of the block A or B, and the control data of the block A or B. Bit number data for each frame (frame-specific bit number data FBN) is stored. The header buffer is a buffer for temporarily storing head data to be stored in the header portion of the waveform memory 15. The filter delay buffer is for temporarily storing the signal data held at the end of the compression process regarding the previous block in the delay circuit unit for performing unit delay of the signal in the compression filter unit 48. As mentioned above, this is in preparation for redoing the compression and reduction processing for one block of data if the number of bits of the waveform sample data after compression and reduction processing does not fall within the bit limit. be. That is, in order to enable such a redo, the contents of the signal data in the delay circuit section in the compression filter section 48 must be reproduced to the contents immediately after the compression processing for the previous block is completed. To this end, the signal data held at the end of the compression processing for the previous block in the delay circuit section in the compression filter section 48 is temporarily stored in the filter delay buffer, and is requested to be redone in the compression processing for the next block. At this time, the data stored in the filter delay buffer is set in the delay circuit section in the compression filter section 48 to reproduce the initial state for performing compression processing on the block.

【0043】図5に戻り、可変ビット長加工及び書込処
理部58は、ブロックバッフア55に記憶した1ブロッ
ク分の圧縮処理済データを読み出し、このデータビット
数を各フレーム区間毎の最大ビット数データFBNのビ
ットサイズに切り揃える「可変ビット長加工処理」を行
うと共に、次ブロックの圧縮係数及びシフトデータ(重
み係数)を波形サンプルデータの中に混在させて書き込
み、かつ次フレームの可変ビット数FBNを示すデータ
を波形サンプルデータの中に混在させて書き込む処理な
どを行うものである。その詳細例については追って説明
する。
Returning to FIG. 5, the variable bit length processing and writing processing section 58 reads out one block of compressed data stored in the block buffer 55, and divides this data bit number into the maximum bit number for each frame section. In addition to performing "variable bit length processing" to trim to the bit size of the numerical data FBN, the next block's compression coefficient and shift data (weighting coefficient) are mixed and written in the waveform sample data, and the next frame's variable bits are This process performs a process of writing data indicating a number FBN mixed with waveform sample data. A detailed example will be explained later.

【0044】−−圧縮フィルタ部の説明(第1の実施例
)−− 図7はシフト回路部47と圧縮フィルタ部の基本構成例
を概念的に示すもので、圧縮フィルタ部は、2次フィル
タ48A,48Bを2段縦続接続してなるものである。 1段目のフィルタ48Aではシフト回路部47から出力
された縮小処理済の波形サンプルデータを遅延部DA0
に入力し、この遅延部DA0の出力に対して乗算器M0
で係数a0を乗算する。また、遅延部DA0の出力を2
番目の遅延部DA1に入力し、この遅延部DA1の出力
に対して乗算器M1で係数a1を乗算する。こうして、
1サンプル前のデータと2サンプル前のデータに係数を
乗じた積を加算器ADDで加算し、その和(たたみこみ
和)を減算器SUBで現サンプル点のデータから減算す
る。減算器SUBの出力は2段目のフィルタ48Bに入
力される。2段目のフィルタ48Bは1段目のフィルタ
48Aと同一構成であり、係数b0,b1が異なる。こ
のように2次フィルタ48A,48Bを2段縦続接続し
てなる構成を採用したことにより、データ圧縮処理が効
率的に行えると共に、圧縮係数の設定も容易になるとい
う利点がある。また、圧縮フィルタ部48として1段分
の2次フィルタのハードウェア回路を用意し、これを時
分割利用すればよいので、ハードウェア構成も簡単にな
る。
--Description of Compression Filter Section (First Embodiment)-- FIG. 7 conceptually shows an example of the basic configuration of the shift circuit section 47 and the compression filter section. 48A and 48B are connected in cascade in two stages. The first stage filter 48A transfers the reduced waveform sample data output from the shift circuit section 47 to the delay section DA0.
and multiplier M0 for the output of this delay section DA0.
Multiply by the coefficient a0. Also, the output of delay section DA0 is set to 2
The output signal is input to the second delay section DA1, and the output of this delay section DA1 is multiplied by a coefficient a1 in a multiplier M1. thus,
An adder ADD adds the product of data from one sample before and data from two samples before multiplied by a coefficient, and the sum (convolution sum) is subtracted from the data at the current sample point by a subtractor SUB. The output of the subtracter SUB is input to the second stage filter 48B. The second-stage filter 48B has the same configuration as the first-stage filter 48A, but has different coefficients b0 and b1. Adopting the configuration in which the secondary filters 48A and 48B are connected in two stages in this manner has the advantage that data compression processing can be performed efficiently and that setting of compression coefficients is also facilitated. Furthermore, since a hardware circuit for one stage of secondary filter is prepared as the compression filter section 48 and used in a time-division manner, the hardware configuration becomes simple.

【0045】図8は1段分の2次フィルタからなる圧縮
フィルタ部48のハードウェア回路の一例を示すもので
あり、現サンプル点の入力波形サンプルデータからたた
みこみ和を減算するための減算器59の出力をリミッタ
60を通して出力するようになっている。また、このリ
ミッタ60の出力に加算器61で前記たたみこみ和を加
算することにより、現サンプル点の入力波形サンプルデ
ータを再現し、これをリミッタ62を介して遅延部63
,64に入力する。乗算器65,66では各遅延部63
,64の出力に対して圧縮係数c0,c1を乗算し、そ
のたたみこみ和を加算器67で求める。圧縮係数c0,
c1の値は、この圧縮フィルタ部48を1段目のフィル
タ48Aとして使用するときa0,a1であり、2段目
のフィルタ48Bとして使用するときb0,b1である
。なお、前述のやり直し処理のときは、遅延部63,6
4に前記フィルタディレイバッフアの内容(前ブロック
に関する圧縮処理の終了時に保持していた信号データ)
をセットする。
FIG. 8 shows an example of the hardware circuit of the compression filter unit 48 consisting of one stage of secondary filter, and includes a subtracter 59 for subtracting the convolution sum from the input waveform sample data at the current sample point. The output is output through a limiter 60. Further, by adding the convolution sum to the output of the limiter 60 in an adder 61, the input waveform sample data at the current sample point is reproduced, and this is sent to the delay unit 63 via the limiter 62.
, 64. In the multipliers 65 and 66, each delay unit 63
, 64 are multiplied by compression coefficients c0 and c1, and an adder 67 calculates the convolution sum. Compression coefficient c0,
The values of c1 are a0 and a1 when this compression filter section 48 is used as the first stage filter 48A, and b0 and b1 when used as the second stage filter 48B. Note that when performing the above-mentioned redo process, the delay units 63 and 6
4. Contents of the filter delay buffer (signal data held at the end of compression processing regarding the previous block)
Set.

【0046】−−圧縮係数の発生−− 次に、前記ハミング窓乗算部49、ハミングバッフア5
0、係数発生演算部51、係数レジスタ52を使用した
線形予測法に従う圧縮フィルタ係数の発生演算の手順の
一例について図9を参照して説明する。まず、波形メモ
リ15から1ブロック分(1024サンプル分)の波形
サンプルデータを順次読み出し、これをハミング窓乗算
部49に入力し、ハミング窓関数を乗算する。この場合
、ハミング窓関数も1024サンプルからなり、ハミン
グ窓関数の各サンプル値を1ブロック分(1024サン
プル分)の波形サンプルデータにそれぞれ乗算する。 そして、その積Sn(ただしn=0,1,2,3,……
1023)をハミングバッフア50にストアする。次に
、係数発生演算部51では、ハミング窓で重み付けした
波形サンプルデータSnに基づき、次式に従って、自己
相関関数Riを、i=0,1,2に関してそれぞれ求め
る。 Ri=ΣSnSn+i    (ただしΣの累計範囲は
、n=0から1023まで) 次に、上記のように求めた自己相関関数Riに基づき、
次式に従って、圧縮係数c0,c1を求める。 c0=(R1・R0−R1・R2)/(R0・R0−R
1・R1)c1=(R2・R0−R1・R1)/(R0
・R0−R1・R1)なお、1段目の圧縮フィルタ係数
を求めているとき、上記c0,c1はa0,a1に対応
し、2段目の圧縮フィルタ係数を求めているとき、上記
c0,c1はb0,b1に対応する。
--Generation of compression coefficient-- Next, the Hamming window multiplier 49 and the Hamming buffer 5
An example of a compression filter coefficient generation operation procedure according to the linear prediction method using the coefficient generation operation unit 51 and the coefficient register 52 will be described with reference to FIG. First, one block (1024 samples) of waveform sample data is sequentially read from the waveform memory 15, input to the Hamming window multiplier 49, and multiplied by the Hamming window function. In this case, the Hamming window function also consists of 1024 samples, and each sample value of the Hamming window function is multiplied by one block (1024 samples) of waveform sample data. Then, the product Sn (where n=0, 1, 2, 3,...
1023) is stored in the humming buffer 50. Next, the coefficient generation calculation unit 51 calculates autocorrelation functions Ri for i=0, 1, and 2, respectively, according to the following equations based on the waveform sample data Sn weighted by the Hamming window. Ri=ΣSnSn+i (However, the cumulative range of Σ is from n=0 to 1023) Next, based on the autocorrelation function Ri obtained as above,
Compression coefficients c0 and c1 are determined according to the following equations. c0=(R1・R0-R1・R2)/(R0・R0-R
1・R1)c1=(R2・R0−R1・R1)/(R0
・R0-R1・R1) When calculating the first stage compression filter coefficients, the above c0, c1 correspond to a0, a1, and when calculating the second stage compression filter coefficients, the above c0, c1 correspond to a0, a1. c1 corresponds to b0 and b1.

【0047】次に、今求めた圧縮フィルタ係数c0,c
1が1段目のものであるかを確認し、そうであれば、今
求めた圧縮フィルタ係数c0,c1すなわちa0,a1
を係数レジスタ52にストアすると共に、圧縮フィルタ
部48に与え、かつ現在処理中のブロックに関する波形
サンプルデータを波形メモリ15から順次読み出し、こ
れを圧縮フィルタ部48に入力し、該圧縮フィルタ係数
c0,c1すなわちa0,a1に従う圧縮処理を行う。 こうして、1段目のフィルタ48Aの出力を求め、これ
をハミング窓乗算部49に入力し、ハミング窓関数を乗
算する。そして、前述と同様の処理を繰り返して、その
積Snをハミングバッフア50にストアし、そして、自
己相関関数Riを求め、更に、圧縮係数c0,c1を求
める。 今度は、求めた圧縮係数c0,c1は2段目の圧縮フィ
ルタ係数b0,b1に対応しており、これを係数レジス
タ52にストアして処理を終了する。説明は前後したが
、このようにして、当該ブロックに関する圧縮フィルタ
係数a0,a1,b0,b1を算出した後、圧縮フィル
タ部48を使用して当該ブロックの波形サンプルデータ
の圧縮処理を前述のように行うのである。
Next, the compression filter coefficients c0,c just found
Check whether 1 is the first stage, and if so, use the compression filter coefficients c0, c1 that you just found, that is, a0, a1.
is stored in the coefficient register 52, and the waveform sample data regarding the block currently being processed is sequentially read out from the waveform memory 15 and input to the compression filter unit 48, and the compression filter coefficients c0, Compression processing according to c1, that is, a0 and a1 is performed. In this way, the output of the first stage filter 48A is obtained, inputted to the Hamming window multiplier 49, and multiplied by the Hamming window function. Then, the same process as described above is repeated, the product Sn is stored in the Hamming buffer 50, the autocorrelation function Ri is determined, and the compression coefficients c0 and c1 are determined. This time, the obtained compression coefficients c0, c1 correspond to the second-stage compression filter coefficients b0, b1, and are stored in the coefficient register 52, and the process ends. Although the explanation has been mixed, after calculating the compression filter coefficients a0, a1, b0, b1 for the block in this way, the compression processing of the waveform sample data of the block is performed using the compression filter section 48 as described above. It is done to.

【0048】−−可変ビット長及び隠れビットの説明−
− ブロックバッフア55に記憶した1ブロック分の圧縮処
理済データは、可変ビット長加工及び書込処理部58の
処理によって波形メモリ15に書き込まれる。図10は
この可変ビット長加工及び書込処理部58の処理動作を
説明するための機能ブロック図である。また、図11は
この可変ビット長加工及び書込処理部58によって実行
される可変ビット長加工及び書込処理の手順の概略を示
すものである。換言すれば、図11は図3のステップ3
6で行う処理を幾分詳細に示すものであり、図10は図
11で行う手順と等価な処理を行う機能ブロック図であ
る。まず、この可変ビット長加工及び書込処理部58に
よって行う波形サンプルデータの可変ビット長加工及び
書込処理ならびに隠れビットデータの書込処理の仕様の
概略について説明すると、次の通りである。なお、図1
2に、可変ビット長加工済みの波形サンプルデータ及び
隠れビットデータのフォーマットの一例を示す。
--Explanation of variable bit length and hidden bits--
- One block of compressed data stored in the block buffer 55 is written to the waveform memory 15 through processing by the variable bit length processing and writing processing unit 58. FIG. 10 is a functional block diagram for explaining the processing operation of the variable bit length processing and writing processing section 58. Further, FIG. 11 schematically shows the procedure of variable bit length processing and writing processing executed by the variable bit length processing and writing processing section 58. In other words, FIG. 11 is step 3 of FIG.
6 is shown in some detail, and FIG. 10 is a functional block diagram that performs processing equivalent to the procedure performed in FIG. 11. First, the outline of the specifications of the variable bit length processing and writing processing of waveform sample data and the writing processing of hidden bit data performed by the variable bit length processing and writing processing section 58 is as follows. In addition, Figure 1
2 shows an example of the format of variable bit length processed waveform sample data and hidden bit data.

【0049】1)可変ビット長 波形サンプルデータのビット数は、1フレーム内では共
通とし、各フレーム毎に可変とする。具体的には、当該
フレームにおける有効ビット数の最大値を検出したもの
である前記フレーム別ビット数データFBNに基づき、
当該フレーム内の各サンプルデータを下位ビットから該
FBNのビット数分だけ取り出す。これにより、有効ビ
ットが確保されるようにして、当該フレーム内の各サン
プルデータのビット数を減少させることができる。図1
2の例では、フレーム0における波形データのサイズつ
まりビット長は11ビットであり、フレーム1では10
ビット、フレーム2では12ビットである。
1) The number of bits of variable bit length waveform sample data is common within one frame, and is variable for each frame. Specifically, based on the frame-by-frame bit number data FBN, which is the maximum value of the effective bit number in the frame,
Each sample data in the frame is extracted from the lower bits by the number of bits of the FBN. Thereby, the number of bits of each sample data in the frame can be reduced by ensuring valid bits. Figure 1
In example 2, the size or bit length of the waveform data in frame 0 is 11 bits, and in frame 1 it is 10 bits.
bit, frame 2 is 12 bits.

【0050】2)隠れビット a)フレーム毎のビット数指示データ 上記のように各フレーム毎に可変ビット長に加工された
波形サンプルデータのビット数を指示するデータは、そ
の前のフレームの波形サンプルデータに混在させて隠れ
ビットデータとして書き込む。このビット数指示データ
は4ビットのデータであり、1ビットずつ分離されて、
前のフレームの最初の4サンプル分の波形データの最下
位ビットLSBの下位側にそれぞれ位置づけられる。図
12の例では、ビット数指示データに対応する隠れビッ
トデータの各ビットをHB0,HB1,HB2,HB3
で示している。各隠れビットの2進コードづけの重みは
、HB3が最上位、以下HB2,HB1,HB0の順で
ある。図12の例では、フレーム0の隠れビットHB3
〜HB0の内容は“1010”であり、次フレーム1の
データ長=10ビットを指示する。また、フレーム1の
隠れビットHB3〜HB0の内容は“1100”であり
、次フレーム2のデータ長=12ビットを指示する。こ
れらの隠れビットHB0〜HB3を持つサンプル点では
、同一フレーム内の他のサンプル点に比べて、データ長
が実質的に1ビット多い。しかし、このような隠れビッ
トHB0〜HB3を持たなければ、すなわち実質的な波
形データのサイズでは、同一フレーム内では一定のサイ
ズである。なお、第1ブロックの最初のフレーム0に関
しては、それに先行するフレームがないので、前述のよ
うに、ヘッダ部にそのビット数指示データを書き込む。 なお、次フレームのビット数指示データをその前のフレ
ームの波形データに混在させて書き込む理由は、明らか
なように、再生処理の際に前もってビット数指示データ
を読み出しておくことができるようにするためである。
2) Hidden bits a) Bit number instruction data for each frame The data that indicates the number of bits of the waveform sample data processed into a variable bit length for each frame as described above is the waveform sample of the previous frame. Mix it with the data and write it as hidden bit data. This bit number instruction data is 4-bit data, which is separated one bit at a time.
They are respectively positioned on the lower side of the least significant bit LSB of the first four samples of waveform data of the previous frame. In the example of FIG. 12, each bit of the hidden bit data corresponding to the bit number instruction data is set to HB0, HB1, HB2, HB3.
It is shown in The binary coding weight of each hidden bit is such that HB3 is the highest, followed by HB2, HB1, and HB0. In the example of FIG. 12, the hidden bit HB3 of frame 0
The contents of ~HB0 are "1010" and indicate the data length of the next frame 1 = 10 bits. Further, the contents of hidden bits HB3 to HB0 of frame 1 are "1100", indicating that the data length of the next frame 2 is 12 bits. At sample points having these hidden bits HB0 to HB3, the data length is substantially 1 bit longer than other sample points within the same frame. However, if such hidden bits HB0 to HB3 are not present, that is, the actual size of the waveform data is constant within the same frame. Note that regarding the first frame 0 of the first block, since there is no preceding frame, the number of bits indicating data is written in the header section as described above. Note that the reason why the bit number instruction data of the next frame is mixed and written with the waveform data of the previous frame is so that the bit number instruction data can be read out in advance during playback processing. It's for a reason.

【0051】b)シフトデータ(重み係数)各ブロック
に関するシフトデータ(重み係数)は、その前のブロッ
クの波形サンプルデータに混在させて隠れビットデータ
として書き込む。このシフトデータ(重み係数)は4ビ
ットのデータであり、1ビットずつ分離されて、前のブ
ロックの最初のフレーム0の5番目から8番目までの4
サンプル分の波形データの最下位ビットLSBの下位側
にそれぞれ位置づけられる。図12の例では、シフトデ
ータ(重み係数)に対応する隠れビットデータの各ビッ
トをHS0,HS1,HS2,HS3で示している。
b) Shift data (weighting coefficient) Shift data (weighting coefficient) for each block is mixed with the waveform sample data of the previous block and written as hidden bit data. This shift data (weighting coefficient) is 4-bit data, which is separated one bit at a time and is divided into 4 bits from the 5th to the 8th frame of the first frame 0 of the previous block.
They are respectively positioned on the lower side of the least significant bit LSB of the sample's worth of waveform data. In the example of FIG. 12, each bit of hidden bit data corresponding to shift data (weighting coefficient) is indicated by HS0, HS1, HS2, and HS3.

【0052】c)圧縮係数 各ブロックに関する4つの圧縮係数a0,a1,b0,
b1は、その前のブロックの波形サンプルデータに混在
させて隠れビットデータとして書き込む。各圧縮係数は
8ビットのデータであり、1ビットずつ分離されて、係
数b1については前のブロックの最初のフレーム0の9
番目から16番目までの8サンプル分の波形データの最
下位ビットLSBの下位側にそれぞれ位置づけられ、係
数b0については前のブロックの2番目のフレーム1の
9番目から16番目までの8サンプル分の波形データの
最下位ビットLSBの下位側にそれぞれ位置づけられ、
係数a1については前のブロックの3番目のフレーム2
の9番目から16番目までの8サンプル分の波形データ
の最下位ビットLSBの下位側にそれぞれ位置づけられ
、係数a0については前のブロックの4番目のフレーム
3の9番目から16番目までの8サンプル分の波形デー
タの最下位ビットLSBの下位側にそれぞれ位置づけら
れる。図12の例では、1つの圧縮係数に対応する隠れ
ビットデータの各ビットをHC0〜HC7で示している
c) Compression coefficients Four compression coefficients a0, a1, b0, for each block
b1 is mixed with the waveform sample data of the previous block and written as hidden bit data. Each compression coefficient is 8-bit data, separated by 1 bit, and for coefficient b1, the first frame 0-9 of the previous block
The coefficient b0 is located at the lower side of the least significant bit LSB of the 8 samples of waveform data from the 1st to the 16th, and the coefficient b0 is located at the lower side of the least significant bit LSB of the 8 samples of waveform data from the 1st to the 16th. are respectively positioned on the lower side of the least significant bit LSB of the waveform data,
3rd frame 2 of previous block for coefficient a1
The coefficient a0 is located on the lower side of the least significant bit LSB of the 8 samples of waveform data from the 9th to the 16th of They are respectively positioned on the lower side of the least significant bit LSB of the waveform data. In the example of FIG. 12, each bit of hidden bit data corresponding to one compression coefficient is indicated by HC0 to HC7.

【0053】3)詰め込み記憶 図13は、図12のようなフォーマットからなる可変ビ
ット長のデータを実際に波形メモリ15に詰め込んで記
憶する場合のメモリフォーマットの一例を示すものであ
る。図13の場合、波形メモリ15の記憶アドレスのサ
イズすなわちデータ長は1アドレスにつき16ビットに
固定されており、各アドレスはアドレス信号によってア
クセスされる。1アドレスにつき1サンプル点のデータ
が記憶されるのではなく、可変ビット長のデータが適宜
詰めて記憶される。例えば、アドレスA0の最下位ビッ
トにサンプル点0の波形データに伴う隠れビットHB0
が記憶され、その上位11ビットにサンプル点0の波形
データが記憶され、その上位1ビットにサンプル点1の
波形データに伴う隠れビットHB1が記憶され、その上
位3ビットにサンプル点1の波形データの下位3ビット
が記憶される。また、サンプル点1の波形データの残り
の上位8ビットは、アドレスA1の下位8ビットに記憶
される。以下図に示すように各サンプル点の波形データ
と隠れビットのデータとが詰めて記憶される。図13に
おいて、アドレス領域内に記された数字はそこに記憶す
る波形データのサンプル点番号を示し、斜線を付した部
分は隠れビットを記憶する領域を示す。このように、効
率的にデータを詰め込んで波形メモリ15に記憶させる
ために、1つのデータが適宜分割され、複数のアドレス
にまたがって記憶されるようになっている。
3) Packing Storage FIG. 13 shows an example of a memory format when variable bit length data having the format shown in FIG. 12 is actually packed into the waveform memory 15 and stored. In the case of FIG. 13, the size of the storage address of the waveform memory 15, that is, the data length, is fixed at 16 bits per address, and each address is accessed by an address signal. Data of one sample point is not stored per address, but data of variable bit length is stored as appropriate. For example, the least significant bit of address A0 is a hidden bit HB0 accompanying the waveform data of sample point 0.
is stored, the waveform data of sample point 0 is stored in the upper 11 bits, the hidden bit HB1 accompanying the waveform data of sample point 1 is stored in the upper 1 bit, and the waveform data of sample point 1 is stored in the upper 3 bits. The lower three bits of are stored. Further, the remaining upper 8 bits of the waveform data of sample point 1 are stored in the lower 8 bits of address A1. As shown in the figure below, the waveform data of each sample point and hidden bit data are packed and stored. In FIG. 13, the number written in the address area indicates the sample point number of the waveform data stored therein, and the shaded area indicates the area where hidden bits are stored. In this way, in order to efficiently pack data and store it in the waveform memory 15, one piece of data is divided as appropriate and stored across a plurality of addresses.

【0054】−−可変ビット長加工及び書込処理−−図
10及び図11によって、可変ビット長加工及び書込処
理の一例につき説明する。図10において、制御部68
は可変ビット長加工及び書込処理部58の全体の動作を
制御するもので、この制御部68において図11のよう
な処理プログラムを実行し、可変ビット長加工及び書込
処理を制御すると考えてよい。サンプル及びフレームカ
ウンタ69は、ブロックバッファ55から読み出すべき
波形データのサンプル番号SNをサンプルクロックSC
Kに従ってインクリメントするもので、また、16サン
プル毎にフレーム番号FNもインクリメントする。サン
プル読出し部70は、サンプル及びフレームカウンタ6
9によって指定されたサンプル番号SNに対応してブロ
ックバッファ55から波形データを読み出す制御をする
。ブロックカウンタ42(図5)でカウントしたブロッ
ク番号データの最下位ビットBNLSBがサンプル読出
し部70に与えられ、圧縮処理を終了したブロック番号
の偶/奇を知らせる。これにより、ブロックバッファ5
5の2つの波形データバッファBW(A),BW(B)
(図6)のうちどちらから波形データを読み出すべきか
が指示される。例えば、偶数のブロック番号0,2,4
,…の波形データを波形データバッファBW(A)の方
に記憶し、奇数のブロック番号1,3,5,…の波形デ
ータを波形データバッファBW(B)の方に記憶すると
すると、ブロック番号データの最下位ビットBNLSB
が“0”ならば、今圧縮処理を終了したのは偶数番号の
ブロックであり、これは波形データバッファBW(A)
に記憶され、その前のブロックは奇数のブロック番号で
あり、これは波形データバッファBW(B)に記憶され
ていることになる。従って、先行するブロックは波形デ
ータバッファBW(B)に記憶されている奇数番号のブ
ロックであり、このバッファBW(B)の方から波形デ
ータを読み出すよう制御する。反対に、ブロック番号デ
ータの最下位ビットBNLSBが“1”ならば、今圧縮
処理を終了したのは奇数番号のブロックであり、先行す
るブロックは波形データバッファBW(A)に記憶され
ている偶数番号のブロックであるからこのッファBW(
A)の方から波形データを読み出すよう制御する。
--Variable bit length processing and writing processing--An example of variable bit length processing and writing processing will be explained with reference to FIGS. 10 and 11. In FIG. 10, the control unit 68
is for controlling the entire operation of the variable bit length processing and writing processing section 58, and it is assumed that this control section 68 executes a processing program as shown in FIG. 11 to control the variable bit length processing and writing processing. good. The sample and frame counter 69 uses a sample clock SC to set the sample number SN of the waveform data to be read from the block buffer 55.
The frame number FN is incremented according to K, and the frame number FN is also incremented every 16 samples. The sample reading unit 70 includes a sample and frame counter 6
Control is performed to read waveform data from the block buffer 55 in accordance with the sample number SN specified by 9. The least significant bit BNLSB of the block number data counted by the block counter 42 (FIG. 5) is given to the sample reading unit 70 to inform whether the block number for which the compression process has been completed is even/odd. As a result, block buffer 5
5 two waveform data buffers BW(A), BW(B)
(FIG. 6) from which waveform data should be read. For example, even block numbers 0, 2, 4
,... are stored in the waveform data buffer BW(A), and waveform data of odd block numbers 1, 3, 5,... are stored in the waveform data buffer BW(B). Least significant bit of data BNLSB
If is “0”, the compression process has just been completed for the even numbered block, and this is the waveform data buffer BW(A).
The previous block has an odd block number and is stored in the waveform data buffer BW(B). Therefore, the preceding block is an odd numbered block stored in the waveform data buffer BW(B), and the waveform data is controlled to be read from this buffer BW(B). On the other hand, if the least significant bit BNLSB of the block number data is "1", the compression process has just been completed for the odd-numbered block, and the preceding block is the even-numbered block stored in the waveform data buffer BW(A). Since it is a block of numbers, this buffer BW (
Control is performed so that waveform data is read from side A).

【0055】シフトデータ読出し部71は、ブロックバ
ッファ55内のパラメータバッファBP(A),BP(
B)からシフトデータ(重み係数)を読み出す制御をす
る。ブロック番号データの最下位ビットBNLSBがこ
のシフトデータ読出し部71に与えられ、圧縮処理を終
了したブロック番号の偶/奇を知らせる。これにより、
ブロックバッファ55の2つのパラメータバッファBP
(A),BP(B)(図6)のうちどちらからシフトデ
ータを読み出すべきかが指示される。例えば、前述の例
の場合、BNLSBが“0”であれば、先行するブロッ
ク(奇数番号のブロック)として波形データバッファB
W(B)のデータを読み出しこれを波形メモリ15に書
き込むので、その次のブロック(偶数番号のブロック)
に関するパラメータデータはパラメータバッファBP(
A)に記憶されていることになるため、このシフトデー
タ読出し部71ではパラメータバッファBP(A)から
該次のブロックに関するシフトデータを読み出す。 反対に、BNLSBが“1”であれば、先行するブロッ
ク(偶数番号のブロック)として波形データバッファB
W(A)のデータを読み出しこれを波形メモリ15に書
き込むので、このシフトデータ読出し部71では次のブ
ロックに関するシフトデータをパラメータバッファBP
(B)から読み出す。
The shift data reading unit 71 reads the parameter buffers BP(A) and BP(
Controls reading of shift data (weighting coefficients) from B). The least significant bit BNLSB of the block number data is given to this shift data reading section 71 to inform whether the block number that has completed the compression process is even/odd. This results in
Two parameter buffers BP of block buffer 55
(A) and BP(B) (FIG. 6) from which to read the shift data is instructed. For example, in the above example, if BNLSB is "0", the waveform data buffer B is used as the preceding block (odd numbered block).
Since the data of W(B) is read and written to the waveform memory 15, the next block (even numbered block)
The parameter data regarding is stored in the parameter buffer BP (
A), the shift data reading unit 71 reads the shift data regarding the next block from the parameter buffer BP(A). On the other hand, if BNLSB is "1", waveform data buffer B is used as the preceding block (even numbered block).
Since the data of W(A) is read and written to the waveform memory 15, this shift data reading section 71 stores the shift data regarding the next block in the parameter buffer BP.
Read from (B).

【0056】圧縮係数読出し部72は、ブロックバッフ
ァ55内のパラメータバッファBP(A),BP(B)
から圧縮係数a0,a1,b0,b1を読み出す制御を
する。前述と同様、ブロック番号データの最下位ビット
BNLSBがこの圧縮係数読出し部72に与えられ、そ
のブロック番号の偶/奇に応じて、ブロックバッファ5
5の2つのパラメータバッファBP(A),BP(B)
の一方から次のブロックに関する圧縮係数を読み出す。 次フレームビット数データ読出し部73は、サンプル及
びフレームカウンタ69からのフレーム番号FNに応じ
て、次フレームに関するフレーム別ビット数データFB
Nを、ブロックバッファ55内のパラメータバッファB
P(A),BP(B)の一方から読み出す制御をする。 例えば、ブロック番号データの最下位ビットBNLSB
が“0”ならば、先行するブロックとして波形データバ
ッファBW(B)に記憶されている波形データを読み出
し、これを波形メモリ15に書き込むので、該先行ブロ
ックのパラメータバッファBP(B)から次フレームに
関するフレーム別ビット数データFBNを読み出す。こ
こで、読み出したビット数データは、隠れビットデータ
として書き込まれる。
The compression coefficient reading unit 72 reads parameter buffers BP(A) and BP(B) in the block buffer 55.
Control is performed to read the compression coefficients a0, a1, b0, and b1 from. As described above, the least significant bit BNLSB of the block number data is given to this compression coefficient reading unit 72, and the block buffer 5
5 two parameter buffers BP(A), BP(B)
The compression coefficient for the next block is read from one of the blocks. The next frame bit number data reading unit 73 reads frame-by-frame bit number data FB regarding the next frame according to the frame number FN from the sample and frame counter 69.
N, parameter buffer B in block buffer 55
Control is performed to read from either P(A) or BP(B). For example, the least significant bit BNLSB of block number data
If is "0", the waveform data stored in the waveform data buffer BW(B) as the preceding block is read and written to the waveform memory 15, so that the next frame is read from the parameter buffer BP(B) of the preceding block. The bit number data FBN for each frame is read out. Here, the read bit number data is written as hidden bit data.

【0057】現フレームビット数データ読出し部74は
、サンプル及びフレームカウンタ69からのフレーム番
号FNに応じて、現在処理中のフレームに関するフレー
ム別ビット数データFBNを、ブロックバッファ55内
のパラメータバッファBP(A),BP(B)の一方か
ら読み出す制御をする。例えば、ブロック番号データの
最下位ビットBNLSBが“0”ならば、前述と同様に
、先行するブロックはBブロックであるから、パラメー
タバッファBP(B)から現在処理中のフレームに関す
るフレーム別ビット数データFBNを読み出す。ここで
、読み出したビット数データは、当該フレームの波形デ
ータのビット数を切り揃えるために利用される。隠れビ
ット指示部75は、サンプル及びフレームカウンタ69
のサンプル番号SNに応じて、隠れビットデータを挿入
すべきサンプル点であるか及びどの種のデータを隠れビ
ットデータとして埋め込むべきかを判別し、指示するも
のである。図12を参照して説明したように、次フレー
ムのビット数データ、次ブロックのシフトデータ、及び
次ブロックの各圧縮係数は、所定のサンプル番号(1ブ
ロック内のサンプル番号)の波形データの下位に、隠れ
ビットデータとして、分散して埋め込むようになってい
るため、該所定のサンプル番号を判別して、適切な指示
を行うのである。
The current frame bit number data reading unit 74 reads frame-by-frame bit number data FBN regarding the frame currently being processed according to the frame number FN from the sample and frame counter 69, and reads it into the parameter buffer BP (in the block buffer 55). Control is performed to read from either A) or BP (B). For example, if the least significant bit BNLSB of the block number data is "0", the preceding block is the B block as described above, so the bit number data for each frame regarding the frame currently being processed is extracted from the parameter buffer BP(B). Read FBN. Here, the read bit number data is used to round down the number of bits of the waveform data of the frame. The hidden bit instruction unit 75 includes a sample and frame counter 69
According to the sample number SN of , it is determined whether the sample point is where hidden bit data should be inserted and what type of data should be embedded as hidden bit data. As explained with reference to FIG. 12, the bit number data of the next frame, the shift data of the next block, and each compression coefficient of the next block are the lower order of the waveform data of a predetermined sample number (sample number within one block). Since the data is distributed and embedded as hidden bit data, the predetermined sample number is determined and an appropriate instruction is given.

【0058】隠れビット付与部76は、隠れビット指示
部75からの指示に応じて、隠れビットデータを付加す
べきサンプル番号において、サンプル読出し部70から
読み出された波形サンプルデータの下位に所定の隠れビ
ットデータの1ビットを追加するものである。シフトデ
ータ読出し部71,圧縮係数読出し部72及び次フレー
ムビット数データ読出し部73から、それぞれ隠れビッ
トデータとして埋め込むべきデータ(4ビットのシフト
データ、8ビットの各圧縮係数a0〜b1,4ビットの
次フレームビット数データ)が隠れビット付与部76に
与えられる。隠れビット付与部76では、図12を参照
して説明したように、所定のサンプル番号に対応して、
そのうち所定の1ビットを選択して、それを当該サンプ
ル番号の波形サンプルデータの下位に隠れビットデータ
として付加する。加算部77は、隠れビット指示部75
からの指示に応じて、隠れビットデータを付加すべきサ
ンプル番号において、現フレームビット数データ読出し
部74からから読み出した現フレームのビット数データ
に1を加算する。これにより、隠れビットデータを付加
するサンプル点では、現フレームビット数データの値を
、1ビットの付加に対応して1増加してやる。
The hidden bit adding unit 76 adds a predetermined value to the lower part of the waveform sample data read out from the sample reading unit 70 at the sample number to which hidden bit data is to be added, in accordance with the instruction from the hidden bit specifying unit 75. This adds one bit of hidden bit data. Data to be embedded as hidden bit data (4-bit shift data, 8-bit compression coefficients a0 to b1, 4-bit data) are received from the shift data reading unit 71, compression coefficient reading unit 72, and next frame bit number data reading unit 73, respectively. Next frame bit number data) is given to the hidden bit adding section 76. In the hidden bit adding unit 76, as explained with reference to FIG. 12, corresponding to a predetermined sample number,
One predetermined bit is selected from among them and added as hidden bit data to the lower part of the waveform sample data of the sample number. The addition section 77 includes a hidden bit instruction section 75.
In response to an instruction from , 1 is added to the bit number data of the current frame read from the current frame bit number data reading section 74 at the sample number to which hidden bit data is to be added. As a result, at the sample point where hidden bit data is added, the value of the current frame bit number data is increased by 1 corresponding to the addition of 1 bit.

【0059】隠れビット付与部76から出力された波形
データはデータ合成部78の上位ビット入力MSBIN
に与えられる。データ合成部78の下位ビット入力LS
BINにはセレクタ79の出力が与えられる。データ合
成部78は、ビット位置指示カウンタ80から出力され
るビット位置指示データBPPによって指示されたビッ
ト位置の上位に入力MSBINに与えられた波形データ
が位置するように、合成位置を制御して、上位ビット入
力MSBINのデータと下位ビット入力LSBINのデ
ータとを合成し、32ビットのデータを作成する。デー
タ合成部78から出力される32ビットデータはバッフ
ァレジスタ81で1サンプルクロック遅延される。そし
て、バッファレジスタ81の32ビット出力のうち、上
位16ビットMSB16がセレクタ79の「1」入力に
与えられ、下位16ビットLSB16がセレクタ79の
「0」入力に与えられると共に波形メモリ書込み部82
に与えられる。
The waveform data output from the hidden bit addition section 76 is input to the upper bit input MSBIN of the data synthesis section 78.
given to. Lower bit input LS of data synthesis unit 78
The output of selector 79 is applied to BIN. The data synthesis unit 78 controls the synthesis position so that the waveform data applied to the input MSBIN is located above the bit position specified by the bit position instruction data BPP output from the bit position instruction counter 80. The data of the upper bit input MSBIN and the data of the lower bit input LSBIN are combined to create 32-bit data. The 32-bit data output from the data synthesis section 78 is delayed by one sample clock in the buffer register 81. Of the 32-bit output of the buffer register 81, the upper 16 bits MSB16 are given to the "1" input of the selector 79, and the lower 16 bits LSB16 are given to the "0" input of the selector 79.
given to.

【0060】ビット位置指示カウンタ80は、加算部7
7から出力される現フレームのビット数データをサンプ
ルクロックSCKに応じて加算するモジュロ16のカウ
ンタであり、そのカウント値に応じてビット位置指示デ
ータBPPを出力する。また、カウント値がオーバーフ
ローしたとき(16を超えたとき)、オーバーフロー信
号OVFを出力する。オーバーフロー信号OVFは、セ
レクタ79の選択制御入力に加わり、オーバーフローが
生じていない場合は、バッファレジスタ81の下位16
ビット出力LSB16をセレクタ79の「0」入力を介
して選択し、データ合成部78の下位ビット入力LSB
INに入力する。他方、オーバーフローが生じた場合は
、バッファレジスタ81の上位16ビット出力MSB1
6をセレクタ79の「1」入力を介して選択し、データ
合成部78の下位ビット入力LSBINに入力する。 また、オーバーフロー信号OVFは、波形メモリ書込み
部82に与えられ、オーバーフローが生じたときにバッ
ファレジスタ81の下位16ビット出力LSB16を波
形メモリ15に書き込むよう指示する。波形メモリ15
の書込みアドレスは書込みアドレスカウンタ83によっ
て指示される。この書込みアドレスカウンタ83は、最
初に書込みスタートアドレスがセットされ、以後、オー
バーフロー信号OVFに応じてインクリメントされる。
[0060] The bit position indication counter 80
This is a modulo 16 counter that adds the bit number data of the current frame outputted from 7 in accordance with the sample clock SCK, and outputs bit position indication data BPP in accordance with the count value. Further, when the count value overflows (exceeds 16), an overflow signal OVF is output. The overflow signal OVF is applied to the selection control input of the selector 79, and if no overflow has occurred, the lower 16 of the buffer register 81 is applied.
The bit output LSB16 is selected via the “0” input of the selector 79, and the lower bit input LSB of the data synthesis unit 78 is selected.
Enter IN. On the other hand, if an overflow occurs, the upper 16 bits output MSB1 of the buffer register 81
6 is selected via the "1" input of the selector 79 and inputted to the lower bit input LSBIN of the data synthesis section 78. Further, the overflow signal OVF is applied to the waveform memory writing unit 82 and instructs the waveform memory 15 to write the lower 16-bit output LSB 16 of the buffer register 81 when an overflow occurs. Waveform memory 15
The write address of is indicated by the write address counter 83. The write address counter 83 is initially set with a write start address, and thereafter incremented in accordance with the overflow signal OVF.

【0061】データ合成部78は、その上位ビット入力
MSBINに入力されたデータを、ビット位置指示デー
タBPPの指示に応じて、32ビット出力のうちいずれ
かのビット位置範囲に導き、出力する。また、その下位
ビット入力LSBINに入力された16ビットデータは
、そのまま32ビット出力のうち下位16ビットの範囲
に導いて出力するが、上位ビット入力MSBINに入力
されたデータが導かれるビット位置ではこの上位ビット
入力MSBINに入力されたデータが優先して出力され
る。何故ならば、下位ビット入力LSBINに入力され
た16ビットデータのうち上位寄りの“0”のビットに
、上位ビット入力MSBINに入力されたデータが詰め
込まれるので、事実上、上位ビット入力MSBINに入
力されたデータがそのまま出力側に現われる。ビット位
置指示データBPPは0から15までの16通りの値を
とり、この値によりデータ合成部78の32ビット出力
のうち下位16ビットのうちのいずれかのビット位置を
指示し、この指示ビット位置に上位ビット入力MSBI
Nに入力されたデータの最下位ビットが来るように、該
データを導く。サンプル番号0のデータがデータ合成部
78の上位ビット入力MSBINに入力されたとき、ビ
ット位置指示カウンタ80の値が0であり、ビット位置
指示データBPPが0を指示しているとして、データ合
成状態の一例を図14に示す。このとき、データ合成部
78の上位ビット入力MSBINに入力されたサンプル
番号0のデータは、図14の(a)に示すように、デー
タ合成部78の最下位ビット寄りに詰め込まれる。
The data synthesizing section 78 guides the data input to its upper bit input MSBIN to one of the 32 bit output bit position ranges according to the instruction of the bit position instruction data BPP, and outputs the data. Also, the 16-bit data input to the lower bit input LSBIN is directly guided to the lower 16 bit range of the 32-bit output and output, but the bit position to which the data input to the upper bit input MSBIN is guided is as follows. Data input to the upper bit input MSBIN is output with priority. This is because the data input to the upper bit input MSBIN is stuffed into the upper "0" bit of the 16-bit data input to the lower bit input LSBIN, so in effect, the data input to the upper bit input MSBIN is The data will appear on the output side as is. The bit position instruction data BPP takes 16 values from 0 to 15, and this value specifies the bit position of one of the lower 16 bits of the 32-bit output of the data synthesis section 78. upper bit input MSBI
The data input to N is guided so that the least significant bit of the data comes to N. When the data of sample number 0 is input to the upper bit input MSBIN of the data synthesis section 78, the value of the bit position instruction counter 80 is 0, and the bit position instruction data BPP indicates 0, and the data synthesis state is changed. An example is shown in FIG. At this time, the data of sample number 0 inputted to the upper bit input MSBIN of the data synthesizing section 78 is packed closer to the least significant bit of the data synthesizing section 78, as shown in FIG. 14(a).

【0062】次のサンプルタイミングでは、データ合成
部78の下位16ビットLSB16のデータがレジスタ
81及びセレクタ79の「0」入力を介して、データ合
成部78の下位ビット入力LSBINに与えられる。こ
のとき、ビット位置指示カウンタ80は、サンプル番号
0のデータのビット数xをカウントしており、ビット位
置指示データBPPがxを指示している。また、このと
き、次のサンプル番号1のデータがデータ合成部78の
上位ビット入力MSBINに入力されており、これが、
BPP=xの指示に応じて、図14の(b)に示すよう
に、サンプル番号0のデータのすぐ上位のビット位置範
囲に詰め込まれる。図14の(b)に示すデータがレジ
スタ81から出力されるとき、ビット位置指示カウンタ
80ではサンプル番号1のデータのビット数xが更に加
算され、そのカウント値が2xとなる。この値2xは、
オーバーフローを生じる値であるとする。すると、この
オーバーフローにより、レジスタ81の下位16ビット
データLSB16が波形メモリ15に書き込まれる。つ
まり、サンプル番号0のデータとサンプル番号1のデー
タの一部が1アドレス=16ビットにきっちりと詰め込
まれて書き込まれる。
At the next sample timing, the data of the lower 16 bits LSB16 of the data synthesizer 78 is applied to the lower bit input LSBIN of the data synthesizer 78 via the register 81 and the "0" input of the selector 79. At this time, the bit position indication counter 80 is counting the number of bits x of the data of sample number 0, and the bit position indication data BPP indicates x. Also, at this time, the data of the next sample number 1 is input to the upper bit input MSBIN of the data synthesis section 78, and this is
In response to the instruction of BPP=x, as shown in FIG. 14(b), data is packed into the bit position range immediately above the data of sample number 0. When the data shown in FIG. 14(b) is output from the register 81, the bit position indication counter 80 further adds the number of bits x of the data of sample number 1, and the count value becomes 2x. This value 2x is
Assume that the value causes an overflow. Then, due to this overflow, the lower 16 bit data LSB16 of the register 81 is written into the waveform memory 15. In other words, the data of sample number 0 and part of the data of sample number 1 are written tightly packed into one address=16 bits.

【0063】そのとき、セレクタ79は、レジスタ81
の上位16ビットデータMSB16を「1」入力を介し
て選択し、データ合成部78の下位ビット入力LSBI
Nに入力する。すなわち、サンプル番号1のデータの残
りがデータ合成部78の下位ビット入力LSBINに入
力される。このとき、データ合成部78の上位ビット入
力MSBINには次のサンプル番号2のデータが入力さ
れる。そして、ビット位置指示カウンタ80の値は、B
PP=2x−16であり、こ図14の(c)に示すよう
に、サンプル番号1の残りのデータのすぐ上位のビット
位置範囲にサンプル番号2のデータが詰め込まれる。こ
うして、ビット数データによって指示された有効ビット
数(隠れビットデータを伴う場合はそれに1プラスした
値)分だけのデータだけが抽出され、無駄なく詰め込ま
れて、波形メモリ15に書き込まれる。
At that time, the selector 79 selects the register 81
The upper 16 bit data MSB16 of
Enter N. That is, the remainder of the data of sample number 1 is input to the lower bit input LSBIN of the data synthesis section 78. At this time, data of the next sample number 2 is input to the upper bit input MSBIN of the data synthesis section 78. Then, the value of the bit position indication counter 80 is B
PP=2x-16, and as shown in FIG. 14(c), the data of sample number 2 is packed into the bit position range immediately above the remaining data of sample number 1. In this way, only data corresponding to the effective number of bits (plus 1 if hidden bit data is included) indicated by the bit number data is extracted, packed without waste, and written into the waveform memory 15.

【0064】次に、図11に従って、可変ビット長加工
及び書込処理の全体の流れに沿って説明を行うと、まず
、最初のブロックの処理の際に書込みスタートアドレス
を取り込み、書込みアドレスカウンタ83にセットする
。そして、各ブロックの処理を開始するときに、そのと
きのブロック番号データの最下位ビットBNLSBを取
り込み、前述のブロック番号の偶/奇判断に使用する。 次に、サンプル及びフレームカウンタ69をリセットす
る。そして、ブロックバッファ55における一方の波形
データバッファBW(A)又はBW(B)からサンプル
及びフレームカウンタ69のサンプル番号SNにより指
定される波形データを読み出す。そして、サンプル番号
SNに応じて、次フレームのビット数データ、次ブロッ
クのシフトデータ、及び次ブロックの各圧縮係数を、隠
れビットデータとして波形データに付加する。そして、
現フレームのビット数データと隠れビットの有無に応じ
て、データのビット数を確定し、このビット数にデータ
のビット数を切り揃え、波形メモリ15に前述のように
詰め込んで書き込む処理を行う。そして、上述の処理を
1フレーム分繰返す。その後、フレーム別ビット数のパ
ラメータを切り換えて、上述の処理を繰返す。そして、
1ブロック分の処理が終了したら、この処理を終える。
Next, the entire flow of variable bit length processing and writing processing will be explained according to FIG. Set to . Then, when starting processing of each block, the least significant bit BNLSB of the block number data at that time is taken in and used for the above-mentioned even/odd determination of the block number. Next, the sample and frame counter 69 is reset. Then, the waveform data specified by the sample number SN of the sample and frame counter 69 is read out from one waveform data buffer BW (A) or BW (B) in the block buffer 55 . Then, according to the sample number SN, the bit number data of the next frame, the shift data of the next block, and each compression coefficient of the next block are added to the waveform data as hidden bit data. and,
The number of bits of data is determined according to the bit number data of the current frame and the presence or absence of hidden bits, the number of bits of data is rounded down to this number of bits, and processing is performed to fill and write into the waveform memory 15 as described above. Then, the above process is repeated for one frame. Thereafter, the parameter for the number of bits per frame is changed and the above-described process is repeated. and,
When processing for one block is completed, this processing ends.

【0065】なお、当該波形に関する全ブロックの書込
み処理を終了したとき、波形メモリ15の書込みアドレ
スカウンタ83は、終了アドレスを示している。図3の
前記ステップ39では、このときの終了アドレスデータ
をヘッダ部に記憶するか、若しくはこの終了アドレスと
書込みスタートアドレスとの差から記憶アドレス範囲を
示すサイズデータを求め、これをヘッダ部に記憶する。
Note that when the writing process for all blocks related to the waveform is completed, the write address counter 83 of the waveform memory 15 indicates the end address. In step 39 of FIG. 3, the end address data at this time is stored in the header section, or size data indicating the storage address range is obtained from the difference between this end address and the write start address and is stored in the header section. do.

【0066】−−再生処理−− 波形メモリ15に記憶した圧縮及び縮小処理済みの波形
データを再生し、発音する処理の一例について以下説明
する。図2における音源部23が再生処理を行うもので
あり、その一実施例は図15に示されている。図2にお
いて、マイクロコンピュータは、鍵盤部22と操作子部
20を走査し、押鍵、離鍵を検出すると共に、音色等の
選択状態を検出し、押鍵情報を複数(例えば8とする)
の楽音発生チャンネルのいずれかに割当てる処理を行な
う。マイクロコンピュータは、各チャンネルに割当てた
鍵を示すキーコードKCと該割当て鍵が押鍵され続けて
いるか又は離鍵されたかを示すキーオン信号KONとを
各チャンネル毎に出力し、また選択された音色を示す音
色番号データTNや押鍵タッチを示すタッチデータTD
を出力する。マイクロコンピュータの出力は、インタフ
ェース90を介して音源部23に取り込まれる。インタ
フェース90は、各チャンネルに割当てた鍵のキーコー
ドKCとキーオン信号KONとを所定のチャンネル時分
割タイミングに従って時分割的に出力し、また選択され
た音色の音色番号データTNやタッチデータTDを出力
する。音源部23では、インタフェース90から与えら
れたデータに基づき8チャンネル時分割で様々な処理を
行ない、8チャンネル分の楽音波形信号を時分割発生す
る。
--Reproduction Process-- An example of a process for reproducing compressed and reduced waveform data stored in the waveform memory 15 and generating sound will be described below. The sound source section 23 in FIG. 2 performs reproduction processing, and one embodiment thereof is shown in FIG. 15. In FIG. 2, the microcomputer scans the keyboard section 22 and the operator section 20, detects key presses and key releases, detects the selected state of tone, etc., and selects a plurality of key press information (for example, 8).
Performs processing for assigning to one of the musical tone generation channels. The microcomputer outputs for each channel a key code KC indicating the key assigned to each channel and a key-on signal KON indicating whether the assigned key is kept pressed or released, and also outputs the selected tone. Tone color number data TN indicating the key press and touch data TD indicating the key press touch.
Output. The output of the microcomputer is taken into the sound source section 23 via the interface 90. The interface 90 outputs the key code KC of the key assigned to each channel and the key-on signal KON in a time-sharing manner according to predetermined channel time-sharing timing, and also outputs the tone number data TN and touch data TD of the selected tone. do. The sound source section 23 performs various processes on an eight-channel time-division basis based on the data provided from the interface 90, and generates eight-channel musical waveform signals on a time-division basis.

【0067】Fナンバ発生回路91は、インタフェース
90から与えられるキーコードKCに応じて、発生すべ
き楽音の音高周波数に対応する定数であるFナンバを発
生するもので、例えばROM若しくはテーブルからなる
。このFナンバは累算器92で繰返し累算され、適宜の
桁からの桁上げ信号がノートクロックパルスNCLとし
て出力される。このノートクロックパルスNCLは発生
すべき楽音の音高周波数に対応しており、1パルス毎に
サンプル点インクリメントを指示する。このノートクロ
ックパルスNCLすなわちサンプル点インクリメントは
、1パルスにつき波形メモリ15に対する1サンプル点
分のデータ読出し命令である。クロック及びタイミング
信号発生回路93は、システムクロックパルス及びその
他各種のタイミング信号を発生し、各回路に供給すると
共に、インタフェース90から与えられるキーオン信号
KONに基づきキーオンパルスとキーオフパルスを形成
し、出力する。システムクロックパルスは2相クロック
であり、1周期が1チャンネルのタイムスロット幅に対
応する。第1のキーオンパルスKONP1は、キーオン
信号KONが“0”から“1”に立ち上がったときつま
り押鍵開始時に、該当チャンネルのタイムスロットで1
度だけ“1”になるパルスである。第2のキーオンパル
スKONP2は、キーオンパルスKONP1が“1”に
なった次の時分割チャンネルサイクルで、該当チャンネ
ルのタイムスロットで1度だけ“1”になるパルスであ
る。キーオフパルスKOFPは、キーオン信号KONが
“1”から“0”に立ち下がったときつまり離鍵時に、
該当チャンネルのタイムスロットで1度だけ“1”にな
るパルスである。これらのパルスは、キーオンやキーオ
フに同期した処理を制御するために、各回路に与えられ
る。
The F number generation circuit 91 generates an F number, which is a constant corresponding to the pitch frequency of the musical tone to be generated, in accordance with the key code KC given from the interface 90, and is made of, for example, a ROM or a table. . This F number is repeatedly accumulated by an accumulator 92, and a carry signal from an appropriate digit is output as a note clock pulse NCL. This note clock pulse NCL corresponds to the pitch frequency of the musical tone to be generated, and instructs to increment the sample point every pulse. This note clock pulse NCL, ie, sample point increment, is a command to read data for one sample point to the waveform memory 15 for each pulse. The clock and timing signal generation circuit 93 generates a system clock pulse and various other timing signals and supplies them to each circuit, and also forms and outputs a key-on pulse and a key-off pulse based on the key-on signal KON given from the interface 90. . The system clock pulse is a two-phase clock, and one period corresponds to the time slot width of one channel. The first key-on pulse KONP1 is 1 in the time slot of the corresponding channel when the key-on signal KON rises from "0" to "1", that is, at the start of key depression.
This is a pulse that becomes “1” only once. The second key-on pulse KONP2 is a pulse that becomes "1" only once in the time slot of the corresponding channel in the next time-division channel cycle after the key-on pulse KONP1 becomes "1". The key-off pulse KOFP occurs when the key-on signal KON falls from "1" to "0", that is, when the key is released.
This is a pulse that becomes "1" only once in the time slot of the corresponding channel. These pulses are given to each circuit in order to control processing in synchronization with key-on and key-off.

【0068】パラメータデータ発生回路94は、インタ
フェース90から与えられる音色番号データTNやタッ
チデータTD、キーコードKCに基づき、楽音の音色を
設定したり、タッチコントロールを行なったり、キース
ケーリングを行なったりするための各種のパラメータデ
ータを発生する。選択された音色、鍵タッチ及びキース
ケーリングを考慮して発生されるパラメータデータの一
例を示すと、エンベロープを設定するためのエンベロー
プ設定データEVD、波形読出し開始アドレスを指定す
るスタートアドレスデータSA、最初のブロックの最初
のフレームのデータビット長を指示するイニシャルデー
タ長データILENG、最初のブロックに関する圧縮係
数データICO、最初のブロックに関するシフトデータ
ISF、などがある。これらのパラメータデータのうち
、波形メモリ15のヘッダ部に記憶されているものは、
波形メモリインタフェース16を介して読み出す。
The parameter data generation circuit 94 sets the tone of a musical tone, performs touch control, and performs key scaling based on the tone number data TN, touch data TD, and key code KC given from the interface 90. Generate various parameter data for Examples of parameter data generated in consideration of the selected tone, key touch, and key scaling are envelope setting data EVD for setting the envelope, start address data SA specifying the waveform readout start address, and initial There are initial data length data ILENG indicating the data bit length of the first frame of the block, compression coefficient data ICO regarding the first block, shift data ISF regarding the first block, etc. Among these parameter data, those stored in the header section of the waveform memory 15 are as follows:
Readout via waveform memory interface 16.

【0069】エンベロープ発生器95は、キーオンパル
スKONP1,KONP2とキーオフパルスKOFP及
びエンベロープ設定データEVDに基づき、各チャンネ
ル毎に時分割的にエンベロープ波形データEDを作成し
、出力する。データ取り出し再生部96は、累算器92
から与えられるノートクロックパルスNCLに応じて、
波形メモリ15から読み出すべきデータのサンプル点番
号を特定するサンプル点インクリメントを行ない、この
サンプル点番号と該読み出すべきデータのデータ長とか
ら該読み出すべきデータが記憶されているアドレスを特
定し、アドレス信号CAを生成する。このアドレス信号
CAは、1音色に対応する波形データを記憶した領域内
の相対アドレスであるので、これに対して絶対アドレス
であるスタートアドレスデータSAを加算することによ
り、生成したアドレス信号を絶対アドレス信号に変換し
、これを波形メモリ15にアドレス入力する。波形メモ
リ15は、入力されたアドレス信号に応じて、1つの記
憶アドレスから16ビット構成の記憶データを読み出す
The envelope generator 95 creates and outputs envelope waveform data ED in a time-division manner for each channel based on the key-on pulses KONP1 and KONP2, the key-off pulse KOFP, and the envelope setting data EVD. The data retrieval and reproduction section 96 includes an accumulator 92
According to the note clock pulse NCL given from
A sample point increment is performed to specify the sample point number of the data to be read from the waveform memory 15, and the address where the data to be read is stored is specified from this sample point number and the data length of the data to be read, and the address signal is Generate CA. This address signal CA is a relative address within an area that stores waveform data corresponding to one tone, so by adding start address data SA, which is an absolute address, to this address signal, the generated address signal can be changed to an absolute address. It is converted into a signal and inputted into the waveform memory 15 as an address. The waveform memory 15 reads out 16-bit stored data from one storage address in accordance with the input address signal.

【0070】また、データ取り出し再生部96は、波形
メモリ15から読み出された16ビット構成のデータR
Dを入力し、可変ビット長からなる必要な1サンプル点
分のデータをそこから取り出す。また、必要な1サンプ
ル点分のデータが複数アドレスにまたがって記憶されて
いる場合は、その複数アドレスから読み出されたデータ
の中から必要なデータをつなぎ合わせてそれを取り出す
。更に、データ取り出し再生部96は、波形メモリ15
から読み出された16ビット構成のデータの中から「隠
れビット」のデータを抜き出し、これらをつなぎ合わせ
て各隠れビットデータHB0〜HB3,HS0〜HS3
,HC0〜HC7の一揃いを提供し、「隠れ情報」とし
て波形メモリ15に記憶されていた各フレーム毎のビッ
ト数指示データ、各ブロック毎のシフトデータ、各ブロ
ック毎の圧縮係数データを取り出す。隠れビットから取
り出したビット数指示データを利用して、波形メモリ1
5から読み出された16ビット構成のデータの中から、
可変ビット長からなる1サンプル点分のデータを、取り
出す処理を行なう。なお、最初のフレームでは、パラメ
ータデータ発生回路94からのイニシャルデータ長デー
タILENGを利用して、上記1サンプル点分の可変長
データの取り出しを行なう。
Further, the data retrieval/reproduction unit 96 receives the 16-bit data R read out from the waveform memory 15.
D is input, and data for one necessary sample point having a variable bit length is extracted from it. Furthermore, if data for one necessary sample point is stored across multiple addresses, the necessary data is connected and extracted from the data read from the multiple addresses. Furthermore, the data retrieval/reproduction section 96 also includes the waveform memory 15.
"Hidden bit" data is extracted from the 16-bit data read from the 16-bit data, and these are connected to create each hidden bit data HB0 to HB3, HS0 to HS3.
, HC0 to HC7, and extracts bit number instruction data for each frame, shift data for each block, and compression coefficient data for each block stored in the waveform memory 15 as "hidden information". Using the bit number instruction data extracted from the hidden bits, waveform memory 1
From the 16-bit data read from 5,
Processing is performed to extract data for one sample point having a variable bit length. In the first frame, the initial data length data ILENG from the parameter data generation circuit 94 is used to extract the variable length data for one sample point.

【0071】データ取り出し再生部96により取り出さ
れた波形サンプルデータCWDは、圧縮データ復調回路
97に入力し、通常のPCM符号化された波形データW
Dに復調する。その場合、隠れビットから取り出した圧
縮係数a0,a1,b0,b1を利用して、それに対応
するブロック区間の波形データの圧縮復調演算を行う。 なお、最初のブロック区間では、パラメータデータ発生
回路94からのイニシャル圧縮係数データICOを利用
して、復調演算を行う。圧縮データ復調回路97から出
力された波形サンプルデータWDは、シフト回路98に
入力され、全ブロック共通の重みに復元される。その場
合、隠れビットから取り出したシフトデータSFDを利
用して、それに対応するブロック区間の波形データの重
みを復元する処理を行う。なお、最初のブロック区間で
は、パラメータデータ発生回路94からのイニシャルシ
フトデータISFを利用してシフトデータSFDを発生
し、重み復元演算を行う。このシフト回路98によるデ
ータシフト方向は、図5のシフト回路47によるシフト
方向と丁度逆である。
The waveform sample data CWD extracted by the data extraction and reproduction section 96 is input to the compressed data demodulation circuit 97, and is converted into normal PCM encoded waveform data W.
Demodulates to D. In this case, the compression coefficients a0, a1, b0, and b1 extracted from the hidden bits are used to perform compression and demodulation calculations on the waveform data of the corresponding block section. Note that in the first block section, demodulation calculation is performed using the initial compression coefficient data ICO from the parameter data generation circuit 94. The waveform sample data WD output from the compressed data demodulation circuit 97 is input to a shift circuit 98 and restored to a weight common to all blocks. In this case, the shift data SFD extracted from the hidden bits is used to restore the weight of the waveform data in the corresponding block section. In the first block section, initial shift data ISF from the parameter data generation circuit 94 is used to generate shift data SFD, and weight restoration calculation is performed. The data shift direction by shift circuit 98 is exactly opposite to the shift direction by shift circuit 47 in FIG.

【0072】シフト回路98から出力された波形データ
は乗算器99でエンベロープ発生器95からのエンベロ
ープ波形データEDにより乗算され、音量振幅レベルが
エンベロープ波形に従って制御される。乗算器99に至
るまでの波形データの再生・制御は各チャンネル時分割
で行なわれており、この乗算器99の出力をチャンネル
累算器100で1チャンネル時分割サイクルの間で各チ
ャンネル同士で累算し、全チャンネルの楽音波形データ
を合計する。この出力がディジタル/アナログ変換器2
4(図2)に与えられ、サウンドシステム25を経て音
響的に発音される。
The waveform data output from the shift circuit 98 is multiplied by the envelope waveform data ED from the envelope generator 95 in a multiplier 99, and the volume amplitude level is controlled according to the envelope waveform. Reproduction and control of the waveform data up to the multiplier 99 is performed on a time-division basis for each channel, and the output of the multiplier 99 is accumulated between each channel in a channel accumulator 100 during one channel time-division cycle. and sum the musical waveform data of all channels. This output is the digital/analog converter 2
4 (FIG. 2) and acoustically produced via a sound system 25.

【0073】−−データ取り出し再生部の説明−−図1
6はデータ取り出し再生部96の内部構成例を示すブロ
ック図であり、1サンプル点ごとのデータ読出しを命令
するノートクロックパルスNCLは、サンプルカウンタ
101、データ長カウンタ102、アドレスカウンタ1
03、データ位置再生回路104、隠れビット再生回路
105、データレジスタ106にそれぞれ入力される。 サンプルカウンタ101は、ノートクロックパルスNC
Lをカウントし、再生すべきサンプル点の番号を1ブロ
ック内の相対番号にて指示するサンプルナンバSNを出
力する。この詳細例は図17に示されており、サンプル
カウンタ101は、加算器107と、加算器107の加
算結果を各チャンネル毎に時分割タイミングに同期して
動的に記憶する8ステージ/4ビットのシフトレジスタ
108と、シフトレジスタ108の出力をゲートするゲ
ート109とを具えている。ゲート109の出力が加算
器107に入力され、加算器107の他の入力に加わる
ノートクロックパルスNCLと加算される。ゲート10
9の出力がサンプルナンバSNとして出力される。 この10ビットのサンプルナンバSNは、1ブロック内
の相対的サンプル番号0〜1023を特定する。また、
ゲート109は、第2のキーオンパルスKONP2によ
って閉じられるが、それ以外のときは開かれている。な
お、シフトレジスタ108のブロック中の表示「8D」
は、8ステージであることを示しており、前述の2相の
システムクロックパルスによってチャンネル時分割タイ
ミングに同期してシフト制御される。「8D」と記され
た他のシフトレジスタについても同様である。
--Description of data retrieval and playback section--Figure 1
6 is a block diagram showing an example of the internal configuration of the data retrieval/reproducing section 96, in which the note clock pulse NCL for instructing data reading for each sample point is connected to a sample counter 101, a data length counter 102, and an address counter 1.
03, the data position reproducing circuit 104, the hidden bit reproducing circuit 105, and the data register 106, respectively. The sample counter 101 receives the note clock pulse NC
L is counted and a sample number SN indicating the number of the sample point to be reproduced as a relative number within one block is output. A detailed example of this is shown in FIG. 17, in which the sample counter 101 includes an adder 107 and an 8-stage/4-bit system that dynamically stores the addition result of the adder 107 for each channel in synchronization with the time division timing. A shift register 108 and a gate 109 for gating the output of the shift register 108 are provided. The output of gate 109 is input to adder 107 and summed with the note clock pulse NCL applied to the other input of adder 107. gate 10
The output of 9 is output as sample number SN. This 10-bit sample number SN specifies relative sample numbers 0 to 1023 within one block. Also,
The gate 109 is closed by the second key-on pulse KONP2, but is otherwise open. In addition, the display "8D" in the block of the shift register 108
indicates that there are eight stages, which are shift-controlled in synchronization with the channel time division timing by the two-phase system clock pulses mentioned above. The same applies to the other shift registers marked "8D".

【0074】この構成により、サンプルカウンタ101
は、第2のキーオンパルスKONP2によって押鍵当初
に一旦クリアされ、以後、ノートクロックパルスNCL
をカウントし、再生すべきサンプル点の番号を1ブロッ
ク内の相対番号0〜1023にて指示するサンプルナン
バSNを生成する。生成されたサンプルナンバSNは隠
れビット制御信号発生回路110に入力される。隠れビ
ット制御信号発生回路110は、各隠れビットデータH
B0〜HB3,HS0〜HS3,HC0〜HC7が割当
てられているサンプル番号を認識するものである。まず
、4ビットからなる各フレーム毎のビット数データに対
応する隠れビットデータHB0〜HB3が割当てられて
いる1フレーム内の最初の4つのサンプル番号の認識の
ために、ノアゲート111が設けられている。10ビッ
トからなるサンプルナンバSNの内、最下位4ビットS
0,S1,S2,S3が1フレーム内の16サンプル点
を識別するものであり、そのうち上位2ビットS2,S
3がノアゲート111に入力される。1フレーム内の最
初の4つのサンプル点においては、サンプルナンバSN
の上記2ビットS2,S3はいずれも“0”であり、ノ
アゲート111の出力は“1”であるが、それ以外のと
きはノアゲート111の出力は“0”である。このノア
ゲート111の出力がビット数データの隠れビット制御
信号HBC1として他の回路に与えられ、この信号HB
C1が“1”のときビット数データに対応する隠れビッ
トHB0〜HB3が割当てられているサンプル点である
ことを示す。サンプルナンバSNの下位4ビットS0,
S1,S2,S3がアンドゲート112に入力され、フ
レームの最後のサンプル点ではこれらのビットS0〜S
3がすべて“1”であり、アンドゲート112の出力が
“1”となり、これがフレーム変化信号HBC2として
他の回路に与えられる。
With this configuration, the sample counter 101
is once cleared by the second key-on pulse KONP2 at the beginning of the key press, and thereafter the note clock pulse NCL
, and generates a sample number SN indicating the number of the sample point to be reproduced as a relative number 0 to 1023 within one block. The generated sample number SN is input to the hidden bit control signal generation circuit 110. The hidden bit control signal generation circuit 110 generates each hidden bit data H.
It recognizes the sample numbers to which B0 to HB3, HS0 to HS3, and HC0 to HC7 are assigned. First, a NOR gate 111 is provided to recognize the first four sample numbers within one frame to which hidden bit data HB0 to HB3 corresponding to the bit number data of each frame consisting of 4 bits are assigned. . Of the sample number SN consisting of 10 bits, the lowest 4 bits S
0, S1, S2, S3 identify 16 sample points within one frame, of which the upper 2 bits S2, S
3 is input to the NOR gate 111. At the first four sample points within one frame, the sample number SN
The above two bits S2 and S3 are both "0" and the output of the NOR gate 111 is "1", but in other cases the output of the NOR gate 111 is "0". The output of this NOR gate 111 is given to other circuits as a hidden bit control signal HBC1 of bit number data, and this signal HB
When C1 is "1", it indicates that the sample point is assigned the hidden bits HB0 to HB3 corresponding to the bit number data. Lower 4 bits of sample number SN S0,
S1, S2, S3 are input to AND gate 112, and at the last sample point of the frame these bits S0-S
3 are all "1", and the output of the AND gate 112 becomes "1", which is given to other circuits as the frame change signal HBC2.

【0075】4ビットからなる各ブロック毎のシフトデ
ータに対応する隠れビットデータHS0〜HS3が割当
てられている各ブロックの最初のフレーム内の5番目か
ら8番目までの4つのサンプル番号の認識のために、ノ
アゲート113とアンドゲート114が設けられている
。 10ビットからなるサンプルナンバSNの内、最上位4
ビットS6,S7,S8,S9がノアゲート113に入
力される。1ブロック内の最初の4個のフレーム(フレ
ーム0〜3)の間、上記最上位4ビットS6,S7,S
8,S9はオール“0”であり、ノアゲート113の出
力が“1”となる。このノアゲート113の出力信号と
、サンプルナンバSNの3ビット目S2と、サンプルナ
ンバSNの4ビット目から6ビット目までのビットS3
,S4,S5をそれぞれ反転した信号とがアンドゲート
114に入力される。ノアゲート113の出力が“1”
で、ビットS2が“1”、かつビットS3,S4,S5
がオール“0”となるのは、ブロックの最初のフレーム
0の5番目から8番目までの4つのサンプル番号4,5
,6,7のときである。そのときアンドゲート114の
出力が“1”となり、これがシフトデータ隠れビット制
御信号HSCとして他の回路に与えられる。
[0075] For recognition of four sample numbers from 5th to 8th in the first frame of each block to which hidden bit data HS0 to HS3 corresponding to shift data of each block consisting of 4 bits is assigned. A NOR gate 113 and an AND gate 114 are provided. The most significant 4 of the 10-bit sample number SN
Bits S6, S7, S8, and S9 are input to NOR gate 113. During the first four frames (frames 0 to 3) in one block, the most significant 4 bits S6, S7, S
8 and S9 are all "0", and the output of the NOR gate 113 becomes "1". The output signal of this NOR gate 113, the third bit S2 of the sample number SN, and the bit S3 from the fourth bit to the sixth bit of the sample number SN.
, S4, and S5 are input to the AND gate 114. The output of Noah gate 113 is “1”
Then, bit S2 is “1” and bits S3, S4, S5
is all “0” at the four sample numbers 4 and 5 from the 5th to the 8th of the first frame 0 of the block.
, 6, 7. At this time, the output of the AND gate 114 becomes "1", which is given to other circuits as the shift data hidden bit control signal HSC.

【0076】それぞれ8ビットからなる各ブロック毎の
4つの圧縮係数データa0,a1,b0,b1に対応す
る隠れビットデータHC0〜HC7が割当てられている
各ブロックの最初の4個の各フレーム(フレーム0〜3
)内の9番目から16番目までの8つのサンプル番号の
認識のために、ノアゲート113とアンドゲート115
〜118が設けられている。前述のように、1ブロック
内の最初の4個のフレーム(フレーム0〜3)の間、ノ
アゲート113の出力が“1”となる。このノアゲート
113の出力信号と、サンプルナンバSNの4ビット目
S3と、サンプルナンバSNの5ビット目及び6ビット
目のビットS4,S5をそれぞれ反転した信号とがアン
ドゲート115に入力される。ノアゲート113の出力
が“1”で、ビットS3が“1”、かつビットS4,S
5が“0”となるのは、ブロックの最初のフレームの9
番目から16番目までの8つのサンプル番号8〜15の
ときである。そのときアンドゲート115の出力が“1
”となり、これが圧縮係数b1用の隠れビット制御信号
HCb1として他の回路に与えられる。図12に示すよ
うにこれらのサンプル番号8〜15には圧縮係数b1の
隠れビットデータHC0〜HC7が割り当てられている
Each of the first four frames (frames 0-3
), a Noah gate 113 and an AND gate 115 are used to recognize eight sample numbers from the 9th to the 16th in
-118 are provided. As described above, the output of the NOR gate 113 is "1" during the first four frames (frames 0 to 3) within one block. The output signal of the NOR gate 113, the fourth bit S3 of the sample number SN, and the inverted signals of the fifth and sixth bits S4 and S5 of the sample number SN are input to the AND gate 115. The output of NOR gate 113 is “1”, bit S3 is “1”, and bits S4 and S
5 becomes “0” when 9 of the first frame of the block
This is the case for eight sample numbers 8 to 15 from the 16th to the 16th. At that time, the output of the AND gate 115 is “1”
", and this is given to other circuits as the hidden bit control signal HCb1 for the compression coefficient b1. As shown in FIG. 12, the hidden bit data HC0 to HC7 of the compression coefficient b1 are assigned to these sample numbers 8 to 15. ing.

【0077】ノアゲート113の出力信号と、サンプル
ナンバSNの4ビット目S3及び5ビット目S4と、6
ビット目のビットS5を反転した信号とがアンドゲート
116に入力される。ノアゲート113の出力が“1”
で、ビットS3,S4が“1”、かつビットS5が“0
”となるのは、ブロックの2番目のフレームの9番目か
ら16番目までの8つのサンプル番号24〜31のとき
である。そのときアンドゲート116の出力が“1”と
なり、これが圧縮係数b0用の隠れビット制御信号HC
b0として他の回路に与えられる。図12に示すように
これらのサンプル番号24〜31には圧縮係数b0の隠
れビットデータHC0〜HC7が割り当てられている。 同様に、ノアゲート113の出力信号と、サンプルナン
バSNの4ビット目S3及び6ビット目S5と、5ビッ
ト目のビットS4を反転した信号とがアンドゲート11
7に入力される。ブロックの3番目のフレームの9番目
から16番目までの8つのサンプル番号40〜47のと
き、アンドゲート117の出力が“1”となり、これが
圧縮係数a1用の隠れビット制御信号HCa1として他
の回路に与えられる。また、ノアゲート113の出力信
号と、サンプルナンバSNの4ビット目から6ビット目
までのビットS3,S4,S5がアンドゲート118に
入力される。ブロックの4番目のフレームの9番目から
16番目までの8つのサンプル番号56〜63のときア
ンドゲート118の出力が“1”となり、これが圧縮係
数a0用の隠れビット制御信号HCa0として他の回路
に与えられる。
The output signal of the NOR gate 113, the 4th bit S3 and the 5th bit S4 of the sample number SN,
A signal obtained by inverting the bit S5 is input to the AND gate 116. The output of Noah gate 113 is “1”
Then, bits S3 and S4 are “1” and bit S5 is “0”.
” occurs at eight sample numbers 24 to 31 from the 9th to the 16th frame of the second frame of the block.At that time, the output of the AND gate 116 becomes “1”, and this is the value for the compression coefficient b0. Hidden bit control signal HC
It is given to other circuits as b0. As shown in FIG. 12, hidden bit data HC0 to HC7 of compression coefficient b0 are assigned to these sample numbers 24 to 31. Similarly, the output signal of the NOR gate 113, the fourth bit S3 and the sixth bit S5 of the sample number SN, and the signal obtained by inverting the fifth bit S4 are output to the AND gate 113.
7 is input. At eight sample numbers 40 to 47 from the 9th to the 16th frame of the third frame of the block, the output of the AND gate 117 becomes "1", and this is sent to other circuits as the hidden bit control signal HCa1 for the compression coefficient a1. given to. Further, the output signal of the NOR gate 113 and bits S3, S4, and S5 from the fourth bit to the sixth bit of the sample number SN are input to the AND gate 118. At eight sample numbers 56 to 63 from the 9th to the 16th of the 4th frame of the block, the output of the AND gate 118 becomes "1", and this is sent to other circuits as the hidden bit control signal HCa0 for the compression coefficient a0. Given.

【0078】各隠れビット制御信号HBC1〜HCa0
はオアゲート137でオア合成され、隠れビット有りを
示す隠れビット制御信号HCが出力される。サンプルナ
ンバSNの全ビットがアンドゲート119に与えられ、
ブロックの最後のサンプル番号1023のとき、該アン
ドゲート119の出力が“1”となり、これがブロック
終了制御信号BFCとして他の回路に与えられる。
Each hidden bit control signal HBC1 to HCa0
are OR-combined by an OR gate 137, and a hidden bit control signal HC indicating the presence of a hidden bit is output. All bits of sample number SN are given to AND gate 119,
At the last sample number 1023 of the block, the output of the AND gate 119 becomes "1", which is given to other circuits as the block end control signal BFC.

【0079】図16に戻り、データ長カウンタ102は
、データレジスタ106から出力されるデータ長指示デ
ータLENGを入力し、これをノートクロックパルスN
CLのタイミング毎に累算するモジュロ16のカウンタ
である。このモジュロ数16は、波形メモリ15におけ
る1アドレスのビット数16に対応している。従って、
データ長カウンタ102のカウント値は、メモリアドレ
スにおける可変長データの境目を指示している。この詳
細例は図18に示されており、データ長カウンタ102
は、加算器120と、加算器120の加算結果を「1」
入力に入力したセレクタ121と、セレクタ121の出
力を入力して各チャンネル毎に時分割タイミングに同期
して動的に記憶する8ステージ/4ビットのシフトレジ
スタ122と、シフトレジスタ122の出力をゲートす
るゲート123とを具えている。ゲート123の出力が
加算器120に入力され、加算器120の他の入力に加
わるデータ長指示データLENGと加算される。 また、ゲート123の出力はセレクタ121の「0」入
力に入力される。ゲート123は、第2のキーオンパル
スKONP2によって閉じられるが、それ以外のときは
開かれている。セレクタ121は、ノートクロックパル
スNCLが生じたとき(“1”のとき)「1」入力に加
わる加算器120の加算結果を選択し、生じていないと
き(“0”のとき)「0」入力に加わるカウント値を選
択し、保持する。
Returning to FIG. 16, the data length counter 102 inputs the data length instruction data LENG output from the data register 106, and uses this as the note clock pulse N.
This is a modulo 16 counter that accumulates at each CL timing. This modulo number of 16 corresponds to the number of bits of one address in the waveform memory 15, which is 16. Therefore,
The count value of the data length counter 102 indicates the boundary of variable length data at the memory address. A detailed example of this is shown in FIG.
The adder 120 and the addition result of the adder 120 are "1"
A selector 121 input to the input, an 8-stage/4-bit shift register 122 that inputs the output of the selector 121 and dynamically stores it in synchronization with the time division timing for each channel, and gates the output of the shift register 122. A gate 123 is provided. The output of gate 123 is input to adder 120 and added to data length instruction data LENG added to the other input of adder 120. Further, the output of the gate 123 is input to the “0” input of the selector 121. The gate 123 is closed by the second key-on pulse KONP2, but is otherwise open. The selector 121 selects the addition result of the adder 120 to be added to the "1" input when the note clock pulse NCL occurs (when it is "1"), and selects the addition result of the adder 120 to be added to the "1" input when the note clock pulse NCL does not occur (when it is "0"). Select and hold the count value to be added to.

【0080】この構成により、データ長カウンタ102
は、第2のキーオンパルスKONP2によって押鍵当初
に一旦クリアされ、以後、ノートクロックパルスNCL
が生じる毎にデータ長指示データLENGを累算する。 なお、データ長指示データLENGは波形データ部分の
正味のデータ長すなわちビット数を指示し、隠れビット
HB0〜HC7を含むデータ長を指示していない。そこ
で、隠れビットHB0〜HC7を含むサンプル点で実際
のデータ長が加算されるようにするために、前述の隠れ
ビット制御信号HBC1,HSC,HCb1,HCb0
,HCa1,HCa0,をオア合成した信号HCを加算
器120のキャリィイン入力Cinに入力し、隠れビッ
ト分として1加算するようになっている。データ長カウ
ンタ102のカウント出力はゲート123から出力され
、これがプル・アウト・ポインタ(取り出しポインタ)
POPとして他の回路に与えられる。このプル・アウト
・ポインタPOPは、取り出すべき1サンプル点のデー
タの最下位のビットが位置している記憶アドレス中のビ
ット位置を指示している。
With this configuration, the data length counter 102
is once cleared by the second key-on pulse KONP2 at the beginning of the key press, and thereafter the note clock pulse NCL
The data length instruction data LENG is accumulated every time the error occurs. Note that the data length instruction data LENG indicates the net data length of the waveform data portion, that is, the number of bits, and does not indicate the data length including hidden bits HB0 to HC7. Therefore, in order to add the actual data length at sample points including hidden bits HB0 to HC7, the hidden bit control signals HBC1, HSC, HCb1, HCb0
, HCa1, HCa0, is inputted to the carry-in input Cin of the adder 120, and 1 is added as a hidden bit. The count output of the data length counter 102 is output from the gate 123, and this is the pull out pointer (extract pointer).
It is given to other circuits as POP. This pull out pointer POP indicates the bit position in the storage address where the least significant bit of the data of one sample point to be retrieved is located.

【0081】例えば、図13の例の場合、最初のサンプ
ル点0のプル・アウト・ポインタPOPは、キーオンパ
ルスKONP2によるクリアにより「0」つまり記憶ア
ドレスの最下位ビット0を指示する。次にノートクロッ
クパルスNCLのタイミングが到来すると、データ長指
示データLENGの11と隠れビット制御信号HBC1
による1が加算器120で加算され、POP=12とな
り、記憶アドレスのビット12を指示する。次にノート
クロックパルスNCLのタイミングが到来すると、12
+12=24であるから、加算器120でキャリィアウ
ト出力Coutに“1”が生じ、加算結果が8となり、
記憶アドレスのビット8を指示する。このように、プル
・アウト・ポインタPOPは、取り出すべき1サンプル
点のデータの最下位のビットが位置している記憶アドレ
ス中のビット位置を指示する。
For example, in the case of the example shown in FIG. 13, the pull-out pointer POP of the first sample point 0 points to "0", that is, the least significant bit 0 of the storage address, when cleared by the key-on pulse KONP2. Next, when the timing of the note clock pulse NCL arrives, 11 of the data length instruction data LENG and the hidden bit control signal HBC1
1 is added by the adder 120, resulting in POP=12, which indicates bit 12 of the storage address. Next, when the timing of the note clock pulse NCL arrives, 12
Since +12=24, “1” is generated in the carry-out output Cout in the adder 120, and the addition result is 8.
Indicates bit 8 of the storage address. Thus, the pull out pointer POP points to the bit position in the storage address where the least significant bit of the data of one sample point to be retrieved is located.

【0082】加算器120のキャリィアウト出力Cou
tの信号は、アドレスインクリメントパルスADINC
としてデータ長カウンタ102から出力される。アドレ
スカウンタ103は、このアドレスインクリメントパル
スADINCとノートクロックパルスNCLとに基づき
、波形メモリ15を読み出すためのアドレスカウントを
行ない、読出しアドレスの相対値であるアドレス信号C
Aを出力する。ノートクロックパルスNCLのタイミン
グで生じたアドレスインクリメントパルスADINCを
有効なアドレスインクリメントパルスとして、アドレス
を1カウントアップする。
Carry-out output Cou of adder 120
The signal at t is the address increment pulse ADINC.
The data length counter 102 outputs the data as follows. The address counter 103 counts addresses for reading out the waveform memory 15 based on the address increment pulse ADINC and the note clock pulse NCL, and sends an address signal C which is a relative value of the read address.
Output A. The address is counted up by one using the address increment pulse ADINC generated at the timing of the note clock pulse NCL as an effective address increment pulse.

【0083】この詳細例は図18に示されており、アド
レスカウンタ103は、ノートクロックパルスNCLを
遅延する8ステージ/1ビットのシフトレジスタ124
と、このシフトレジスタ124の出力とアドレスインク
リメントパルスADINCとを入力したアンドゲート1
25と、アンドゲート125の出力を一方に入力した加
算器126と、加算器126の加算結果をゲートするゲ
ート127と、このゲート127の出力を入力して各チ
ャンネル毎に時分割タイミングに同期して動的に記憶す
る8ステージ/22ビットのシフトレジスタ128とを
具えている。シフトレジスタ128の出力が加算器12
6に入力され、アンドゲート125の出力と加算される
。また、キーオンパルスKONP1,KONP2がノア
ゲート1294に入力され、その出力によりゲート12
7が制御される。
A detailed example of this is shown in FIG. 18, where the address counter 103 is an 8-stage/1-bit shift register 124 that delays the note clock pulse NCL.
AND gate 1 inputs the output of this shift register 124 and address increment pulse ADINC.
25, an adder 126 which inputs the output of the AND gate 125 to one side, a gate 127 which gates the addition result of the adder 126, and a gate 127 which inputs the output of this gate 127 and synchronizes with the time division timing for each channel. and an 8-stage/22-bit shift register 128 for dynamic storage. The output of the shift register 128 is sent to the adder 12
6 and is added to the output of AND gate 125. In addition, the key-on pulses KONP1 and KONP2 are input to the NOR gate 1294, and the output of the key-on pulses KONP1 and KONP2
7 is controlled.

【0084】データ長カウンタ102において、加算器
120からキャリィアウト出力が生じるタイミングは、
シフトレジスタ122による遅れにより、ノートクロッ
クパルスNCLのタイミングよりも8システムクロック
分遅れるので、これに合わせるために、シフトレジスタ
124でノートクロックパルスNCLを8システムクロ
ック分遅らせているのである。従って、ノートクロック
パルスNCLのタイミングでデータ長指示データLEN
Gを加算した結果、アドレスインクリメントパルスAD
INCが生じると、アンドゲート125の出力が“1”
となり、アドレスカウンタ103で1アドレスカウント
アップする。アドレスカウンタ103では、ゲート12
7の出力がアドレス信号CAとして出力される。
In the data length counter 102, the timing at which the carry-out output is generated from the adder 120 is as follows.
Due to the delay caused by the shift register 122, the timing of the note clock pulse NCL is delayed by 8 system clocks, so in order to match this, the note clock pulse NCL is delayed by 8 system clocks in the shift register 124. Therefore, at the timing of the note clock pulse NCL, the data length instruction data LEN
As a result of adding G, address increment pulse AD
When INC occurs, the output of AND gate 125 becomes “1”
Therefore, the address counter 103 counts up one address. In the address counter 103, the gate 12
The output of 7 is output as the address signal CA.

【0085】例えば、図13の例の場合、最初はキーオ
ンパルスKONP1,KONP2によるクリアによりア
ドレス信号CAは「0」つまり記憶アドレスA0を指示
し、このアドレスA0に記憶されている16ビットのデ
ータが読み出される。次にノートクロックパルスNCL
のタイミングが到来すると、データ長カウンタ102の
加算器120の加算出力は前述のように12となり、こ
れがセレクタ121で選択されてシフトレジスタ122
に入り、その8システムクロック後に、POP=12が
出力される。このとき加算器120では12が更に加算
されてキャリィアウト出力Coutが“1”となり、ア
ドレスインクリメントパルスADINCの“1”と8シ
ステムクロック遅延されたノートクロックパルスNCL
とがアンドゲート125に加わり、アドレスカウンタ1
03がカウントアップされる。従って、アドレス信号C
Aは「1」つまり記憶アドレスA1を指示し、このアド
レスA1に記憶されている16ビットのデータが読み出
される。一方、セレクタ121では加算器120の出力
は選択されず、データ長カウンタ102の出力POPは
12を維持する。
For example, in the case of the example shown in FIG. 13, the address signal CA is initially cleared by key-on pulses KONP1 and KONP2 to indicate "0", that is, the storage address A0, and the 16-bit data stored at this address A0 is Read out. Next note clock pulse NCL
When the timing of , the addition output of the adder 120 of the data length counter 102 becomes 12 as described above, which is selected by the selector 121 and sent to the shift register 122.
8 system clocks later, POP=12 is output. At this time, the adder 120 further adds 12 and the carry-out output Cout becomes "1", and the address increment pulse ADINC is "1" and the note clock pulse NCL delayed by 8 system clocks.
is added to AND gate 125, and address counter 1
03 is counted up. Therefore, address signal C
A indicates "1", that is, the storage address A1, and the 16-bit data stored at this address A1 is read out. On the other hand, the selector 121 does not select the output of the adder 120, and the output POP of the data length counter 102 maintains 12.

【0086】ここで理解できるように、2つのアドレス
A0,A1にまたがって記憶されているサンプル番号1
のデータに関しては、プル・アウト・ポインタPOPは
該データの最下位ビットが位置しているアドレスA0に
おけるビット12を指示し、アドレスカウンタ103の
出力アドレス信号CAはその次のアドレスA1を指定す
る。つまり、アドレス信号CAの方がプル・アウト・ポ
インタPOPよりも1アドレス先行している。これは、
追って説明されるように、データ位置再生回路104で
は、2つのアドレスにまたがって記憶されている1サン
プル点分のデータを再生するために、波形メモリ15か
ら読み出された前のアドレスのデータを一時保持してお
り、プル・アウト・ポインタPOPは、そのように一時
保持した前アドレスの読出しデータに対して、取り出す
べきデータの最下位ビットを指示するようになっている
ためである。
As can be understood here, sample number 1 stored across two addresses A0 and A1
Regarding data, pull out pointer POP points to bit 12 in address A0 where the least significant bit of the data is located, and output address signal CA of address counter 103 points to the next address A1. In other words, address signal CA precedes pull-out pointer POP by one address. this is,
As will be explained later, the data position reproducing circuit 104 uses the data at the previous address read from the waveform memory 15 in order to reproduce data for one sample point stored across two addresses. This is because the pull-out pointer POP is designed to indicate the least significant bit of the data to be taken out with respect to the temporarily held read data of the previous address.

【0087】データ位置再生回路104は、波形メモリ
15から読み出された16ビット構成のデータRDを入
力し、(a)2つのアドレスにまたがって記憶されてい
る1サンプル点分のデータを1揃いにまとめて再生する
機能を果すと共に、また、(b)可変ビット長のデータ
の最下位ビットに合わせてデータのビット位置を揃える
処理を行なうことにより、16ビット構成のデータの中
から可変ビット長の1サンプル点分のデータの必要な部
分のみを取り出すための前処理を行なう機能を果すもの
である。この詳細例は図19に示されており、データ位
置再生回路104は、32ビット並列入力/16ビット
並列出力のシフタ130を含んでいる。シフタ130の
上位16ビット入力には、波形メモリ15から読み出さ
れた16ビット構成のデータRDが直接入力される。こ
の読出しデータRDはセレクタ131の「0」入力に加
わり、セレクタ131の出力は8ステージ/16ビット
のシフトレジスタ132に入力され、シフトレジスタ1
32の出力がセレクタ131の「1」入力に加わると共
にシフタ130の下位16ビット入力に与えられる。ノ
ートクロックパルスNCLとキーオンパルスKONP1
がノアゲート133に加わり、ノアゲート133の出力
信号が“0”のときセレクタ131の「0」入力を選択
し、“1”のとき「1」入力を選択する。
The data position reproducing circuit 104 inputs the 16-bit data RD read from the waveform memory 15, and (a) collects one set of data for one sample point stored across two addresses; (b) By performing processing to align the bit positions of data according to the least significant bit of variable bit length data, variable bit length data can be reproduced from among 16-bit data. This function performs preprocessing to extract only the necessary part of the data for one sample point. A detailed example of this is shown in FIG. 19, where the data position recovery circuit 104 includes a 32-bit parallel input/16-bit parallel output shifter 130. The 16-bit data RD read from the waveform memory 15 is directly input to the upper 16-bit input of the shifter 130 . This read data RD is added to the "0" input of the selector 131, and the output of the selector 131 is input to the 8-stage/16-bit shift register 132.
The output of 32 is added to the “1” input of selector 131 and is also applied to the lower 16 bit input of shifter 130. Note clock pulse NCL and key-on pulse KONP1
is added to the NOR gate 133, and when the output signal of the NOR gate 133 is "0", the "0" input of the selector 131 is selected, and when it is "1", the "1" input is selected.

【0088】シフタ130の制御入力には、図18のデ
ータ長カウンタ102からプル・アウト・ポインタPO
Pが入力される。このプル・アウト・ポインタPOPは
、シフタ130の32ビット並列入力データのうち16
ビット並列出力データとして取り出すべきデータの最下
位ビットに該当するビットを指示する。例えば、POP
=0であれば、32ビット並列入力データの最下位ビッ
トを16ビット並列出力データの最下位ビットとして、
そこから上の16ビットデータを取り出す。また、PO
P=1であれば、32ビット並列入力データの下から2
ビット目を16ビット並列出力データの最下位ビットと
してそこから上の16ビットデータを取り出す。また、
POP=12であれば、32ビット並列入力データの下
から13ビット目を16ビット並列出力データの最下位
ビットとしてそこから上の16ビットデータを取り出す
The control input of the shifter 130 includes a pull out pointer PO from the data length counter 102 in FIG.
P is input. This pull out pointer POP is connected to 16 of the 32-bit parallel input data of shifter 130.
Indicates the bit corresponding to the least significant bit of the data to be extracted as bit-parallel output data. For example, POP
If = 0, the least significant bit of the 32-bit parallel input data is the least significant bit of the 16-bit parallel output data,
The upper 16-bit data is extracted from there. Also, P.O.
If P=1, the bottom 2 of 32-bit parallel input data
The upper 16-bit data is extracted from the least significant bit of the 16-bit parallel output data with the first bit as the least significant bit. Also,
If POP=12, the 13th bit from the bottom of the 32-bit parallel input data is taken as the least significant bit of the 16-bit parallel output data, and the upper 16-bit data is extracted from there.

【0089】シフタ130の32ビット並列入力のうち
、上位16ビットは波形メモリ15から現在読み出して
いるデータRDであり、シフトレジスタ132から入力
される下位16ビットはその1つ前のアドレスから読み
出したデータである。従って、2つのアドレスの読み出
しデータがシフタ130に並べられるようになっており
、1サンプル点のデータを2つのアドレスにまたがって
記憶している場合は、シフタ130に並べられた2つの
アドレスの合計32ビットの並列データの中から必要な
1サンプル点のデータを取り出すことができるようにな
っている。また、プル・アウト・ポインタPOPは可変
ビット長のデータの最下位ビットを指示しているため、
このプル・アウト・ポインタPOPによって16ビット
並列出力データの最下位ビットとして取り出すべきデー
タの入力ビット位置を指示することにより、可変ビット
長のデータの最下位ビットに合わせてデータのビット位
置を揃える処理を行なうことができ、これにより、16
ビット構成のデータの中から可変ビット長の1サンプル
点分のデータの必要な部分のみを取り出すための前処理
を行なうことができる。
Of the 32-bit parallel input to the shifter 130, the upper 16 bits are the data RD currently being read from the waveform memory 15, and the lower 16 bits input from the shift register 132 are the data RD read from the previous address. It is data. Therefore, if the read data of two addresses are arranged in the shifter 130 and the data of one sample point is stored across two addresses, the sum of the two addresses arranged in the shifter 130 is It is now possible to extract the necessary data of one sample point from the 32-bit parallel data. Also, since the pull out pointer POP points to the least significant bit of variable bit length data,
A process of aligning the data bit position to match the least significant bit of variable bit length data by indicating the input bit position of the data to be extracted as the least significant bit of the 16-bit parallel output data using this pull out pointer POP. This allows 16
Preprocessing can be performed to extract only a necessary portion of data for one sample point of variable bit length from data having a bit structure.

【0090】図13により一例を示すと、第1のキーオ
ンパルスKONP1が生じたとき、図18のアドレスカ
ウンタ103がクリアされることにより、アドレス信号
CAが「0」となり、アドレスA0からデータが読み出
され、このとき、ノアゲート133の出力“0”により
セレクタ131でアドレスA0からの読出しデータRD
を選択し、シフトレジスタ132にロードする。次のサ
イクルで、セレクタ131はノアゲート133の出力“
1”によりシフトレジスタ132の出力を選択し、アド
レスA0からの読出しデータRDを記憶保持する。この
ときプル・アウト・ポインタPOPは「0」であり、シ
フタ130の入力のうち下位16ビットつまりシフトレ
ジスタ132に保持されたアドレスA0からの読出しデ
ータをそのまま選択出力する。これはサンプル点0のデ
ータを下位の12ビットにそっくり含んでいるものであ
る。つまり、最初に取り出すべきサンプル点0のデータ
の最下位ビットが16ビット出力の最下位ビットに合わ
せてそっくり取り出される。これを模式的に示すと図2
0の(a)のようである。
An example is shown in FIG. 13. When the first key-on pulse KONP1 occurs, the address counter 103 in FIG. 18 is cleared, the address signal CA becomes "0", and data is read from address A0. At this time, due to the output "0" of the NOR gate 133, the selector 131 selects the read data RD from the address A0.
is selected and loaded into the shift register 132. In the next cycle, the selector 131 outputs the output of the NOR gate 133 “
1" selects the output of the shift register 132 and stores and holds the read data RD from address A0. At this time, the pull-out pointer POP is "0", and the lower 16 bits of the input to the shifter 130, that is, the shift The read data from address A0 held in register 132 is selectively output as is. This includes the entire data of sample point 0 in the lower 12 bits. In other words, the least significant bit of the data at sample point 0 to be extracted first is extracted in its entirety in accordance with the least significant bit of the 16-bit output. This is schematically shown in Figure 2.
It is like (a) of 0.

【0091】次に、ノートクロックパルスNCLが生ず
ると、前述のように、その8システムクロック後にプル
・アウト・ポインタPOPは「12」となり、アドレス
信号CAはアドレスA1に切り換わる(図18参照)。 しかし、ノアゲート133に入力されるノートクロック
パルスNCLは遅延されていないため、このノートクロ
ックパルスNCLによりノアゲート133の出力が“0
”になるときは、まだアドレス信号CAは変わっていず
、アドレスA0からの読出しデータRDがセレクタ13
1で選択されてシフトレジスタ132に記憶される。従
って、その8システムクロック後に、波形メモリ15の
読出しアドレスがA1に変わり、シフタ130の上位1
6ビットにA1の読出しデータRDが入力されるとき、
シフタ130の下位16ビットにはその前のアドレスA
0の読出しデータがシフトレジスタ132から与えられ
る。こうして、2つの相前後するアドレスの読み出しデ
ータがシフタ130の入力にに並べられる。このとき、
プル・アウト・ポインタPOPは「12」であり、先行
するアドレスA0におけるサンプル点1のデータの最下
位ビットの位置を指示している。これにより、サンプル
点1のデータの最下位ビットを最下位ビットしてそこか
ら上の16ビットのデータがシフタ130から取り出さ
れる。これはサンプル点1のデータを下位の12ビット
にそっくり含んでいるものであり、こうして、2つのア
ドレスに分離して記憶されていたサンプル点1のデータ
が一揃いに揃えられ、かつその最下位ビットが16ビッ
ト出力の最下位ビットに位置合わせされて出力される。 これを模式的に示すと図20の(b)のようである。こ
うして、シフタ130からは、取り出すべき目的の可変
データ長のデータを最下位ビットから順にそのビット位
置を揃えた16ビット構成のデータD1が出力される。 この16ビット構成のデータD1は上位ビット側に不要
なデータを含んでいることがあるので、まだ、目的の1
サンプル分の可変データ長のデータのみを取り出してい
るわけではない。そのため更なる処理が必要である。
Next, when the note clock pulse NCL occurs, the pull out pointer POP becomes "12" eight system clocks later, and the address signal CA switches to the address A1 (see FIG. 18). . However, since the note clock pulse NCL input to the NOR gate 133 is not delayed, the output of the NOR gate 133 becomes "0" due to this note clock pulse NCL.
”, the address signal CA has not changed yet and the read data RD from the address A0 is sent to the selector 13.
1 and stored in the shift register 132. Therefore, eight system clocks later, the read address of the waveform memory 15 changes to A1, and the upper one of the shifter 130
When read data RD of A1 is input to the 6th bit,
The lower 16 bits of shifter 130 contain the previous address A.
Read data of 0 is provided from shift register 132. In this way, the read data of two consecutive addresses are arranged at the input of the shifter 130. At this time,
Pull out pointer POP is "12" and indicates the position of the least significant bit of the data at sample point 1 at the preceding address A0. As a result, the least significant bit of the data at sample point 1 is changed to the least significant bit, and the 16 bits of data above it are taken out from the shifter 130. This includes the entire data of sample point 1 in the lower 12 bits, and in this way, the data of sample point 1, which had been stored separately in two addresses, is now aligned, and the lowest The bits are output aligned with the least significant bit of the 16-bit output. This is schematically shown in FIG. 20(b). In this way, the shifter 130 outputs 16-bit data D1 in which the bit positions of the target variable data length data to be extracted are aligned in order from the least significant bit. This 16-bit structured data D1 may contain unnecessary data on the upper bit side, so the desired one
It does not mean that only sample data with variable data length is extracted. Therefore further processing is required.

【0092】図16に戻ると、データ位置再生回路10
4のシフタ130から出力された上記データD1は、隠
れビット分離回路134を経由してデータ整合化回路1
35に入力される。隠れビット分離回路134は、デー
タD1が隠れビットHB0〜HC7を含んでいる場合は
これを分離し、正味の波形データのみを取り出してデー
タD2としてデータ整合化回路135に入力する。デー
タ整合化回路135は、データD2から目的の1サンプ
ル分の可変ビット長の波形サンプルデータのみを取り出
すためのものである。隠れビット分離回路134で分離
された1ビットの隠れビット可能性信号HBP(これは
隠れビットHB0〜HC7のいずれか1つである可能性
のある信号である)は、隠れビット再生回路105に入
力される。隠れビット再生回路105は、隠れビット分
離回路134から与えられる隠れビット可能性信号HB
Pに基づき、1揃いの各隠れビットデータHB0〜HB
3,HS0〜HS3,HC0〜HC7を再生する。再生
した各隠れビットデータHB0〜HB3,HS0〜HS
3,HC0〜HC7、すなわち各フレーム毎のビット数
データ(データ長指示データLENG)、次のブロック
に関するシフトデータ(重み係数)及び圧縮係数データ
a0,a1,b0,b1は、データレジスタ106に与
えられる。
Returning to FIG. 16, the data position reproducing circuit 10
The data D1 outputted from the shifter 130 of No. 4 is sent to the data matching circuit 1 via the hidden bit separation circuit 134.
35. Hidden bit separation circuit 134 separates data D1 if it includes hidden bits HB0 to HC7, takes out only the net waveform data, and inputs it to data matching circuit 135 as data D2. The data matching circuit 135 is for extracting only one target sample of variable bit length waveform sample data from the data D2. The 1-bit hidden bit possibility signal HBP (this is a signal that may be any one of hidden bits HB0 to HC7) separated by the hidden bit separation circuit 134 is input to the hidden bit recovery circuit 105. be done. The hidden bit recovery circuit 105 receives a hidden bit possibility signal HB given from the hidden bit separation circuit 134.
Based on P, a set of each hidden bit data HB0 to HB
3. Regenerate HS0 to HS3 and HC0 to HC7. Regenerated hidden bit data HB0 to HB3, HS0 to HS
3. HC0 to HC7, that is, bit number data for each frame (data length instruction data LENG), shift data (weighting coefficient) for the next block, and compression coefficient data a0, a1, b0, b1 are given to the data register 106. It will be done.

【0093】隠れビット分離回路134及びデータ整合
化回路135の詳細例は図21に示されている。この実
施例では正味の波形サンプルデータのビット長すなわち
サイズは、2ビットから15ビットの範囲で可変長であ
るとしている。従って、有効データの最大ビット長は、
隠れビットを含む場合16ビット、含まない場合15ビ
ットである。従って、隠れビットを含むことがあるデー
タD1の有効データの最大データ長は16ビットであり
、そのため、このデータD1を16ビット構成で取り出
している。また、隠れビット分離後のデータD2の有効
データの最大ビット長は15ビットである。また、1サ
ンプル分の可変長の波形データの最上位ビットは符号ビ
ットであるとしている。
A detailed example of the hidden bit separation circuit 134 and the data matching circuit 135 is shown in FIG. In this embodiment, the bit length or size of the net waveform sample data is variable in the range of 2 bits to 15 bits. Therefore, the maximum bit length of valid data is
It is 16 bits if it includes hidden bits, and 15 bits if it does not. Therefore, the maximum data length of valid data of the data D1, which may include hidden bits, is 16 bits, and therefore, this data D1 is extracted in a 16-bit configuration. Further, the maximum bit length of valid data of data D2 after hidden bit separation is 15 bits. Further, it is assumed that the most significant bit of variable length waveform data for one sample is a sign bit.

【0094】図21において、隠れビット分離回路13
4は、データD1の下位15ビットを「0」入力に入力
し、該データD1の上位15ビットを「1」入力に入力
したセレクタ138からなっている。セレクタ138は
、前述の隠れビット制御信号HC(図17参照)を選択
制御入力に入力し、HCが“1”のとき「1」入力を選
択し、“0”のとき「0」入力を選択する。従って、隠
れビットHB0〜HC7を含むサンプル点のデータを取
り出すときは、HCの“1”により、データD1の上位
15ビットを選択し、最下位1ビットにある隠れビット
HB0〜HC7を除外する。この15ビットのデータは
、前述のように正味の波形データの有効ビットを確保す
るのに十分なデータである。他方、隠れビットHB0〜
HC7を含まないサンプル点のデータを取り出すときは
、HCの“0”により、データD1の下位15ビットを
選択する。この15ビットのデータもまた、前述のよう
に正味の波形データの有効ビットを確保するのに十分な
データである。こうして隠れビットを分離した15ビッ
ト構成の正味の波形データD2は、データ整合化回路1
35に入力される。前述のように、このデータD2は、
目的の1サンプル点の波形データだけでなく、その次の
サンプル点の波形データも一部含んでいることがあり得
るものである。
In FIG. 21, hidden bit separation circuit 13
4 consists of a selector 138 which inputs the lower 15 bits of the data D1 to the "0" input, and inputs the upper 15 bits of the data D1 to the "1" input. The selector 138 inputs the aforementioned hidden bit control signal HC (see FIG. 17) to the selection control input, selects the "1" input when HC is "1", and selects the "0" input when HC is "0". do. Therefore, when extracting sample point data including hidden bits HB0 to HC7, HC is set to "1" to select the upper 15 bits of data D1 and exclude the least significant 1 bit of hidden bits HB0 to HC7. This 15-bit data is sufficient to ensure valid bits of the net waveform data as described above. On the other hand, hidden bits HB0~
When extracting sample point data that does not include HC7, the lower 15 bits of data D1 are selected by HC being "0". This 15-bit data is also sufficient data to ensure valid bits of the net waveform data as described above. The net waveform data D2 having a 15-bit configuration from which the hidden bits have been separated is sent to the data matching circuit 1.
35. As mentioned above, this data D2 is
It is possible that not only the waveform data of one target sample point but also part of the waveform data of the next sample point is included.

【0095】データ整合化回路135では、データD2
から目的の1サンプル点の波形データだけを取り出すに
あたっては、データサイズを可変長のままに取り出した
のでは、後でのデータ処理に不都合があるので、15ビ
ットの固定長のデータサイズに整合化するようにしてい
る。そのために、まずデータD2から目的の1サンプル
点の波形データだけを取り出し、次いで、取り出した1
サンプル点の波形データだけでは15ビットの固定長の
データサイズを満たさない場合は、余った上位ビットす
べてに符号ビットを拡張する処理を行なうことにより、
可変長の目的の1サンプル点の波形データだけを取り出
しながらも全体のデータサイズは15ビットの固定長に
整合化されるようにしている。図21のデータ整合化回
路135において、データD2は符号ビット取り出し回
路139に入力され、符号ビットSBが取り出される。 データ長指示データLENGがデコーダ140でデコー
ドされ、15本のデコード出力線のうち可変長のデータ
の最上位ビットに対応する1本の出力線が信号“1”と
なる。このデコーダ140の出力により符号ビット取り
出し回路139において取り出すべき符号ビットSBの
位置が指示される。例えば、ビット長が10ビットの場
合、データD2の10ビット目が可変長のデータの最上
位ビットつまり符号ビットSBであり、これがデコーダ
140の10番目の出力線の信号“1”に応じて取り出
される。
In the data matching circuit 135, the data D2
When extracting only the desired waveform data of one sample point from , extracting the data size as it is variable length will cause problems for later data processing, so it is necessary to match the data size to a fixed length of 15 bits. I try to do that. To do this, first extract only the waveform data of the desired one sample point from the data D2, and then
If the sample point waveform data alone does not satisfy the fixed length data size of 15 bits, by extending the sign bit to all remaining upper bits,
Even though only the waveform data of one sample point of variable length is taken out, the overall data size is matched to a fixed length of 15 bits. In data matching circuit 135 in FIG. 21, data D2 is input to sign bit extraction circuit 139, and sign bit SB is extracted. The data length instruction data LENG is decoded by the decoder 140, and one output line corresponding to the most significant bit of the variable length data among the 15 decode output lines becomes a signal "1". The output of this decoder 140 indicates the position of the code bit SB to be extracted in the code bit extraction circuit 139. For example, when the bit length is 10 bits, the 10th bit of the data D2 is the most significant bit of the variable length data, that is, the sign bit SB, and this is extracted in response to the signal “1” from the 10th output line of the decoder 140. It will be done.

【0096】図21のデータ整合化回路135において
、ビット別独立セレクタ141は、目的の1サンプル点
分の波形データのみを選択し、それ以外の他のサンプル
点の一部データを除外し、その代わりに符号ビットSB
を拡張するためのものである。データD2の下位14ビ
ット(最上位ビットは符号ビットSBでしかあり得ず、
これは符号ビット取り出し回路139の出力によって設
定できるのでここでは除外してよい)のうち、最下位ビ
ット0のデータは必ず目的の1サンプル点分の波形デー
タなのでセレクタ141には入力せず、出力レジスタ1
42に直接入力してよい。データD2の下位14ビット
のうち最下位ビット0を除く他のビット1〜13のデー
タがセレクタ141のビット別A入力1A〜13Aにそ
れぞれ入力される。符号ビット取り出し回路139から
取り出された符号ビットSBの信号がセレクタ141の
ビット別B入力1B〜13Bにそれぞれ共通入力される
。セレクタ141のビット別選択制御はセレクト信号発
生回路143から与えられる13本の信号線によってそ
れぞれ行なわれる。セレクト信号発生回路143は、デ
コーダ140の出力信号に応じて、符号ビットSBのビ
ット位置から上位のビットすべてに対応して選択制御信
号“1”を与える。
In the data matching circuit 135 of FIG. 21, the bit-by-bit independent selector 141 selects only the waveform data for one target sample point, excludes some data of other sample points, and sign bit SB instead
It is intended to expand. The lower 14 bits of data D2 (the most significant bit can only be the sign bit SB,
(This can be set by the output of the sign bit extraction circuit 139, so it can be excluded here.) Since the data of the least significant bit 0 is always the waveform data for one target sample point, it is not input to the selector 141 and is output. register 1
42 may be entered directly. Among the lower 14 bits of data D2, data of bits 1 to 13 other than the least significant bit 0 are input to bit-specific A inputs 1A to 13A of the selector 141, respectively. The signal of the code bit SB extracted from the code bit extracting circuit 139 is commonly inputted to the bit-specific B inputs 1B to 13B of the selector 141, respectively. Bit-by-bit selection control of the selector 141 is performed by 13 signal lines provided from a select signal generation circuit 143, respectively. The select signal generation circuit 143 provides a selection control signal "1" corresponding to all the upper bits from the bit position of the sign bit SB in accordance with the output signal of the decoder 140.

【0097】例えば、符号ビットSBがデータD2の下
位2番目のビット1であるとすると、セレクト信号発生
回路143の13本の信号線すべてを“1”にし、ビッ
ト別独立セレクタ141では、すべてのビットでB入力
1B〜13Bの符号ビットSBを選択する。また、符号
ビットSBがデータD2の下位3番目のビット2である
とすると、セレクト信号発生回路143の下位1本の信
号線を“0”、上位12本の信号線を“1”にし、ビッ
ト別独立セレクタ141では、ビット1でA入力1Aの
波形データを選択し、ビット2〜13でB入力2B〜1
3Bの符号ビットSBを選択する。また、符号ビットS
BがデータD2の下位4番目のビット3であるとすると
、セレクト信号発生回路143の下位2本の信号線を“
0”、上位11本の信号線を“1”にし、ビット別独立
セレクタ141では、ビット1,2でA入力1A,2A
の波形データを選択し、ビット3〜13でB入力3B〜
13Bの符号ビットSBを選択する。以下、符号ビット
SBの位置がずれるに従い、ビット別選択態様が同様に
ずらされ、結局、目的の1サンプル点分の波形データの
みを選択的に取り出し、それ以外の他のサンプル点のデ
ータを除外し、その代わりに符号ビットSBを拡張する
ことが達成される。
For example, if the sign bit SB is the second lower bit 1 of the data D2, all 13 signal lines of the select signal generation circuit 143 are set to "1", and the independent bit selector 141 sets all 13 signal lines to "1". The bit selects the sign bit SB of B inputs 1B to 13B. Further, assuming that the sign bit SB is the third lower bit 2 of the data D2, the lower one signal line of the select signal generation circuit 143 is set to "0", the upper 12 signal lines are set to "1", and the bit In the separate independent selector 141, bit 1 selects the waveform data of A input 1A, and bits 2 to 13 select B input 2B to 1.
3B sign bit SB is selected. Also, the sign bit S
Assuming that B is the fourth lower bit 3 of data D2, the lower two signal lines of the select signal generation circuit 143 are
0", the upper 11 signal lines are set to "1", and in the bit independent selector 141, bits 1 and 2 select A inputs 1A and 2A.
Select the waveform data of B input 3B~ with bits 3~13.
13B sign bit SB is selected. Thereafter, as the position of the sign bit SB is shifted, the selection mode for each bit is similarly shifted, and in the end, only the waveform data for one target sample point is selectively extracted, and the data for other sample points is excluded. However, extending the sign bit SB is instead achieved.

【0098】データD2の最下位ビットとセレクタ14
1の出力13ビットと符号ビット取り出し回路139か
ら取り出された符号ビットSBの合計15ビット構成の
データが出力レジスタ142に入力され、システムクロ
ックパルスφ2の立上りタイミングで該レジスタ142
に取り込まれる。このシステムクロックパルスφ2の立
上りタイミングは、時分割チャンネルタイミングの1タ
イムスロットの途中であり、当該時分割チャンネルタイ
ミングにおけるデータが十分に立ち上がった状態でデー
タの取り込みが行なわれる。この出力レジスタ142の
出力が、取り出しが完了した1サンプル分の波形データ
CWDとして出力される。図22及び図23は隠れビッ
ト再生回路105とデータレジスタ106の詳細例を示
すものである。隠れビット再生回路105とデータレジ
スタ106は、隠れビットの種類に対応してそれぞれ設
けられる。図22では、「ビット数データ」のための隠
れビット再生回路105A及びデータレジスタ106A
と、「シフトデータ」のための隠れビット再生回路10
5B及びデータレジスタ106Bの詳細例を示す。図2
3では、各圧縮係数b1,b0,a1,a0のための隠
れビット再生回路105C〜105Fとデータレジスタ
106C〜106Fの詳細例を示す。
[0098] Least significant bit of data D2 and selector 14
Data consisting of a total of 15 bits consisting of the 13 bits output from 1 and the sign bit SB taken out from the sign bit extraction circuit 139 is input to the output register 142, and the data is input to the output register 142 at the rising timing of the system clock pulse φ2.
be taken in. The rising timing of this system clock pulse φ2 is in the middle of one time slot of the time-division channel timing, and data is taken in when the data at the time-division channel timing has sufficiently risen. The output of this output register 142 is output as one sample of waveform data CWD for which extraction has been completed. 22 and 23 show detailed examples of the hidden bit reproducing circuit 105 and the data register 106. Hidden bit reproduction circuit 105 and data register 106 are provided corresponding to the types of hidden bits. In FIG. 22, a hidden bit recovery circuit 105A and a data register 106A for "bit number data" are shown.
and a hidden bit regeneration circuit 10 for "shift data"
5B and a detailed example of the data register 106B. Figure 2
3 shows a detailed example of hidden bit recovery circuits 105C to 105F and data registers 106C to 106F for each compression coefficient b1, b0, a1, and a0.

【0099】図22により、「ビット数データ」のため
の隠れビット再生回路105A及びデータレジスタ10
6Aについて説明すると、隠れビット再生回路105A
は、ノートクロックパルスNCLを8ステージ/1ビッ
トのシフトレジスタ144で遅延したものと隠れビット
制御信号HBC1とを入力したアンドゲート145と、
第2のキーオンパルスKNOP2とアンドゲート145
の出力とを入力したオアゲート146と、このオアゲー
ト146の出力により制御されるセレクタ147と、セ
レクタ147の出力を入力した8ステージ/4ビットの
シフトレジスタ148とを具えている。シフトレジスタ
148の出力がセレクタ147の「0」入力にそのまま
加わる。セレクタ147の「1」入力の4ビットのうち
、最上位ビットには、前記シフタ130から出力される
データD1の最下位ビットの信号すなわち隠れビット可
能性信号HBPが与えられる。セレクタ147の「1」
入力の4ビットのうち、残りの下位3ビットには、シフ
トレジスタ148の出力を1ビット下位にシフトしたも
のが入力される。
According to FIG. 22, the hidden bit regeneration circuit 105A and data register 10 for "bit number data"
6A, hidden bit regeneration circuit 105A
is an AND gate 145 inputting the note clock pulse NCL delayed by an 8-stage/1-bit shift register 144 and the hidden bit control signal HBC1;
Second key-on pulse KNOP2 and AND gate 145
The selector 147 is controlled by the output of the OR gate 146, and the 8-stage/4-bit shift register 148 receives the output of the selector 147. The output of the shift register 148 is directly applied to the "0" input of the selector 147. The most significant bit of the four bits input as "1" to the selector 147 is given the signal of the least significant bit of the data D1 output from the shifter 130, that is, the hidden bit possibility signal HBP. "1" of selector 147
Of the four input bits, the remaining three lower bits are input with the output of the shift register 148 shifted one bit lower.

【0100】この構成により、まず、第2のキーオンパ
ルスKONP2が“1”になったときは、オアゲート1
46の出力“1”によりセレクタ147の「1」入力が
選択される。このとき、データD1としては、その1サ
イクル前に生じた第1のキーオンパルスKONP1によ
るアドレスクリアに基づき、アドレスA0から読み出し
たサンプル番号0のデータが与えられており、隠れビッ
ト可能性信号HBPとしてサンプル番号0に伴って記憶
した隠フトレジスタ148の出力は始めはどのような値
でもよいので、xとして説明する(xは0または1のど
ちらでもよい)。これにより、上位ビットからHB0,
x,x,xという内容の4ビットデータがセレクタ14
7の「1」入力を介してシフトレジスタ148に取り込
まれる。次のサイクルでオアゲート146の出力は“0
”となり、シフトレジスタ148に取り込まれたデータ
HB0,x,x,xはセレクタ147の「0」入力を介
してシフトレジスタ148で保持される。
With this configuration, first, when the second key-on pulse KONP2 becomes "1", the OR gate 1
The output "1" of the selector 146 selects the "1" input of the selector 147. At this time, data with sample number 0 read from address A0 is given as data D1 based on the address clear by the first key-on pulse KONP1 that occurred one cycle before, and as hidden bit possibility signal HBP. Since the output of the hidden register 148 stored with sample number 0 may initially have any value, it will be described as x (x may be either 0 or 1). As a result, from the upper bit, HB0,
4-bit data with the content x, x, x is sent to the selector 14
7 into the shift register 148 via the "1" input. In the next cycle, the output of the OR gate 146 is “0”.
”, and the data HB0, x, x, x taken into the shift register 148 is held in the shift register 148 via the “0” input of the selector 147.

【0101】次に、ノートクロックパルスNCLが生じ
、データD1として、サンプル番号1のデータが与えら
れるようになると、HBC1の“1”とノートクロック
パルスNCLの遅延出力“1”(シフトレジスタ144
による遅延はHBC1と同期をとるためである:図17
参照)によりアンドゲート145の出力が“1”となり
、オアゲート146の出力が“1”となり、セレクタ1
47の「1」入力を選択する。このとき、隠れビット可
能性信号HBPとしてサンプル番号1に伴って記憶した
隠れビットHB1が与えられるので、上位ビットからH
B1,HB0,x,xという内容の4ビットデータがセ
レクタ147の「1」入力を介してシフトレジスタ14
8に取り込まれる。次のサイクルでオアゲート146の
出力は“0”となり、シフトレジスタ148に取り込ま
れたデータHB1,HB0,x,xはセレクタ147の
「0」入力を介してシフトレジスタ148で保持される
。次にノートクロックパルスNCLが生じ、データD1
として、サンプル番号2のデータが与えられるようにな
ると、隠れビット可能性信号HBPとしてサンプル番号
2に伴って記憶した隠れビットHB2が与えられ、上述
に従い、HB2,HB1,HB0,xがシフトレジスタ
148に取り込まれ保持される。
Next, when the note clock pulse NCL is generated and the data of sample number 1 is given as data D1, "1" of HBC1 and the delayed output "1" of the note clock pulse NCL (shift register 144
The delay due to is to synchronize with HBC1: Figure 17
), the output of the AND gate 145 becomes "1", the output of the OR gate 146 becomes "1", and the selector 1
47 "1" input is selected. At this time, since the hidden bit HB1 stored along with sample number 1 is given as the hidden bit possibility signal HBP, H
4-bit data with contents B1, HB0, x, x is transferred to the shift register 14 via the “1” input of the selector 147.
Incorporated into 8. In the next cycle, the output of the OR gate 146 becomes "0", and the data HB1, HB0, x, x taken into the shift register 148 are held in the shift register 148 via the "0" input of the selector 147. Next, note clock pulse NCL occurs, and data D1
When the data of sample number 2 is given, the hidden bit HB2 stored along with sample number 2 is given as the hidden bit possibility signal HBP, and according to the above, HB2, HB1, HB0, x are transferred to the shift register 148. captured and retained.

【0102】更に、ノートクロックパルスNCLが生じ
、データD1として、サンプル番号3のデータが与えら
れるようになると、隠れビット可能性信号HBPとして
サンプル番号3に伴って記憶した隠れビットHB3が与
えられ、上述に従い、HB3,HB2,HB1,HB0
がシフトレジスタ148に取り込まれ保持される。以後
は、そのフレーム内では、ノートクロックパルスNCL
が生じても、隠れビット制御信号HC1が“0”のため
、アンドゲート145の出力は“1”とならず、上記H
B3,HB2,HB1,HB0がシフトレジスタ148
で保持される。こうして、4ビットの隠れビットHB3
,HB2,HB1,HB0が再生され、シフトレジスタ
148で保持される。これは次フレームのデータビット
長を指示する隠れ情報HDとしてデータレジスタ106
Aに与えられる。
Furthermore, when the note clock pulse NCL is generated and the data of sample number 3 is given as data D1, the hidden bit HB3 stored along with sample number 3 is given as hidden bit possibility signal HBP. According to the above, HB3, HB2, HB1, HB0
is taken into the shift register 148 and held. Thereafter, within that frame, the note clock pulse NCL
Even if the above-mentioned H
B3, HB2, HB1, HB0 are shift registers 148
is held in In this way, the 4-bit hidden bit HB3
, HB2, HB1, and HB0 are reproduced and held in the shift register 148. This is stored in the data register 106 as hidden information HD indicating the data bit length of the next frame.
given to A.

【0103】データレジスタ106Aは、8ステージ/
4ビットのシフトレジスタ149と、セレクタ150と
を含んでいる。セレクタ150の「10」入力にはイニ
シャルデータ長データILENGが入力され、「01」
入力には上記隠れ情報HDつまり次フレームのデータビ
ット長を指示するデータが入力され、「00」にはシフ
トレジスタ149の出力が入力される。セレクタ150
の2ビットの制御入力には、上位ビットに第1のキーオ
ンパルスKONP1が入力され、下位ビットにアンドゲ
ート151の出力が入力される。アンドゲート151に
は、図17のアンドゲート112からのフレーム変化信
号HBC2とノートクロックパルスNCLが加わる。こ
の構成により、まずキーオンパルスKONP1が“1”
のとき、セレクタ150は「10」入力のイニシャルデ
ータ長データILENGを選択し、シフトレジスタ14
9に取り込む。次のサイクルでセレクタ150は「00
」入力を選択し、取り込んだデータILENGを保持す
る。シフトレジスタ149の出力がデータ長指示データ
LENGとして、上述のように各回路に与えられる。 従って、最初のフレーム0では、パラメータデータ発生
回路94から与えられたイニシャルデータ長データIL
ENGがデータ長指示データLENGとして使用される
。このフレーム0において、前述のように、次フレーム
のデータビット長を指示する隠れ情報HDがセレクタ1
50に与えられる。
[0103] The data register 106A has 8 stages/
It includes a 4-bit shift register 149 and a selector 150. Initial data length data ILENG is input to the “10” input of the selector 150, and “01”
The hidden information HD, ie, data indicating the data bit length of the next frame, is input to the input, and the output of the shift register 149 is input to "00". selector 150
The first key-on pulse KONP1 is input to the upper bit of the 2-bit control input, and the output of the AND gate 151 is input to the lower bit. The frame change signal HBC2 and note clock pulse NCL from the AND gate 112 in FIG. 17 are applied to the AND gate 151. With this configuration, first the key-on pulse KONP1 becomes “1”.
At this time, the selector 150 selects the initial data length data ILENG of "10" input, and selects the initial data length data ILENG of the shift register 14.
Import into 9. In the next cycle, the selector 150 is “00
” input and hold the captured data ILENG. The output of the shift register 149 is given to each circuit as the data length instruction data LENG as described above. Therefore, in the first frame 0, the initial data length data IL given from the parameter data generation circuit 94
ENG is used as data length instruction data LENG. In this frame 0, as mentioned above, the hidden information HD indicating the data bit length of the next frame is sent to the selector 1.
given to 50.

【0104】次に、フレームが切り替わるとき、アンド
ゲート151の出力が“1”となり、セレクタ150は
「01」入力の情報HDを選択し、シフトレジスタ14
9に取り込む。次のサイクルでセレクタ150は「00
」入力を選択し、取り込んだデータHDを保持する。 こうして、2番目以降のフレームでは、前フレームの波
形データと共に隠れ情報として記憶していたデータビッ
ト長を指示する隠れ情報HDをデータ長指示データLE
NGとして使用する。第1のキーオンパルスKONP1
を8ステージ/1ビットのシフトレジスタ152で8シ
ステムクロック遅延することにより第2のキーオンパル
スKONP2を生成するようにしてもよい。シフトデー
タのための隠れビット再生回路105Bとデータレジス
タ106Bは、上記隠れビット再生回路105Aとデー
タレジスタ106Aとほぼ同一構成である。異なる点は
、上記アンドゲート145に対応するアンドゲート14
5Bに、図17のアンドゲート114から出力されるシ
フトデータ用の隠れビット制御信号HSCを入力する点
と、セレクタ150Bの「10」入力に与えるイニシャ
ルデータはイニシャルシフトデータISFである点と、
上記アンドゲート151に対応するアンドゲート151
Bに、図17のアンドゲート119から出力されるブロ
ック終了制御信号BFCを入力する点、である。これに
より、シフトレジスタ148Bには、次ブロックに関す
るシフトデータに対応する隠れビットデータHS3,H
S2,HS1,HS0が再生記憶され、これがブロック
の終わりで、シフトレジスタ149Bに取り込まれる。 従って、シフトレジスタ149Bからは、現在処理中の
ブロックに関するシフトデータSFDが出力される。
Next, when the frame is switched, the output of the AND gate 151 becomes "1", the selector 150 selects the information HD of the "01" input, and the shift register 14
Import into 9. In the next cycle, the selector 150 is “00
” input and hold the imported data HD. In this way, in the second and subsequent frames, the hidden information HD indicating the data bit length stored as hidden information together with the waveform data of the previous frame is transferred to the data length instruction data LE.
Use as NG. First key-on pulse KONP1
The second key-on pulse KONP2 may be generated by delaying 8 system clocks by an 8-stage/1-bit shift register 152. The hidden bit reproducing circuit 105B and data register 106B for shift data have almost the same configuration as the hidden bit reproducing circuit 105A and data register 106A. The difference is that an AND gate 14 corresponding to the above AND gate 145
5B, the hidden bit control signal HSC for shift data output from the AND gate 114 in FIG.
AND gate 151 corresponding to the above AND gate 151
B is the point at which the block end control signal BFC output from the AND gate 119 in FIG. 17 is input. As a result, the shift register 148B stores hidden bit data HS3, H corresponding to the shift data regarding the next block.
S2, HS1, and HS0 are reproduced and stored, and are taken into the shift register 149B at the end of the block. Therefore, shift register 149B outputs shift data SFD regarding the block currently being processed.

【0105】図23において、圧縮係数b1のための隠
れビット再生回路105Cとデータレジスタ106Cは
、上記隠れビット再生回路105Bとデータレジスタ1
06Bとほぼ同一構成である。異なる点は、シフトレジ
スタ148C,149Cのビット数が8ビットである点
と、上記アンドゲート145Bに対応するアンドゲート
145Cに、図17のアンドゲート115から出力され
る圧縮係数b1用の隠れビット制御信号HCb1を入力
する点と、セレクタ150Cの「10」入力に与えるイ
ニシャルデータはb1に対応するイニシャル圧縮係数I
COである点である。アンドゲート151Cには、図1
7のアンドゲート119から出力されるブロック終了制
御信号BFCを入力する。これにより、シフトレジスタ
148Cには、次ブロックに関する圧縮係数b1に対応
する隠れビットデータHC0〜HC7が再生記憶され、
これがブロックの終わりで、シフトレジスタ149Cに
取り込まれる。従って、シフトレジスタ149Cからは
、現在処理中のブロックに関する圧縮係数b1が出力さ
れる。他の圧縮係数b0,a1,a0のための隠れビッ
ト再生回路105D,105E,105Fとデータレジ
スタ106D,106E,106Fは、上記隠れビット
再生回路105Cとデータレジスタ106Cとほぼ同一
構成である。異なる点は、上記アンドゲート145Cに
対応する各アンドゲート145D,145E,145F
に、図17の各アンドゲート116,117,118か
ら出力される各圧縮係数b0,a1,a0用の隠れビッ
ト制御信号HCb0,HCa1,HCa0をそれぞれ入
力する点である。これにより、各レジスタ106D,1
06E,106Fからは現在処理中のブロックに関する
圧縮係数b0,a1,a0がそれぞれ出力される。
In FIG. 23, the hidden bit reproducing circuit 105C and data register 106C for compression coefficient b1 are the same as the hidden bit reproducing circuit 105B and data register 1.
It has almost the same configuration as 06B. The difference is that the number of bits of the shift registers 148C and 149C is 8 bits, and the AND gate 145C corresponding to the AND gate 145B has hidden bit control for the compression coefficient b1 output from the AND gate 115 in FIG. The point where the signal HCb1 is input and the initial data given to the "10" input of the selector 150C are the initial compression coefficients I corresponding to b1.
The point is that CO. The AND gate 151C has Figure 1
The block end control signal BFC output from the AND gate 119 of No. 7 is input. As a result, the hidden bit data HC0 to HC7 corresponding to the compression coefficient b1 regarding the next block are reproduced and stored in the shift register 148C.
This is the end of the block and is taken into shift register 149C. Therefore, the shift register 149C outputs the compression coefficient b1 regarding the block currently being processed. Hidden bit reproduction circuits 105D, 105E, 105F and data registers 106D, 106E, 106F for other compression coefficients b0, a1, a0 have almost the same configuration as the hidden bit reproduction circuit 105C and data register 106C. The difference is that each AND gate 145D, 145E, 145F corresponds to the above AND gate 145C.
At this point, the hidden bit control signals HCb0, HCa1, and HCa0 for the compression coefficients b0, a1, and a0 output from the AND gates 116, 117, and 118 in FIG. 17 are respectively input. As a result, each register 106D, 1
Compression coefficients b0, a1, and a0 regarding the block currently being processed are output from 06E and 106F, respectively.

【0106】−−圧縮データ復調回路の一例−−データ
取り出し再生部96で取り出し・再生された波形データ
CWDは、線形予測符号化(LPC)方式によってデー
タ圧縮されている場合は、図15における圧縮データ復
調回路97は、LPC復調回路を用いる。その場合に、
圧縮データ復調回路97は、図24のようなLPC復調
回路によって構成することができる。図において、15
3,154はリミッタ、155〜158は加算器、15
9〜162は乗算器、163〜166は8ステージシフ
トレジスタ、である。図7に示した圧縮フィルタ回路と
は逆の構成になっており、1段目の復調回路の復調係数
として2段目の圧縮係数b0,b1を使用し、2段目の
復調回路の復調係数として1段目の圧縮係数a0,a1
を使用する。
--Example of compressed data demodulation circuit--If the waveform data CWD extracted and reproduced by the data extraction and reproduction section 96 is compressed by the linear predictive coding (LPC) method, the compression shown in FIG. The data demodulation circuit 97 uses an LPC demodulation circuit. In that case,
The compressed data demodulation circuit 97 can be configured by an LPC demodulation circuit as shown in FIG. In the figure, 15
3,154 is a limiter, 155 to 158 are adders, 15
9 to 162 are multipliers, and 163 to 166 are 8-stage shift registers. It has a configuration opposite to that of the compression filter circuit shown in FIG. As the first stage compression coefficients a0, a1
use.

【0107】−−圧縮及び縮小化処理の別の例(第2の
実施例)−− 上記実施例では、重み係数(シフトデータ)によるデー
タ縮小化処理を、圧縮フィルタによるデータ圧縮処理の
前段で行うようにしているが、次に説明するように、デ
ータ圧縮処理の後段で行うようにしてもよい。図25は
、データ圧縮処理の後段で重み係数(シフトデータ)に
よるデータ縮小化処理を行う場合の、圧縮及び縮小化演
算のための回路の構成例を示すものである。圧縮フィル
タ回路は、前述と同様、2次フィルタを2段縦続接続し
てなり、1段目のフィルタ48Aは、引算器170,加
算器171,172,乗算器173,174,遅延部1
75,176からなる。2段目のフィルタ48Bは、引
算器177,加算器178,179,乗算器180,1
81,遅延部182,183からなる。1段目のフィル
タ48Aの引算器170に圧縮対象波形データが入力さ
れ、係数a0,a1による2次のたたみこみ和を引算器
170で引算する。2段目のフィルタ48Bの引算器1
77の出力が圧縮フィルタの出力信号である。この圧縮
フィルタ出力信号がシフト回路47に入力され、重み係
数(シフトデータ)によって縮小化する方向に重みつけ
られる(シフトされる)。このシフト回路47の出力が
、圧縮及び縮小化処理済みの波形サンプルデータとして
ブロックバッファ55に一時記憶され、その後波形メモ
リ15に書き込まれる。
--Another example of compression and reduction processing (second embodiment)-- In the above embodiment, data reduction processing using weighting coefficients (shift data) is performed before data compression processing using a compression filter. However, as described below, it may be performed at a later stage of the data compression process. FIG. 25 shows an example of the configuration of a circuit for compression and reduction operations when data reduction processing is performed using weighting coefficients (shift data) at a subsequent stage of data compression processing. The compression filter circuit is formed by cascading two stages of secondary filters as described above, and the first stage filter 48A includes a subtracter 170, adders 171 and 172, multipliers 173 and 174, and a delay section 1.
It consists of 75,176. The second stage filter 48B includes a subtracter 177, adders 178 and 179, and multipliers 180 and 1.
81 and delay sections 182 and 183. The waveform data to be compressed is input to the subtracter 170 of the first-stage filter 48A, and the subtracter 170 subtracts the quadratic convolution sum by the coefficients a0 and a1. Subtractor 1 of second stage filter 48B
The output of 77 is the output signal of the compression filter. This compression filter output signal is input to the shift circuit 47, and is weighted (shifted) in the direction of reduction using a weighting coefficient (shift data). The output of the shift circuit 47 is temporarily stored in the block buffer 55 as compressed and reduced waveform sample data, and then written into the waveform memory 15.

【0108】シフト回路184は、シフト回路47によ
るシフト方向とは反対方向に同量だけデータシフトする
ものであり、再生時における重み復元をシミュレートす
るものである。そして、このシフト回路184の出力を
加算器178,171を介して遅延部175,176,
182,183に入力するようになっており、これによ
り圧縮係数の乗算演算は、再生時における重み復元をシ
ミュレートした信号に対して行われる。これにより、デ
ータシフトダウンによるデータ切り捨て誤差を吸収した
精度のよい圧縮フィルタ演算が可能になる。この第2の
実施例の場合、圧縮フィルタ係数a0,a1,b0,b
1は、前述の第1の実施例のときと同様の手法で算出す
るようにしてよい。シフト回路47の位置が異なってく
るため、図5の機能ブロック図はそのままそっくりこの
第2の実施例に適用することはできないが、図5におけ
るシフト回路47と圧縮フィルタ部48の部分を図25
の構成が実施できるように適宜変更すればよい。また、
第2の実施例の場合、再生時における圧縮データの復調
と重み復元処理の手順が第1の実施例とは逆になるため
、図26に示すように、シフト回路98を圧縮データ復
調回路97の前段に配置するように音源部23の構成を
変更すればよい。
The shift circuit 184 shifts data by the same amount in the opposite direction to the shift direction by the shift circuit 47, and simulates weight restoration during reproduction. The output of this shift circuit 184 is then passed through adders 178, 171 to delay units 175, 176,
182 and 183, whereby the compression coefficient multiplication operation is performed on the signal that simulates the weight restoration during reproduction. This makes it possible to perform highly accurate compression filter calculations that absorb data truncation errors due to data shift down. In the case of this second embodiment, compression filter coefficients a0, a1, b0, b
1 may be calculated using the same method as in the first embodiment described above. Since the position of the shift circuit 47 is different, the functional block diagram of FIG. 5 cannot be applied to this second embodiment in its entirety. However, the shift circuit 47 and compression filter section 48 in FIG.
It is only necessary to make appropriate changes so that the following configuration can be implemented. Also,
In the case of the second embodiment, the steps of demodulating compressed data and restoring weights during playback are opposite to those of the first embodiment, so as shown in FIG. The configuration of the sound source section 23 may be changed so that it is placed in the front stage of the sound source section 23.

【0109】−−変更例−− データ圧縮処理の前段と後段のどちらか一方に限らず、
両方で重み係数(シフトデータ)によるデータ縮小化処
理を行うようにすることも可能である。また。データ圧
縮処理の途中で重み係数(シフトデータ)によるデータ
縮小化演算処理を挿入するようにしてもよい。重み演算
はデータシフトに限らず、乗算や割算などを採用しても
よい。波形区間の区分は、上記実施例のようなブロック
とフレームからなるものに限らず、どのように区分でも
よい。データビット長は可変である必要はなく、固定で
あってもよい。また、波形データをメモリに詰め込んで
書き込むようにしなくてもよい。また、再生用の制御デ
ータ(圧縮係数や重み係数)は隠れビットの形に限らず
、別途適宜与えてやるようにしてもよい。データ圧縮方
式はLPC方式に限らず、DPCM,ADPCM,デル
タ変調など、その他どのような方式を採用してもよい。
--Example of modification-- Not limited to either the first stage or the second stage of data compression processing,
It is also possible to perform data reduction processing using weighting coefficients (shift data) in both cases. Also. Data reduction calculation processing using weighting coefficients (shift data) may be inserted in the middle of data compression processing. The weight calculation is not limited to data shift, but may also employ multiplication, division, or the like. The division of the waveform section is not limited to the one consisting of blocks and frames as in the above embodiment, and may be divided in any manner. The data bit length does not need to be variable and may be fixed. Furthermore, it is not necessary to cram the waveform data into the memory and write it. Furthermore, control data for reproduction (compression coefficients and weighting coefficients) is not limited to the form of hidden bits, and may be provided separately as appropriate. The data compression method is not limited to the LPC method, but any other method such as DPCM, ADPCM, delta modulation, etc. may be adopted.

【0110】上記実施例では、楽音波形データにおいて
この発明を実施しているが、これに限らず、音量レベル
を設定するエンベロープ波形データや、各種制御用のエ
ンベロープ波形データあるいはフィルタ係数等の時間変
化する各種の制御データなど、電子楽器における各種波
形データのためにこの発明を適用することができる。ま
た、電子楽器における波形データに限らず、その他の音
声信号又は音信号処理装置における波形データの圧縮の
ためにこの発明を適用することができる。上記実施例で
は、データ取り出し再生部において、1サンプルのデー
タの取り出し・再生のために、サンプルカウント、デー
タ長カウント、アドレスカウント、データ位置再生、隠
れビット再生、など多段の処理ステップが必要であり、
これを1サンプルのタイミングで行なうようになってい
る。そのため、1サンプルの時間を長くとらねばならな
いかもしれない。この問題を解決するには、同一のチャ
ンネルタイミングの中で複数のサンプリングタイミング
にわたる処理をパイプライン処理的手法により実行する
とよく、そうすれば、1サンプルの時間を短くし、デー
タ読み出し速度を上げることができる。なお、この発明
は、完成された単体の電子楽器に限らず、モジュール化
された電子楽器の一部品において適用してもよいもので
ある。また、音選択の鍵盤やスイッチ手段を持たず、コ
ード情報の入力に基づき楽音を発生する装置にも適用す
ることができる。更には、楽音信号を生成する装置や、
楽音を音響的に発音するスピーカ等は持たずに、楽音信
号の形成または制御に関連するデータを発生する装置に
おいても適用することができるものであり、この発明に
おいて電子楽器とは極めて広義に使用する語である。ま
た、一般的な音信号処理装置若しくは音声信号処理装置
においてもこの発明を適用することができる。
[0110] In the above embodiment, the present invention is applied to musical sound waveform data, but the present invention is not limited to this, but is applicable to envelope waveform data for setting the volume level, envelope waveform data for various controls, or temporal changes in filter coefficients, etc. The present invention can be applied to various types of waveform data in electronic musical instruments, such as various types of control data. Furthermore, the present invention is applicable not only to waveform data in electronic musical instruments, but also to compression of waveform data in other audio signals or sound signal processing devices. In the above embodiment, the data retrieval/reproduction unit requires multiple processing steps such as sample counting, data length counting, address counting, data position regeneration, and hidden bit regeneration in order to retrieve and reproduce one sample of data. ,
This is done at the timing of one sample. Therefore, it may be necessary to take a longer time for one sample. To solve this problem, it is best to use a pipeline processing method to perform processing across multiple sampling timings within the same channel timing, thereby shortening the time for one sample and increasing the data readout speed. Can be done. Note that the present invention is not limited to a completed single electronic musical instrument, but may be applied to a component of a modularized electronic musical instrument. Furthermore, the present invention can be applied to a device that does not have a keyboard or switch means for selecting a tone, but generates musical tones based on the input of chord information. Furthermore, there are devices that generate musical tone signals,
It can also be applied to devices that generate data related to the formation or control of musical tone signals without having a speaker or the like that acoustically produces musical tones, and in this invention, electronic musical instruments are used in an extremely broad sense. It is a word to do. Further, the present invention can also be applied to a general sound signal processing device or an audio signal processing device.

【0111】[0111]

【発明の効果】以上の通り、この発明によれば、波形デ
ータに対して所定のデータ圧縮処理を行う一方で、その
データ圧縮処理の前乃至後のいずれかの段階で、波形デ
ータの値を任意の重み係数に従って更に縮小する処理を
行うようにしたので、データ圧縮処理によって圧縮され
た波形データの値を更に縮小することができ、一層のデ
ータ圧縮を推し進めることができる。しかも、重み係数
の変更によって縮小率を変更したり、あるいは全く縮小
しないようにしたり、という制御が容易かつ自在に行え
る。従って、波形の一部区間においてデータ圧縮を更に
推し進めたり、あるいは波形の区間に応じて異なる度合
いでデータ圧縮を行いたい場合など、所定のデータ圧縮
処理の方式そのものは変更することなく、重み係数を変
更するだけで極めて簡単に対応することができる。また
、波形データの値を任意の重み係数に従って縮小する、
という極めて簡単な処理(この処理は、データシフトや
割算あるいは掛算など適宜の係数演算によって行うこと
ができる)であるため、構成も簡単である。
As described above, according to the present invention, while performing predetermined data compression processing on waveform data, the values of the waveform data can be changed at any stage before or after the data compression processing. Since further reduction processing is performed according to an arbitrary weighting coefficient, the value of the waveform data compressed by data compression processing can be further reduced, and further data compression can be promoted. Moreover, control such as changing the reduction rate or not reducing the image at all by changing the weighting coefficient can be easily and freely performed. Therefore, if you want to further compress data in some sections of a waveform, or compress data to different degrees depending on sections of the waveform, you can change the weighting coefficient without changing the predetermined data compression processing method itself. This can be done extremely easily by simply making a change. You can also reduce the value of waveform data according to an arbitrary weighting factor,
Since this is an extremely simple process (this process can be performed by appropriate coefficient operations such as data shift, division, or multiplication), the configuration is also simple.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】この発明の一実施例における波形データの圧縮
・再生処理の全体の流れを略示する図。
FIG. 1 is a diagram schematically showing the overall flow of waveform data compression/reproduction processing in an embodiment of the present invention.

【図2】この発明に従う波形データの圧縮及び再生処理
を実施するために使用することができる電子楽器の一実
施例のハードウェア構成例を示すブロック図。
FIG. 2 is a block diagram showing an example of the hardware configuration of an electronic musical instrument that can be used to perform waveform data compression and playback processing according to the present invention.

【図3】同実施例におけるマイクロコンピュータによる
制御の下で実行される波形データの圧縮からメモリへの
書込みに至るまでの処理の全体像の概略を示すフローチ
ャート。
FIG. 3 is a flowchart outlining the overall process from compression of waveform data to writing to memory, which is executed under control by a microcomputer in the same embodiment.

【図4】図2の波形メモリにおける圧縮波形データの記
憶領域のフォーマットを例示する図。
FIG. 4 is a diagram illustrating a format of a storage area of compressed waveform data in the waveform memory of FIG. 2;

【図5】図2のマイクロコンピュータの制御の下で行わ
れる波形データ圧縮及び縮小化処理の一実施例を示す機
能ブロック図。
FIG. 5 is a functional block diagram showing an example of waveform data compression and reduction processing performed under the control of the microcomputer shown in FIG. 2;

【図6】図5におけるブロックバッファのメモリフォー
マットを例示する図。
FIG. 6 is a diagram illustrating a memory format of a block buffer in FIG. 5;

【図7】図5におけるシフト回路と圧縮フィルタ部の構
成例を概念的に示す図。
FIG. 7 is a diagram conceptually showing a configuration example of a shift circuit and a compression filter section in FIG. 5;

【図8】1段分の2次フィルタからなる圧縮フィルタ部
のハードウェア回路の一例を示す図。
FIG. 8 is a diagram showing an example of a hardware circuit of a compression filter section consisting of one stage of secondary filters.

【図9】線形予測法に従う圧縮フィルタ係数の発生演算
の手順の一例を示すフローチャート。
FIG. 9 is a flowchart illustrating an example of a compression filter coefficient generation calculation procedure according to a linear prediction method.

【図10】図5における可変ビット長加工及び書込処理
部の処理動作を説明するための機能ブロック図。
FIG. 10 is a functional block diagram for explaining processing operations of the variable bit length processing and writing processing section in FIG. 5;

【図11】この可変ビット長加工及び書込処理部によっ
て実行される可変ビット長加工及び書込処理の手順の概
略を示すフローチャート。
FIG. 11 is a flowchart outlining the procedure of variable bit length processing and writing processing executed by the variable bit length processing and writing processing section.

【図12】可変ビット長加工済みの波形サンプルデータ
及び隠れビットデータのデータフォーマットの一例を示
す図。
FIG. 12 is a diagram showing an example of a data format of variable bit length processed waveform sample data and hidden bit data.

【図13】図12のようなフォーマットからなる可変ビ
ット長のデータを実際に波形メモリに詰め込んで記憶す
る場合のメモリフォーマットの一例を示す図。
13 is a diagram showing an example of a memory format when variable bit length data having the format shown in FIG. 12 is actually packed and stored in a waveform memory; FIG.

【図14】可変ビット長のデータを詰め込んでメモリに
書き込む処理を説明するための図。
FIG. 14 is a diagram for explaining a process of stuffing variable bit length data and writing it into memory.

【図15】図2における音源部の一実施例を示すブロッ
ク図。
FIG. 15 is a block diagram showing an embodiment of the sound source section in FIG. 2;

【図16】図15におけるデータ取り出し再生部の内部
構成例を示すブロック図。
FIG. 16 is a block diagram showing an example of the internal configuration of the data retrieval and playback section in FIG. 15;

【図17】図16におけるサンプルカウンタと隠れビッ
ト制御信号発生回路の具体例を示すブロック図。
FIG. 17 is a block diagram showing a specific example of the sample counter and hidden bit control signal generation circuit in FIG. 16;

【図18】図16におけるデータ長カウンタとアドレス
カウンタの詳細例を示すブロック図。
FIG. 18 is a block diagram showing a detailed example of the data length counter and address counter in FIG. 16;

【図19】図16におけるデータ位置再生回路の詳細例
を示すブロック図。
FIG. 19 is a block diagram showing a detailed example of the data position reproducing circuit in FIG. 16;

【図20】図19におけるシフタの動作例を説明する図
20 is a diagram illustrating an example of the operation of the shifter in FIG. 19. FIG.

【図21】図16における隠れビット分離回路及びデー
タ整合化回路の詳細例を示すブロック図。
FIG. 21 is a block diagram showing a detailed example of the hidden bit separation circuit and data matching circuit in FIG. 16;

【図22】図16における隠れビット再生回路及びデー
タレジスタの詳細例を示すブロック図。
FIG. 22 is a block diagram showing a detailed example of the hidden bit reproduction circuit and data register in FIG. 16;

【図23】図16における隠れビット再生回路及びデー
タレジスタの別の詳細例を示すブロック図。
FIG. 23 is a block diagram showing another detailed example of the hidden bit regeneration circuit and data register in FIG. 16;

【図24】図15における圧縮データ復調回路の一例を
示すブロック図。
FIG. 24 is a block diagram showing an example of the compressed data demodulation circuit in FIG. 15;

【図25】データ縮小化演算のためのシフト回路を圧縮
フィルタ部の後段に設けた実施例を概念的に示すブロッ
ク図。
FIG. 25 is a block diagram conceptually showing an embodiment in which a shift circuit for data reduction calculation is provided at a subsequent stage of the compression filter section.

【図26】図25の例に従って圧縮及び縮小化処理を行
った波形データを再生するための音源部の実施例を示す
ブロック図。
FIG. 26 is a block diagram showing an embodiment of a sound source section for reproducing waveform data that has been compressed and reduced according to the example of FIG. 25;

【符号の説明】[Explanation of symbols]

13…アナログ信号外部入力部、14…サンプリング装
置、15…波形メモリ、21…波形バッファメモリ、2
3…音源部、44…制限ビット数レジスタ、45…シフ
トデータ発生部、46…シフトデータレジスタ、47…
シフト回路(重み演算回路)、48…圧縮フィルタ部、
49…ハミング窓乗算部、51…係数発生演算部、55
…ブロックバッファ、56…ビット数検出部、58…可
変ビット長加工及び書込処理部、76…隠れビット付与
部、78…データ合成部、96…データ取り出し再生部
、97…圧縮データ復調回路、98…重み復元用のシフ
ト回路。
13... Analog signal external input section, 14... Sampling device, 15... Waveform memory, 21... Waveform buffer memory, 2
3... Sound source section, 44... Limit bit number register, 45... Shift data generation section, 46... Shift data register, 47...
Shift circuit (weight calculation circuit), 48... compression filter section,
49...Hamming window multiplication section, 51...Coefficient generation calculation section, 55
... block buffer, 56 ... bit number detection section, 58 ... variable bit length processing and writing processing section, 76 ... hidden bit adding section, 78 ... data synthesis section, 96 ... data extraction and reproduction section, 97 ... compressed data demodulation circuit, 98...Shift circuit for weight restoration.

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】  圧縮すべき波形データを提供する第1
のステップと、前記波形データに対して所定のデータ圧
縮処理を行う第2のステップとを具えた波形データ圧縮
方法において、前記データ圧縮処理の前乃至後のいずれ
かの段階で、波形データの値を任意の重み係数に従って
更に縮小する処理を行う第3のステップを設けたことを
特徴とする波形データ圧縮方法。
Claim 1: A first device that provides waveform data to be compressed.
and a second step of performing predetermined data compression processing on the waveform data, in which the value of the waveform data is 1. A waveform data compression method, comprising a third step of further reducing the data according to an arbitrary weighting coefficient.
【請求項2】  圧縮すべき波形データを入力し、該波
形データの値を任意の重み係数に従って縮小する演算を
行う縮小演算手段と、前記縮小演算手段から出力された
波形データを入力し、該波形データに対してデータ圧縮
フィルタ処理を施す圧縮フィルタ手段と、前記圧縮フィ
ルタ手段で使用するフィルタ係数を線形予測法によって
作成し、前記圧縮フィルタ手段に供給する係数発生手段
とを具えた波形データ圧縮装置。
2. Reduction calculation means that inputs waveform data to be compressed and performs an operation to reduce the value of the waveform data according to an arbitrary weighting factor; Waveform data compression comprising compression filter means for performing data compression filter processing on waveform data, and coefficient generation means for creating filter coefficients to be used in the compression filter means by a linear prediction method and supplying the generated filter coefficients to the compression filter means. Device.
【請求項3】  圧縮すべき波形データを入力し、該波
形データに対してデータ圧縮フィルタ処理を施す圧縮フ
ィルタ手段と、前記圧縮フィルタ手段から出力される波
形データの値を任意の重み係数に従って縮小する演算を
行う縮小演算手段と、前記圧縮フィルタ手段で使用する
フィルタ係数を線形予測法によって作成し、前記圧縮フ
ィルタ手段に供給する係数発生手段とを具えた波形デー
タ圧縮装置。
3. Compression filter means for inputting waveform data to be compressed and performing data compression filter processing on the waveform data, and reducing the value of the waveform data output from the compression filter means according to an arbitrary weighting coefficient. 1. A waveform data compression device, comprising: reduction calculation means for performing calculations; and coefficient generation means for creating filter coefficients to be used in the compression filter means by a linear prediction method and supplying the generated filter coefficients to the compression filter means.
【請求項4】  所定のデータ圧縮処理が施されると共
に重み係数に応じたデータ値縮小処理が施された波形デ
ータを記憶した波形記憶手段と、圧縮データを復調する
ための係数と前記重み係数を提供する係数提供手段と、
前記復調のための係数に応じて圧縮データ復調処理を前
記波形記憶手段から読み出された波形データに対して施
す圧縮データ復調手段と、前記重み係数に応じて縮小さ
れたデータ値を元の大きさに戻す演算を前記波形記憶手
段から読み出された波形データに対して施す演算手段と
を具えた波形データ再生装置。
4. Waveform storage means storing waveform data subjected to predetermined data compression processing and data value reduction processing according to a weighting coefficient, a coefficient for demodulating the compressed data, and the weighting coefficient. a coefficient providing means for providing;
compressed data demodulation means for performing compressed data demodulation processing on the waveform data read from the waveform storage means according to the coefficients for demodulation; a calculation means for performing a calculation on the waveform data read from the waveform storage means to restore the waveform data to a normal state.
JP3163798A 1991-06-09 1991-06-09 Waveform data compression method and apparatus, and reproduction apparatus Expired - Lifetime JP2727798B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3163798A JP2727798B2 (en) 1991-06-09 1991-06-09 Waveform data compression method and apparatus, and reproduction apparatus
US07/896,105 US5347478A (en) 1991-06-09 1992-06-09 Method of and device for compressing and reproducing waveform data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3163798A JP2727798B2 (en) 1991-06-09 1991-06-09 Waveform data compression method and apparatus, and reproduction apparatus

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP8175502A Division JP2790128B2 (en) 1996-06-14 1996-06-14 Method of compressing waveform data and digital data for tone control

Publications (2)

Publication Number Publication Date
JPH04361296A true JPH04361296A (en) 1992-12-14
JP2727798B2 JP2727798B2 (en) 1998-03-18

Family

ID=15780908

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3163798A Expired - Lifetime JP2727798B2 (en) 1991-06-09 1991-06-09 Waveform data compression method and apparatus, and reproduction apparatus

Country Status (1)

Country Link
JP (1) JP2727798B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314466A (en) * 1996-06-14 1996-11-29 Yamaha Corp Compressing method of waveform data and digital data for musical sound control
JP2013195646A (en) * 2012-03-19 2013-09-30 Casio Comput Co Ltd Coding device, coding method, and program
JP2014021162A (en) * 2012-07-12 2014-02-03 Casio Comput Co Ltd Decoding device, decoding method, and program
US9165563B2 (en) 2012-03-19 2015-10-20 Casio Computer Co., Ltd. Coding device, coding method, decoding device, decoding method, and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52117007A (en) * 1976-03-29 1977-10-01 Fujitsu Ltd Digitization of voice signal
JPS62242993A (en) * 1986-04-15 1987-10-23 ヤマハ株式会社 Musical tone signal generator
JPH0486792A (en) * 1990-07-31 1992-03-19 Casio Comput Co Ltd Waveform generator

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52117007A (en) * 1976-03-29 1977-10-01 Fujitsu Ltd Digitization of voice signal
JPS62242993A (en) * 1986-04-15 1987-10-23 ヤマハ株式会社 Musical tone signal generator
JPH0486792A (en) * 1990-07-31 1992-03-19 Casio Comput Co Ltd Waveform generator

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08314466A (en) * 1996-06-14 1996-11-29 Yamaha Corp Compressing method of waveform data and digital data for musical sound control
JP2013195646A (en) * 2012-03-19 2013-09-30 Casio Comput Co Ltd Coding device, coding method, and program
US9165563B2 (en) 2012-03-19 2015-10-20 Casio Computer Co., Ltd. Coding device, coding method, decoding device, decoding method, and storage medium
JP2014021162A (en) * 2012-07-12 2014-02-03 Casio Comput Co Ltd Decoding device, decoding method, and program

Also Published As

Publication number Publication date
JP2727798B2 (en) 1998-03-18

Similar Documents

Publication Publication Date Title
US5347478A (en) Method of and device for compressing and reproducing waveform data
KR0164590B1 (en) Apparatus for generating recording or reproducing sound source data
US20040069118A1 (en) Compressed data structure and apparatus and method related thereto
US5488704A (en) Speech codec
JP2921376B2 (en) Tone generator
EP0169659B1 (en) Sound generator for electronic musical instrument
JP2605434B2 (en) Electronic musical instrument data generator
JP2727798B2 (en) Waveform data compression method and apparatus, and reproduction apparatus
JP3482685B2 (en) Sound generator for electronic musical instruments
JP2790128B2 (en) Method of compressing waveform data and digital data for tone control
JP2745866B2 (en) Digital data compression method for waveform data and tone control, and waveform data reproducing apparatus
US5416264A (en) Waveform-forming device having memory storing non-compressed/compressed waveform samples
KR100236686B1 (en) Data sample series access apparatus
JP2650636B2 (en) Electronic musical instrument data generator
JP2950461B2 (en) Tone generator
JPH0422275B2 (en)
JP2674161B2 (en) Sound source data compression coding method
JP3087744B2 (en) Music generator
JP2728032B2 (en) Tone generator
US5245126A (en) Waveform generation system with reduced memory requirement, for use in an electronic musical instrument
JP2790160B2 (en) Waveform generation device and waveform storage device
JP2671456B2 (en) Sound source device
JP3581431B2 (en) MPEG audio decoder
JPH0528647A (en) Method for recording and reproducing digital voice signal
JPS5846036B2 (en) electronic musical instruments

Legal Events

Date Code Title Description
S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20081212

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20091212

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20101212

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20101212

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 14

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111212

Year of fee payment: 14