JP2745866B2 - Digital data compression method for waveform data and tone control, and waveform data reproducing apparatus - Google Patents

Digital data compression method for waveform data and tone control, and waveform data reproducing apparatus

Info

Publication number
JP2745866B2
JP2745866B2 JP3163799A JP16379991A JP2745866B2 JP 2745866 B2 JP2745866 B2 JP 2745866B2 JP 3163799 A JP3163799 A JP 3163799A JP 16379991 A JP16379991 A JP 16379991A JP 2745866 B2 JP2745866 B2 JP 2745866B2
Authority
JP
Japan
Prior art keywords
data
waveform
bit
bits
section
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP3163799A
Other languages
Japanese (ja)
Other versions
JPH06202667A (en
Inventor
秀雄 鈴木
和久 岡村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP3163799A priority Critical patent/JP2745866B2/en
Priority to US07/896,105 priority patent/US5347478A/en
Publication of JPH06202667A publication Critical patent/JPH06202667A/en
Application granted granted Critical
Publication of JP2745866B2 publication Critical patent/JP2745866B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

PURPOSE:To efficiently compress data by dividing waveform sample data into sections consisting of plural samples, detecting maximum value among the numbers of effective bits of respective data, section by section, and storing the data in the respective sections while making the data uniform to the number of bits corresponding to the maximum value. CONSTITUTION:One block of waveform sample data read out of a waveform memory 15 by a waveform read part 40 is further divided into plural sections (frame). A bit quantity detection part 56 detects the maximum values among the numbers of effective bits of the respective divided frames and a shift data generator 45 cuts the bits of the respective waveform sample data uniformly to the maximum bit length. Thus, the waveform sample data which are processed to the variable bit length are written in the waveform memory 15 again by a writing process part 58. At this time, the writing process is performed by adding various control data on the compression coefficient and weight coefficient of data used for reproduction processing, the number of bits of the waveform sample data, etc.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】この発明は、電子楽器やその他楽
音発生装置あるいは音信号処理装置等において利用可能
な、音源波形や音信号波形あるいは制御波形など各種の
波形データの圧縮方法に関し、更にはその他の楽音発生
若しくは制御用の各種ディジタルデータの圧縮方法に関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method for compressing various waveform data such as a sound source waveform, a sound signal waveform, and a control waveform, which can be used in an electronic musical instrument and other musical sound generators and sound signal processors. The present invention also relates to a method of compressing various digital data for generating or controlling musical tones.

【0002】[0002]

【従来の技術】電子楽器における音源波形を作成するた
めの一つの方法として、自然楽器等によって実際に音響
的に発音した音をサンプリングし、記憶することが行わ
れている(例えば、特開昭54−161313号、特開
昭62−89093号、特開昭62−94896号な
ど)。このような外部音サンプリング方式の音源は、自
然楽器音と同等の高品質な楽音波形が得られるという利
点がある反面、波形データの量が膨大になるため、波形
データ記憶装置に大容量のものを要求していた。記憶装
置やそれに関連する回路・装置の構成を簡単化するため
に、波形データを圧縮することが考えられている。例え
ば特開昭62−242993号においては、線形予測法
(LPC法)により圧縮したデータ表現形式で楽音波形
データを記憶することが示されている。また、特公平1
−45078号においては、波形サンプルデータを仮数
部と指数部とからなる浮動小数点表示に分解して表現
し、記憶することが示されている。また、データ符号化
方式として、PCMに限らず、DPCM,ADPCM,
デルタ変調など種々の方式を採用し、データ圧縮を行う
ことも知られている。
2. Description of the Related Art As one method for creating a sound source waveform in an electronic musical instrument, a sound actually produced acoustically by a natural musical instrument or the like is sampled and stored. 54-161313, JP-A-62-89093, JP-A-62-94896, and the like. Such an external sound sampling type sound source has the advantage that a high-quality musical sound waveform equivalent to that of a natural musical instrument can be obtained, but since the amount of waveform data is enormous, the waveform data storage device has a large capacity Had requested. In order to simplify the configuration of a storage device and circuits and devices related thereto, it has been considered to compress waveform data. For example, Japanese Patent Application Laid-Open No. 62-242993 discloses that musical tone waveform data is stored in a data expression format compressed by a linear prediction method (LPC method). In addition, Tokuhei 1
Japanese Patent Application No. -45078 discloses that waveform sample data is decomposed into a floating-point representation including a mantissa part and an exponent part, expressed, and stored. The data encoding method is not limited to PCM, but may be DPCM, ADPCM,
It is also known to employ various methods such as delta modulation to perform data compression.

【0003】在来のPCM形式のデータを記憶したデー
タ記憶装置は勿論のこと、上記のようなデータ圧縮法を
採用したデータ記憶装置においても、従来は、個々の記
憶アドレスに1対1でデータを記憶し、そこに記憶する
データのデータ長(データサイズつまり1つのデータを
構成するビット数のこと)は、一定値に固定されてい
た。例えば、1アドレス16ビットのアドレスには16
ビットのデータ長で1つのデータが記憶されるのが普通
である。また、メモリの特殊な使い方として、例えば、
1アドレス16ビットのアドレスを8ビットづつ2分割
し、それぞれに異なる8ビットデータを記憶することが
行なわれることもある。しかし、その場合でも、記憶す
るデータは8ビットなら8ビットの固定ビット長からな
るデータである。
Conventionally, not only a data storage device storing conventional PCM format data but also a data storage device employing the above-described data compression method, one-to-one data is stored in each storage address. And the data length (data size, that is, the number of bits constituting one data) of the data stored therein is fixed to a constant value. For example, a 16-bit address per address is 16
Normally, one data is stored with a data length of bits. Also, as a special use of memory, for example,
In some cases, one address of 16 bits is divided into two by 8 bits, and different 8-bit data is stored in each. However, even in that case, if the data to be stored is 8 bits, it is data having a fixed bit length of 8 bits.

【0004】[0004]

【発明が解決しようとする課題】上述のように、従来の
ものにおいては、データを固定ビット長で記憶するよう
にしていたため、有効ビット数が固定ビット長よりも少
ないデータにおいては、記憶素子が無駄に費やされてい
た。例えば、16ビットの固定ビット長で最大振幅値を
カバーし得るようにして楽音波形データを記憶した場
合、振幅値が小さなサンプル点においては、有効ビット
数が僅か2,3ビットしかない場合があり、そのような
場合は1アドレスにつき13,14ビットの記憶素子が
無駄に費やされる。このように無駄に費やされる記憶素
子数は、記憶装置全体で合計してみると無視できない量
になり、全体でみると記憶装置の効率的な利用を妨げ、
回路規模の縮小化とコストの低減化を妨げる要因にな
る。この発明は上述の点に鑑みてなされたもので、無駄
に費やされる記憶素子数をできるだけ少なくし、記憶装
置の効率的な利用を図ることができるようにするため
に、波形データ及びその他の楽音発生又は制御用のディ
ジタルデータのデータ圧縮方法を改良することを目的と
すると共に、そのような方法に従ってデータを記憶した
記憶装置を読み出して波形データを適切に再生する波形
データ再生装置を提供しようとするものである
As described above, in the prior art, data is stored with a fixed bit length. Therefore, for data in which the number of effective bits is smaller than the fixed bit length, the storage element is not used. Wasted in vain. For example, when musical tone waveform data is stored so that the maximum amplitude value can be covered with a fixed bit length of 16 bits, the number of effective bits may be only a few bits at a sample point having a small amplitude value. In such a case, a storage element of 13, 14 bits per address is wasted. The number of storage elements that are wasted in this way is not negligible when summed up in the entire storage device, and hinders efficient use of the storage device as a whole,
This is a factor that hinders a reduction in circuit scale and cost. SUMMARY OF THE INVENTION The present invention has been made in view of the above points, and has been developed in order to minimize the number of storage elements that are wasted as much as possible and to efficiently use a storage device. To improve the data compression method of digital data for generation or control, and to store data according to such method.
Waveform that reads storage device and reproduces waveform data properly
It is intended to provide a data reproducing device .

【0005】[0005]

【課題を解決するための手段】第1の観点に従うこの発
明に係る波形データ圧縮方法は、多数のサンプルからな
る所定ビット数のディジタル波形サンプルデータを提供
する第1のステップと、前記多数のサンプルからなる波
形サンプルデータを複数のサンプルからなる複数の区間
に分け、各区間毎に該波形サンプルデータの有効ビット
数の最大値を夫々検出する第2のステップと、前記第1
のステップで提供された各波形サンプルデータの全ビッ
トのうち、各区間毎に前記第2のステップで検出した最
大値に対応するビット数分の下位ビットを夫々取り出
し、こうして各区間毎にその区間の最大値に対応するビ
ット数に揃えられた波形サンプルデータを得て、これを
記憶装置に記憶する第3のステップと、前記各区間毎の
前記最大値に対応するビット数を示すビット数指示デー
タを前記記憶装置に記憶するステップであって、各区間
についての該ビット数指示データをそれぞれ複数の部分
に分割し、各部分を当該区間の前の区間についての前記
波形サンプルデータの間で分離して前記記憶装置に記憶
する第4のステップとを具えたものである。第2の観点
に従うこの発明に係る波形データ圧縮方法は、多数のサ
ンプルからなる所定ビット数のディジタル波形サンプル
データを提供する第1のステップと、前記多数のサンプ
ルからなる波形サンプルデータを複数のサンプルからな
る複数のブロック区間に分け、各ブロック区間毎にデー
タ圧縮処理を行う第2のステップと、前記各ブロック区
間の波形サンプルデータを複数のサンプルからなる複数
のフレーム区間に分け、各フレーム区間毎に前記データ
圧縮処理済みの波形サンプルデータの有効ビット数の最
大値を夫々検出する第3のステップと、前記第2のステ
ップで提供されたデータ圧縮処理済みの各波形サンプル
データの全ビットのうち、各フレーム区間毎に前記第3
のステップで検出した最大値に対応するビット数分の下
位ビットを夫々取り出し、こうして各フレーム区間毎に
その区間の最大値に対応するビット数に揃えられた波形
サンプルデータを得て、これを記憶装置に記憶する第4
のステップと、前記各フレーム区間毎の前記最大値に対
応するビット数を示すビット数指示データを前記記憶装
置に記憶するステップであって、各フレーム区間につい
ての該ビット数指示データをそれぞれ複数の部分に 分割
し、各部分を当該フレーム区間の前のフレーム区間につ
いての前記波形サンプルデータの間で分離して前記記憶
装置に記憶する第5のステップとを具えたものである。
また、この発明に係る楽音発生又は制御用のディジタル
データ圧縮方法は、多数のサンプルからなる所定ビット
数の楽音制御用のディジタルデータを提供する第1のス
テップと、前記多数のサンプルからなるディジタルデー
タを複数のサンプルからなる複数の区間に分け、各区間
毎に該ディジタルデータの有効ビット数の最大値を夫々
検出する第2のステップと、前記第1のステップで提供
された各ディジタルデータの全ビットのうち、各区間毎
に前記第2のステップで検出した最大値に対応するビッ
ト数分の下位ビットを夫々取り出し、こうして各区間毎
にその区間の最大値に対応するビット数に揃えられたデ
ィジタルデータを記憶装置に記憶する第3のステップ
、前記各区間毎の前記最大値に対応するビット数を示
すビット数指示データを前記記憶装置に記憶するステッ
プであって、各区間についての該ビット数指示データを
それぞれ複数の部分に分割し、各部分を当該区間の前の
区間についての前記ディジタルデータの間で分離して前
記記憶装置に記憶する第4のステップとを具えたもので
ある。更に、この発明に係る波形データ再生装置は、上
記の方法に従って前記波形サンプルデータと前記ビット
数指示データとを記憶してなる前記記憶装置と、前記記
憶装置に記憶した各データを読み出す読出し手段と、前
記読出し手段により読み出されたデータから前記ビット
数指示データの各部分を取り出し、これを集めることに
より完成されたビット数指示データを再生し、該再生さ
れたビット数指示データを次の区間のために出力するビ
ット数指示データ再生手段と、前記読出し手段により読
み出されたデータから前記波形サンプルデータを取り出
すものであって、当該区間のために前記ビット数指示デ
ータ再生手段から出力された前記ビット数指示データが
指示するビット数で該波形サンプルデータを取り出す波
形サンプルデータ取り出し手段とを具えたものである。
According to a first aspect of the present invention, there is provided a waveform data compression method according to the present invention, wherein a first step of providing digital waveform sample data of a predetermined number of bits comprising a large number of samples; A second step of dividing the waveform sample data consisting of a plurality of samples into a plurality of sections consisting of a plurality of samples, and detecting a maximum value of the number of effective bits of the waveform sample data for each section;
Out of all the bits of each waveform sample data provided in the step, the lower bits corresponding to the number of bits corresponding to the maximum value detected in the second step are extracted for each section, and thus, for each section, A third step of obtaining waveform sample data aligned to the number of bits corresponding to the maximum value of
Bit number indication data indicating the number of bits corresponding to the maximum value
Storing the data in the storage device;
The bit number indication data for
And divide each part into the above section for the section before the section.
Separated between waveform sample data and stored in the storage device
And a fourth step of performing the above. According to a second aspect of the present invention, there is provided a waveform data compression method according to the present invention, wherein a first step of providing digital waveform sample data of a predetermined number of bits comprising a large number of samples; A second step of performing data compression processing for each block section, and dividing the waveform sample data of each block section into a plurality of frame sections consisting of a plurality of samples. A third step of respectively detecting the maximum value of the number of effective bits of the data sampled waveform sample data; and of all bits of the data-compressed waveform sample data provided in the second step, , The third
The lower bits corresponding to the number of bits corresponding to the maximum value detected in the step are extracted, and waveform sample data aligned with the number of bits corresponding to the maximum value of the section is obtained for each frame section and stored. 4th to be stored in the device
And the maximum value for each frame section.
Bit number indicating data indicating a corresponding bit number;
Is a step of storing each frame interval.
The number of bits indicating data of Te respectively divided into a plurality of parts
Each part to the frame section before the frame section.
The waveform sample data of the
And a fifth step of storing in the device .
A digital data compression method for generating or controlling a musical tone according to the present invention includes a first step of providing digital data for controlling a musical tone having a predetermined number of bits composed of a large number of samples; Is divided into a plurality of sections composed of a plurality of samples, a second step of detecting the maximum value of the number of effective bits of the digital data for each section, and a step of detecting all of the digital data provided in the first step. Of the bits, the lower bits corresponding to the number of bits corresponding to the maximum value detected in the second step are extracted for each section, and thus the number of bits corresponding to the maximum value of the section is aligned for each section. A third step of storing digital data in a storage device, and indicating the number of bits corresponding to the maximum value for each section.
Step for storing bit number instruction data in the storage device
And the bit number indication data for each section is
Each is divided into multiple parts, and each part is
Separate between the digital data for the section before
And a fourth step of storing in the storage device . Further, the waveform data reproducing apparatus according to the present invention
The waveform sample data and the bits according to the method described above.
The storage device storing the number instruction data;
Reading means for reading each data stored in the storage device;
The bits read from the data read by the read / write means.
To take out each part of the numerical instruction data and collect this
The more completed bit number indication data is reproduced, and the reproduced
To output the specified bit number indication data for the next section
Data read means and the read means.
Extract the waveform sample data from the extracted data
The bit number indication data for the section.
The bit number instruction data output from the data reproducing means is
A wave from which the waveform sample data is extracted with the indicated number of bits
Shape sample data extracting means.

【0006】[0006]

【作用】第1の観点に従う波形データ圧縮方法によれ
ば、第2のステップにおいて、多数のサンプルからなる
波形サンプルデータを複数のサンプルからなる複数の区
間に分け、各区間毎に該波形サンプルデータの有効ビッ
ト数の最大値を夫々検出する。そして、第3のステップ
において、これらの各波形サンプルデータの全ビットの
うち、各区間毎に前記検出した最大値に対応するビット
数分の下位ビットを夫々取り出し、こうして各区間毎に
その区間の最大値に対応するビット数に揃えられた波形
サンプルデータを得て、これを記憶装置に記憶する。従
って、例えば発音開始から終了までのように連続する多
数のサンプルからなる波形サンプルデータが複数の区間
に分けられ、これらの各波形サンプルデータのデータビ
ットサイズが、各区間毎にその有効ビット数の最大値に
対応する可変ビット長に切り揃えられるように加工さ
れ、このように可変ビット長加工されたものが記憶装置
に記憶されることになる。このような可変ビット長に加
工するデータ圧縮処理を採用したことにより、記憶装置
に記憶する波形データのデータサイズつまりビット長を
固定ではなく、任意に可変し得るものとすることができ
る。従って、波形データの有効ビットにとって必要な記
憶素子数だけを占有し、不必要な記憶素子まで占有する
ことがなくなる。つまり、余った記憶素子を無駄に占有
することなく、他のデータの記憶のために使用すること
ができるようになるので、記憶装置の節約と効率的な利
用を図ることができる。更に、第4のステップにおい
て、各区間毎の波形サンプルデータの最大値に対応する
ビット数を指示するビット数指示データをそれぞれ複数
の部分に分割し、各部分を当該区間の前の区間について
の前記波形サンプルデータの間で分離して記憶装置に記
憶するようにしているので、記憶している波形サンプル
データの間でビット数指示データを効率的に記憶させる
ことができる。
According to the waveform data compression method according to the first aspect, in the second step, the waveform sample data composed of a large number of samples is divided into a plurality of sections composed of a plurality of samples, and the waveform sample data is divided for each section. The maximum value of the number of effective bits of each is detected. Then, in the third step, out of all the bits of each of the waveform sample data, lower bits corresponding to the number of bits corresponding to the detected maximum value are extracted for each section, and thus, for each section, Obtain waveform sample data aligned to the number of bits corresponding to the maximum value and store it in the storage device. Therefore, for example, waveform sample data consisting of a large number of continuous samples such as from the start to the end of sound generation is divided into a plurality of sections, and the data bit size of each of these waveform sample data is determined by the number of effective bits for each section. Processing is performed so as to be trimmed to a variable bit length corresponding to the maximum value, and the variable bit length processed as described above is stored in the storage device. By employing such data compression processing for processing into a variable bit length, the data size of the waveform data stored in the storage device, that is, the bit length, can be arbitrarily variable instead of being fixed. Therefore, only the number of storage elements necessary for the effective bits of the waveform data is occupied, and unnecessary storage elements are not occupied. In other words, the remaining storage element can be used for storing other data without wasting the storage element, so that the storage device can be saved and used efficiently. Furthermore, in the fourth step
Corresponds to the maximum value of the waveform sample data for each section.
Multiple bit number data indicating bit number
, And divide each part for the section before that section.
Separated into the waveform sample data of
Waveform samples
Efficiently store bit number indication data between data
be able to.

【0007】第2の観点に従う波形データ圧縮方法によ
れば、上述のような可変ビット長加工処理を、通常の所
定のデータ圧縮処理(例えばLPC法などによるデータ
圧縮処理)を施した波形データに対して施す。その場合
に、所定のデータ圧縮処理を行うブロック区間よりも細
かいフレーム区間毎に上述のような可変ビット長加工処
理を行う。可変ビット長加工処理は、有効ビット数の最
大値を検出すれば足りるので、通常の所定のデータ圧縮
処理に比べて処理が簡単であり、通常の所定のデータ圧
縮処理よりも極め細かなフレーム区間毎に実施するのに
適しており、両者の処理の相乗により、相対的に簡単な
構成でありながら、データサイズのより一層の圧縮化を
図ることができる。
According to the waveform data compression method according to the second aspect, the above-described variable bit length processing is performed on waveform data that has been subjected to a normal predetermined data compression processing (for example, data compression processing based on the LPC method or the like). Apply to In this case, the above-described variable bit length processing is performed for each frame section smaller than the block section where the predetermined data compression processing is performed. Since the variable bit length processing only needs to detect the maximum value of the number of valid bits, the processing is simpler than the normal predetermined data compression processing, and the frame interval is finer than the normal predetermined data compression processing. It is suitable to be performed every time, and by the synergism of both processes, it is possible to further reduce the data size while having a relatively simple configuration.

【0008】この発明に係る楽音制御用のディジタルデ
ータの圧縮方法によれば、上記第1の観点に従う波形デ
ータ圧縮方法と同様の可変ビット長加工処理を、波形デ
ータに限らず、楽音制御用の各種のディジタルデータに
対して施すことができ、これにより、前述と同様の理由
により、これらの楽音制御用の各種のディジタルデータ
を記憶するための記憶装置の節約と効率的な利用を図る
ことができる。
According to the method of compressing digital data for musical tone control according to the present invention, the variable bit length processing similar to the waveform data compressing method according to the first aspect is not limited to waveform data. It can be applied to various types of digital data, thereby saving and efficiently using a storage device for storing these various types of digital data for tone control for the same reason as described above. it can.

【0009】第1の観点に従うこの発明に係る波形デー
タ圧縮方法の実施の態様のいくつかを列挙すると次のよ
うである。 a) 各区間毎のビット数を指示するデータを記憶する
第4のステップを更に具えたこと。 b) 前記第4のステップは、各区置において、当該区
間よりも前の区間の波形サンプルデータを記憶している
記憶領域の一部において記憶するものであること。 c) 前記第1のステップで提供された前記波形サンプ
ルデータに対してデータ圧縮処理を行う第5のステップ
を更に具備し、前記第2のステップでは、この第5のス
テップで圧縮処理された波形サンプルデータに関して前
記有効ビット数最大値検出処理を行うようにしたこと。
Some of the embodiments of the waveform data compression method according to the present invention according to the first aspect are as follows. a) The method further includes a fourth step of storing data indicating the number of bits for each section. b) In the fourth step, in each section, the waveform sample data of the section before the section is stored in a part of the storage area storing the waveform sample data. c) further comprising a fifth step of performing a data compression process on the waveform sample data provided in the first step, and in the second step, the waveform compressed in the fifth step. The maximum value detection processing of the number of effective bits is performed on the sample data.

【0010】第2の観点に従うこの発明に係る波形デー
タ圧縮方法の実施の態様のいくつかを列挙すると次のよ
うである。 d) 前記第2のステップのデータ圧縮処理の前後及び
その最中のいずれかの段階で、波形サンプルデータの値
を各ブロック区間毎に任意の重み係数に従って更に縮小
する処理を行う第5のステップを更に具えたこと。 e) 各ブロック区間毎のデータ圧縮係数及び重み係数
を夫々記憶すると共に各フレーム区間毎のビット数を指
示するデータを記憶する第6のステップを更に具えたこ
と。 f) 前記第6のステップは、各ブロック区間毎のデー
タ圧縮係数及び重み係数を、前記記憶装置において、当
該ブロック区間よりも前のブロック区間の波形サンプル
データを記憶している記憶領域の一部において記憶する
ものであり、また、各フレーム区間毎のビット数指示デ
ータを、前記記憶装置において、当該フレーム区間より
も前のフレーム区間の波形サンプルデータを記憶してい
る記憶領域の一部において記憶するものであること。こ
の発明に係る楽音制御用のディジタルデータ圧縮方法に
おける実施の態様の1つを挙げると次のようである。 g) 前記第1のステップで提供された前記ディジタル
データに対してデータ圧縮処理を行う第4のステップを
更に具備し、前記第2のステップでは、この第4のステ
ップで圧縮処理されたディジタルデータに関して前記有
効ビット数最大値検出処理を行うようにしたこと。
Some of the embodiments of the waveform data compression method according to the present invention according to the second aspect are listed as follows. d) A fifth step of performing a process of further reducing the value of the waveform sample data according to an arbitrary weighting factor for each block section before, during, or during the data compression process of the second step. More. e) further comprising a sixth step of storing a data compression coefficient and a weight coefficient for each block section and storing data indicating the number of bits for each frame section. f) In the sixth step, the data compression coefficient and the weighting coefficient for each block section are stored in the storage device as a part of a storage area storing waveform sample data of a block section before the block section. In addition, the bit number indication data for each frame section is stored in a part of the storage area that stores the waveform sample data of the frame section preceding the frame section in the storage device. Things to do. One embodiment of the digital data compression method for musical tone control according to the present invention is as follows. g) further comprising a fourth step of performing a data compression process on the digital data provided in the first step, wherein in the second step, the digital data compressed in the fourth step is provided. The maximum number of effective bits detection process is performed.

【0011】[0011]

【実施例】以下、添付図面を参照してこの発明の実施例
を詳細に説明しよう。 −−波形データの圧縮・再生処理の全体の流れ−− まず、この発明の一実施例における波形データの圧縮・
再生処理の全体の流れにつき、図1を参照して概略説明
する。まず最初に圧縮対象波形を用意する。この用意の
仕方の一例としては、自然楽器等によって発音された原
波形をサンプリングして記憶すること、もしくはすでに
外部メモリ等に記憶してある所望の原波形を該外部メモ
リから取り込むこと、などによって行うようにしてよ
い。
Embodiments of the present invention will be described below in detail with reference to the accompanying drawings. --- Overall Flow of Waveform Data Compression / Reproduction Processing-- First, compression / reproduction of waveform data in one embodiment of the present invention is described.
The overall flow of the reproduction process will be schematically described with reference to FIG. First, a compression target waveform is prepared. As an example of this preparation method, by sampling and storing an original waveform generated by a natural musical instrument or the like, or by taking in a desired original waveform already stored in an external memory or the like from the external memory, You may do it.

【0012】サンプリングした原波形は、そのまま圧縮
対象波形として使用せずに、必要な加工処理を行ってか
ら圧縮処理を行うようにしてよい。そのような加工処理
としては、例えば、原波形の振幅エンベロープを抽出す
る処理、原波形から振幅エンベロープを除去してその振
幅レベルを均一レベルに規格化する処理、反対に任意の
振幅エンベロープを付与する処理、適当なフィルタリン
グを施す処理、波形の位相を合わせる処理、ノイズ成分
を抽出する処理など各種の処理が有り、そのうち1又は
複数の処理を行うようにしてよい。また、処理済みの原
波形の全てをメモリに記憶せずに、所定区間を切り取っ
て記憶するようにしてよい。その場合に、メモリに記憶
する原波形のスタートアドレスを設定したり、繰り返し
読み出しする区間がある場合はその繰り返し読み出し区
間のアドレスを設定したりする処理も行う。また、繰り
返し読み出しがスムーズに行われるようにするために、
必要な波形加工処理等を行うようにしてもよい。
The sampled original waveform may not be used as it is as a compression target waveform, but may be subjected to necessary processing before compression. Examples of such processing include a process of extracting the amplitude envelope of the original waveform, a process of removing the amplitude envelope from the original waveform and normalizing the amplitude level to a uniform level, and conversely, adding an arbitrary amplitude envelope. There are various types of processing, such as processing, processing for performing appropriate filtering, processing for adjusting the phase of a waveform, and processing for extracting noise components, and one or more of these may be performed. Also, a predetermined section may be cut out and stored without storing all of the processed original waveforms in the memory. In this case, a process of setting the start address of the original waveform stored in the memory and, if there is a section to be repeatedly read, setting the address of the section to be repeatedly read is also performed. 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, a process of compressing the waveform data and writing it to the memory is performed. Here, first, various "data settings"
I do. One of the "data settings" is a read address setting and a write address setting. The setting of the read address is to set an address range from which the original waveform subjected to the necessary processing as described above, that is, the waveform to be read from the memory storing the compression target waveform is stored.
That is, a read start address and a read end address of the original waveform memory, an address for setting a repetitive read range, and the like are set. The write address setting is a process of setting an address for specifying in which address range of the memory the waveform data after the data compression processing is to be written. As will be described later, in the following embodiment, the number of bits of one sample of the waveform data after data compression processing (that is, the data length) does not always match the number of bits of one address of the memory, and has a variable bit length. ,
In addition, one sample is not stored one-to-one at one address, but is packed and written. Therefore, even if the data amount (the number of samples) of the original waveform is known, the total storage addresses of the waveform data after data compression processing cannot be known until the compression processing is completed. Therefore, in this write address setting, a start address to write the first data can be set, but a write end address cannot be set. As will be described later, the write end address is set when the data compression process and the write process are completed.
The information is automatically stored and is convenient for later reproduction processing.

【0014】ここで行う「データ設定」の別の例とし
て、制限ビット数の設定がある。これは、連続する複数
周期からなる圧縮対象波形を複数の区間(これを単にブ
ロック若しくはブロック区間という)に分け、データ縮
小及び圧縮処理後の1サンプルデータのビット数を各区
間毎に制限するために、各区間毎にその制限ビット数を
任意に設定することである。発音開始から終了に至る波
形の全区間においては、アタック部のように細かな再現
性が要求される部分もあれば、減衰部分のように細かな
再現性がそれほど要求されない部分もある。そこで、再
現の際に要求される精密度に応じて、データ縮小及び圧
縮処理後のビット数を可変するようにすれば、データビ
ット数の縮減にも寄与するので、効率的である。そのた
めに、このように、波形を複数区間に分け、各区間毎に
制限ビット数を任意に設定できるようにしたのである。
As another example of the "data setting" performed here, there is setting of a limited bit number. This is because a compression target waveform composed of a plurality of continuous cycles is divided into a plurality of sections (which are 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. Second, the limit bit number is arbitrarily set for each section. In the entire section of the waveform from the start to the end of sound generation, there are portions where fine reproducibility is required such as an attack portion, and portions where fine reproducibility is not so required such as an attenuation portion. Therefore, if the number of bits after data reduction and compression processing is made variable in accordance with the precision required at the time of reproduction, it contributes to the reduction in the number of data bits, which is efficient. For this purpose, the waveform is divided into a plurality of sections, and the limited number of bits can be arbitrarily set for each section.

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

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

【0017】次に、「データ圧縮及び縮小処理」後の波
形サンプルデータを、可変ビット長のデータに加工する
処理を行う。ここでは、1ブロック区間をさらに複数の
区間(これを単にフレーム若しくはフレーム区間とい
う)に分け、各フレーム区間毎に、波形サンプルデータ
のビット長を決定し、そのビット長に納まるように各波
形サンプルデータのビット数を切り揃える。例えば、各
フレーム区間毎に、波形サンプルデータの有効ビット数
の最大値を検出し、これをそのフレーム区間における波
形サンプルデータの共通のビット長として決定する。例
えば、16ビット規格で示された波形サンプルデータに
おいて最上位ビットから連続して“0”のビットが5ビ
ット連続しているとすると、その“0”の上位5ビット
が実質的な値に対応していない無視できるビットであ
り、その下位の11ビットが有効ビットである。そのフ
レーム内の有効ビット数の最大値は、そのフレーム内の
波形サンプルデータの有効ビットをすべてカバーし得る
ビット長である。従って、そのように決定したビット長
で、そのフレーム内のすべての波形サンプルデータのビ
ット数を切り揃えても、有効ビットをすべて残すことが
できる。こうして、波形サンプルデータは、各フレーム
区間毎に可変ビット長のデータとなるように処理され
る。この可変ビット長加工処理は、人手によらずに、有
効ビット数の最大値の検出に基づき自動的に行うことが
できる。勿論、人手によって各フレーム区間毎のデータ
可変ビット長を設定入力することも可能である。
Next, a process of processing the waveform sample data after the "data compression and reduction process" into data having a variable bit length is performed. Here, one block section is further divided into a plurality of sections (this is simply referred to as a frame or a frame section), the bit length of the waveform sample data is determined for each frame section, and each waveform sample is set so as to fit in the bit length. Trims the number of data bits. For example, the maximum value of the number of effective bits of the waveform sample data is detected for each frame section, and this is determined as the common bit length of the waveform sample data in that frame section. For example, assuming that 5 bits of “0” continue from the most significant bit in the waveform sample data specified by the 16-bit standard, the upper 5 bits of “0” correspond to a substantial value. The lower 11 bits are valid bits. The maximum value of the number of valid bits in the frame is a bit length that can cover all the valid bits of the waveform sample data in the frame. Therefore, even if the bit lengths of all the waveform sample data in the frame are trimmed by the bit length determined in this way, all the valid bits can be left. In this way, the waveform sample data is processed so as to be variable bit length data for each frame section. This variable bit length processing can be automatically performed based on the detection of the maximum value of the number of effective bits without manual operation. 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 the variable bit length and subjected to the "data compression and reduction processing" is written into the memory. As described above, when storing waveform sample data having a variable bit length in the memory, one waveform sample data is packed and stored instead of one-to-one at each address.
Write control is performed in a part of a bit area of one address or over a plurality of addresses. In addition, various control data such as a compression coefficient used for data compression, a weight coefficient used for data reduction, data indicating the number of bits of waveform sample data, and the like are hidden so that the data can be used in a subsequent reproduction process. Control is performed to write the bit data in the waveform sample data. Details of such a writing process will be described later.

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

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

【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 nonvolatile by a battery backup or other means as required. The waveform memory interface 16 controls reading and writing of the waveform memory 15. The disk memory device 17 comprises a large-capacity memory for storing waveform data and its driver.
It may 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 with respect to the disk memory device 17. The DMA controller 19 reads / writes data from / to the disk memory device 17
A, and the disk memory device 1
It is used when transferring waveform data between the memory 7 and the waveform memory 15 and the like.

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

【0023】上記のようにして波形メモリ15内に準備
された圧縮対象波形に対して所定のデータ圧縮処理及び
縮小化処理を施す。この実施例では、データ圧縮処理及
び縮小化処理は、マイクロコンピュータの制御に基づき
実行される。操作子部20は、電子楽器の操作パネル部
において通常設けられている音色選択/設定/制御用の
各種スイッチやその他楽音要素や各種効果を選択/設定
/制御するためのスイッチやディスプレイ等を具備して
いるほか、波形の加工処理やデータ圧縮処理及び縮小化
処理の際に前述の各種のデータを設定するために使用す
るスイッチやディスプレイ等を具備していてよいが、そ
の詳細は省略する。波形バッファメモリ21は、データ
圧縮処理及び縮小化処理を実行しているときに、処理中
の若しくは処理済みの波形データを一時記憶するバッフ
ァである。このバッファメモリ21に記憶したデータ圧
縮及び縮小処理済みの波形データを読み出し、前述の詰
め込み処理及び隠れビット挿入処理を行いながら、該処
理済み波形データを波形メモリ15に書き込む。
The compression target waveform prepared in the waveform memory 15 as described above is subjected to predetermined data compression processing and reduction processing. In this embodiment, the data compression processing and the reduction processing are executed under the control of the microcomputer. The operation section 20 includes various switches for selecting / setting / controlling a tone normally provided in an operation panel section of the electronic musical instrument, and switches and displays for selecting / setting / controlling other tone elements and various effects. In addition to the above, a switch, a display, and the like used for setting the above-described various types of data during the waveform processing, data compression, and reduction processing may be provided, but details thereof are omitted. The waveform buffer memory 21 is a buffer that temporarily stores the processed or processed waveform data when the data compression processing and the reduction processing are being executed. The waveform data subjected to the 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-described 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 has a plurality of keys for designating the pitch of a musical tone to be generated. When a musical tone is reproduced, various parameters for musical tone generation are set in a desired state by the operation unit 20, as is generally known. Then, a desired key is pressed by the keyboard unit 22. The tone generator 23 reads out waveform data from the waveform memory 15 in accordance with various parameter setting states of the operation unit 20 and key press information of the keyboard 22, and generates a tone signal based on the waveform data. In this sound source section 23,
The above-described data bit length matching processing and hidden bit separation processing are performed, and demodulation processing and weight restoration calculation processing of compressed waveform sample data are also performed. 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 given to the sound system 25 to be acoustically generated.

【0025】−−ブロック及びフレームの説明−− 波形メモリ15に記憶されている圧縮対象波形は、PC
M符号化された一定ビット長(例えば1サンプルが16
ビット)のデータであり、多数のサンプル点かなる。こ
れを圧縮処理する場合、前述のようにブロック区間とフ
レーム区間に分けて取り扱う。一例として、1つのブロ
ックは1024サンプルからなり、1音に対応する一連
の圧縮対象波形は、通常、全体としてそれよりも多数の
サンプル数からなり、従って、ブロック区間も複数ブロ
ックに区分することができる。1つのブロックは64フ
レーム区間からなり、従って、1フレーム区間は16サ
ンプル点からなる。波形データの圧縮及び縮小処理にあ
たっては、各ブロック区間毎に夫々固有の圧縮係数及び
重み係数に従って処理を行う。つまり、圧縮係数及び重
み係数は、1つのブロック区間内では共通である。波形
データの可変ビット長加工処理にあたっては、各フレー
ム区間毎に夫々固有の可変ビット長に設定する。つま
り、波形サンプルデータのビット長は1つのフレーム区
間内では共通である。
--Description of Blocks and Frames-- A compression target waveform stored in the waveform memory 15 is a PC.
M-coded fixed bit length (for example, one sample is 16 bits)
Bit), which consists of a number of sample points. When this is compressed, it is handled by dividing it into a block section and a frame section as described above. As an example, one block is composed of 1024 samples, and a series of compression target waveforms corresponding to one sound is generally composed of a larger number of samples as a whole, and therefore, a block section may be divided into a plurality of blocks. it can. One block is composed of 64 frame intervals, and thus one frame interval is composed of 16 sample points. In the compression and reduction processing of the waveform data, the processing is performed in accordance with the unique compression coefficient and weight coefficient for each block section. That is, the compression coefficient and the weight coefficient are common within one block section. In the variable bit length processing of the waveform data, a unique variable bit length is set for each frame section. That is, 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 outline of the entire process from the compression of the waveform data to the writing to the memory, which is executed under the control of the microcomputer. Things. First, in step 30, various types of data set in the above-mentioned "data setting" are received, and the data compression process is started. For example, the waveform memory 15
As described above, the read start address of the waveform to be compressed and the limited bit number data for each block are set according to the operator's request as described above. In the next step 31, the contents of the block counter for counting the block number for identifying the block section being compressed and the sample counter for counting the sample number for identifying the sample point in the block are initialized to 0. Reset to. Also, the contents of various registers are set to predetermined initial values. For example, the limited bit number data set for each block is set in the register storing the limited 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 in the first one block section. Specific examples of the data compression processing and the reduction processing will be described later. In the next step 33,
Data indicating the start address of the memory area for storing the waveform data to be compressed is stored in the waveform start address table WST. When writing the compressed waveform data to the waveform memory 15, the start address stored in the waveform start address table WST is referred to, and the writing of the compressed waveform data is started from the 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 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にスタートアドレスデータを
書き込む。そして、このスタートアドレスデータは、デ
ータエリアにおける当該波形番号に関する波形データ記
憶エリアの先頭アドレスを特定する。
Here, the format of the storage area of the compressed waveform data in the waveform memory 15 is exemplified as shown in FIG. The waveform numbers 1 to n correspond to n kinds of sounds or timbres, and the waveform data corresponding to the n kinds of sounds or timbres 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 of the waveform numbers 1 to n. The data area is an area for storing waveform data for each of the waveform numbers 1 to n, and has a header section and a waveform sample data storage section corresponding to each of the waveform numbers 1 to n. In step 32, start address data is written to the waveform start address table WST corresponding to the waveform number assigned to the waveform to be compressed. The start address data specifies the start address of the waveform data storage area for the waveform number in the data area.

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

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

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

【0031】なお、ヘッダ部に記憶するヘッドデータ
は、上記の例に限らず、必要に応じてどのようなデータ
であってもよい。例えば、波形の一部区間を繰返し読み
出すようにする場合は、その繰返し読み出し区間を指定
するためのループアドレスデータを記憶しておくように
してよい。また、複数のデータ圧縮方式のいずれかに従
って選択的にデータ圧縮を行う場合は、選択したデータ
圧縮方式を示すデータをヘッダ部に記憶し、復調に便な
らしめるものとする。あるいは、原波形の名前を示すデ
ータをヘッダ部に記憶しておき、適宜読み出して表示し
て、演奏者の参考に供することができるようにしてもよ
い。
The head data stored in the header section is not limited to the above example, and may be any data as needed. For example, when a section of a waveform is repeatedly read, loop address data for designating the section for repeated reading may be stored. When data compression is selectively performed according to any one of a plurality of data compression methods, data indicating the selected data compression method is stored in a header portion, which is convenient for 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 the player's reference.

【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 a predetermined data is A compression process and a reduction process are performed. The waveform data of the first block which has been subjected to the data compression processing and the reduction processing by the processing of step 33 is temporarily stored in the waveform buffer memory 21 (FIG. 2). Then, the waveform data of the second block subjected to the data compression processing and the reduction processing by the processing in step 35 is also temporarily stored in the waveform buffer memory 21. As described above, 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 the processed data is written into the waveform memory 15. Do. Here, when writing the waveform data of the preceding block,
In the previous step 35, a process of writing the compression coefficient and the weighting coefficient data for the next block after the compression processing is completed in the waveform data is performed. Specific examples of the variable bit length processing and the write processing will be described later in detail. In this step 36, bit length processing and write processing are first performed on the waveform data of the first block.
In this case, the start address of the write is specified 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 compression of all waveform data has been completed. If the processing has not been completed yet, the process goes to step 38 to indicate the next block. Then, the process returns to step 35, where the compression and reduction processing of the waveform data for the designated next block is performed, and the processing of step 36 is performed. Thus, the blocks are sequentially switched, and the processing of steps 35 and 36 is repeated. When the compression of all the waveform data is completed, step 3
7 is YES, and the procedure goes to step 39. Step 39
Then, in the header part of the waveform number currently being processed,
The address size data or end address data relating to the waveform data is written. Although not described in detail, the write address is appropriately designated by the address pointer when writing the compressed waveform data to the waveform memory 15, so that when the compression of all the waveform data is completed, the address pointer indicates the end address. doing. Therefore, in step 39, the address size data or end address data relating to 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 compression and reduction processing of the waveform data executed in the steps 32 and 35 is performed under the control of the microcomputer. FIG. 5 shows an embodiment (first embodiment) of waveform data compression and reduction processing performed under the control of the microcomputer.
FIG. 3 is a functional block diagram showing an example of the present invention). This waveform data compression and reduction processing will be described with reference to a functional block diagram as shown, and the presentation of a flowchart will be omitted. It goes without saying that the waveform data compression and reduction processing can be performed not only by the microcomputer but also by a hardware circuit according to the functional block diagram as shown. In the first embodiment, the waveform data reduction processing according to the weight coefficient
It is performed before data compression processing using a filter. In FIG. 5, the waveform memory reading unit 40
Is for reading the compression target waveform data from the waveform memory 15, and a read address signal is given under the control of the control unit 41. The control unit 41 is for performing overall control, and supplies a control signal to each unit. The block counter 42 counts the number of the block currently being processed. The sample counter 43 counts the number of the sample 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), under the control of the control unit 41, the block counter 42 and the sample counter 43 are initialized to 0.
Reset to. Each time the waveform data for one sample is compressed and reduced, the sample counter 43 is incremented by one.
Count up. In addition, every time the processing for one block is performed, the block counter 42 is incremented by one. The sample counter 43 is reset to 0 when starting processing for one block. The read start address for specifying the range of the compression target waveform is
1 and the read address of the waveform memory 15 is obtained 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 (with a weight of 1024 times). Is specified. The read address data is given to the waveform read unit 40, and specifies the address of the sample data to be read from the waveform memory 15.
In addition, since one frame period is composed of 16 samples, bits higher than the fifth bit of the sample counter 43 are also used as data indicating a frame number.

【0037】制限ビット数レジスタ44は、前述のよう
に各ブロック区間毎に予め設定された制限ビット数を指
示するデータをストアするものであり、図3のステップ
31による初期設定処理によって各ブロック区間毎の制
限ビット数指示データを該レジスタ44に取り込む。ブ
ロックカウンタ42の出力つまりブロック番号データに
応じて、現在処理中のブロックに対応して設定された制
限ビット数指示データをレジスタ44から読み出す。シ
フトデータ発生部45は、シフトデータつまり重み係数
を発生するものであり、制限ビット数レジスタ44から
与えられる当該ブロックに関する制限ビット数指示デー
タ及びその他のデータを考慮して、適切なシフトデータ
つまり重み係数を発生する。このシフトデータ発生部4
5から発生されたシフトデータは、シフトデータレジス
タ46にレジストされる。シフトデータレジスタ46に
レジストされたシフトデータつまり重み係数は、シフト
回路47(つまり重み演算回路)に与えられる。
The limited bit number register 44 stores data indicating a preset limited bit number for each block section, as described above, and performs each block section by the initial setting process in step 31 of FIG. The data indicating the limited number of bits for each is fetched into the register 44. In accordance with the output of the block counter 42, that is, the block number data, the limit bit number instruction data set corresponding to the block currently being processed is read from the register 44. The shift data generating section 45 generates shift data, that is, a weighting coefficient, and takes into consideration the limited bit number instruction data and the other data for the block given from the limited bit number register 44, which are appropriate shift data, that is, a weighting coefficient. Generate coefficients. This shift data generator 4
The shift data generated from 5 is registered in the shift data register 46. The shift data registered in the shift data register 46, that is, the weight coefficient, 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 receives the waveform sample data read from the waveform memory 15 via the waveform read section 40, and shifts the value of the sample data downward by the number of bits corresponding to the shift data. , Performs a reduction operation of the value of the sample data. For example, if the waveform sample data having 10 bits of effective bits is shifted downward by 2 bits, the number of effective bits of the waveform sample data is reduced to 8 bits. The waveform sample data output from the shift circuit 47 is input to the compression filter unit 48. The compression filter section 48 performs a data compression process using a filter. The filter coefficient of the compression filter unit 48, that is, the compression coefficient, is calculated for each block section according to the linear prediction method based on the waveform sample data for each block section. For this purpose, a Hamming window multiplication unit 49, a Hamming buffer 50,
A coefficient generation operation unit 51 and a coefficient register 52 are provided. This detailed example will be described later. The calculated compression coefficient is stored in the coefficient register 52 and input to the compression filter unit 48.

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

【0040】こうして、1ブロック分の処理を終了した
とき、最終的にビット数レジスタ57にストアされてい
るビット数データが、そのブロックにおける有効ビット
数の最大値であり、これを最大ビット数データMBNと
してシフトデータ発生部45に与える。シフトデータ発
生部45では、1ブロック分の処理を終了したとき、制
限ビット数レジスタ44から与えられる当該ブロックの
制限ビット数データと最大ビット数データMBNとを比
較し、最大ビット数データMBNの方が大きい場合は、
圧縮後の波形データが当該ブロックに対応して設定した
制限ビット数を上回っているので、制御部41に対して
当該ブロックに関する圧縮及び縮小処理のやり直しを命
ずると共に、シフトデータレジスタ46に与えるシフト
データの値を前回よりも大きくする。こうして、シフト
データすなわち重み係数の値を最初は適当な所定値(一
定値もしくはブロック毎に任意に設定した値)として、
当該ブロックに対応して設定した制限ビット数との関係
から判断して、自動的にこのシフトデータすなわち重み
係数の値を切り換えて、当該ブロックに関する圧縮及び
縮小処理のやり直しを行い、最終的に、データ圧縮及び
縮小処理後のデータが、当該ブロックに対応して設定さ
れた制限ビット数に納まるように、シフトデータすなわ
ち重み係数を自動的に制御するようになっている。最終
的に確定した当該ブロックに関するシフトデータすなわ
ち重み係数は、ブロックバッファ書込制御部53を介し
てブロックバッファ55に一時記憶され、後に、波形サ
ンプルデータと共に波形メモリ15に書き込まれる。勿
論、このようなシフトデータすなわち重み係数の自動決
定法を採用せずに、ブロック毎にマニュアル設定等する
ようにしてもよい。
When the 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 bit number in the block. This is given to the shift data generating unit 45 as MBN. When the processing for one block is completed, the shift data generation unit 45 compares the limited bit number data of the block given from the limited bit number register 44 with the maximum bit number data MBN, and determines the maximum bit number data MBN. If is large,
Since the compressed waveform data exceeds the limited bit number set corresponding to the block, the control unit 41 is instructed to perform the compression and reduction processing on the block again, and the shift data to be supplied to the shift data register 46. The value of is made larger than the last time. In this manner, 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 limited number of bits set corresponding to the block, the shift data, that is, the value of the weighting coefficient is automatically switched, and the compression and reduction processing for the block is performed again. The shift data, that is, the weighting coefficient is automatically controlled so that the data after the data compression and reduction processing falls within the limited bit number set corresponding to the block. The finally determined shift data relating to the block, that is, the weighting coefficient, is temporarily stored in the block buffer 55 via the block buffer write control unit 53, and later written into the waveform memory 15 together with the waveform sample data. Of course, instead of employing such a method of automatically determining the shift data, that is, the weight coefficient, the shift data may be manually set 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)を有している理由は、波形メモリ1
5に或るブロックの波形データを書き込むときにその次
のブロックに関する圧縮係数及びシフトデータ(重み係
数)を隠れビットデータとして一緒に書き込むように制
御するためである。なお、このブロックバッファ55に
一時記憶する隣接する2つのブロックを便宜上ブロック
A,ブロックBと称する。
When the processing for one block is completed, the shift data generating section 45 compares the limited bit number data of the block given from the limited bit number register 44 with the maximum bit number data MBN, and M
If the BN is smaller, the waveform data after compression is within the limited number of bits set corresponding to the block. A count-up instruction signal is provided to the block counter 42 and the control unit 41. As a result, the block counter 42 is counted up by one, and instructs to perform the processing of 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 exemplified in FIG. The block buffer 55 includes waveform data buffers BW (A) and BW (B).
, And one block of waveform sample data can be temporarily stored in each of them, and a total of two blocks of waveform sample data can be temporarily stored. Which buffer BW (A), BW
Whether to write to (B) depends on whether the block count value is even /
It can be switched alternately according to oddities. Thus, the waveform data buffer BW for two blocks
(A) and BW (B) are obtained because the waveform memory 1
This is because when writing the waveform data of a certain block into block 5, the compression coefficient and the shift data (weighting coefficient) for the next block are controlled to be written together as hidden bit data. Note that 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 buffers BP (A), BP
(B) is for temporarily storing control data to be written mixedly with the waveform sample data as hidden bit data. The compression coefficient and shift data (weight coefficient) of the block A or B and the block A Alternatively, bit number data for each frame in B (bit number data FBN for each frame) is stored. The header buffer is
This is a buffer for temporarily storing head data to be stored in the header section of the waveform memory 15. The filter delay buffer temporarily stores the signal data held at the end of the compression processing for the previous block in the delay circuit for delaying the unit of the signal in the compression filter unit 48. As described above, this is to prepare for re-compression and compression of one block of data when the number of bits of the waveform sample data after compression and reduction does not fall within the limited number of bits. is there. That is, in order to enable such re-execution, the content of the signal data in the delay circuit unit in the compression filter unit 48 must be reproduced to the content immediately after the end of the compression processing for the previous block. For this purpose, the signal data held at the end of the compression process for the previous block in the delay circuit unit in the compression filter unit 48 is temporarily stored in the filter delay buffer, and it is required to start over in the compression process for the next block. Then, the data stored in the filter delay buffer is set in the delay circuit unit in the compression filter unit 48, and the initial state for performing the compression process on the block is reproduced.

【0043】図5に戻り、可変ビット長加工及び書込処
理部58は、ブロックバッフア55に記憶した1ブロッ
ク分の圧縮処理済データを読み出し、このデータビット
数を各フレーム区間毎の最大ビット数データFBNのビ
ットサイズに切り揃える「可変ビット長加工処理」を行
うと共に、次ブロックの圧縮係数及びシフトデータ(重
み係数)を波形サンプルデータの中に混在させて書き込
み、かつ次フレームの可変ビット数FBNを示すデータ
を波形サンプルデータの中に混在させて書き込む処理な
どを行うものである。その詳細例については追って説明
する。
Returning to FIG. 5, the variable bit length processing and writing processing unit 58 reads out the compressed data of one block stored in the block buffer 55, and determines the number of data bits as the maximum bit in each frame section. In addition to performing “variable bit length processing” for trimming to the bit size of the number data FBN, the compression coefficient and shift data (weight coefficient) of the next block are mixed and written in the waveform sample data, and the variable bit of the next frame is written. It performs processing of writing data indicating several FBNs in the waveform sample data in a mixed manner. A detailed example will be described 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 Unit (First Embodiment)-FIG. 7 conceptually shows a basic configuration example of the shift circuit unit 47 and the compression filter unit. 48A and 48B are cascade-connected in two stages.
In the first-stage filter 48A, the reduced waveform sample data output from the shift circuit unit 47 is transferred to the delay unit DA0.
And the multiplier M0 multiplies the output of the delay section DA0 by a coefficient a0. The output of the delay unit DA0 is input to the second delay unit DA1, and the output of the delay unit DA1 is multiplied by the coefficient a1 by the multiplier M1. In this way, the product obtained by multiplying the data one sample before and the data two samples before by the coefficient is added by the adder ADD, and the sum (convolution sum) is subtracted from the data at the current sample point by the subtractor SUB. The output of the subtractor SUB is input to the second-stage filter 48B. The second stage filter 48B is the first stage filter 48A.
And the coefficients b0 and b1 are different. Adopting the configuration in which the secondary filters 48A and 48B are connected in cascade in two stages has the advantage that the data compression process can be performed efficiently and the setting of the compression coefficient becomes easy. Further, a hardware circuit of a second-order filter for one stage may be prepared as the compression filter unit 48 and may be used in a time-division manner, so that the hardware configuration is simplified.

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

【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−R1・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, the Hamming buffer 5
An example of a procedure for generating a compression filter coefficient according to a linear prediction method using 0, a coefficient generation operation unit 51, and a 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 a Hamming window function. In this case, the Hamming window function also includes 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 obtains the autocorrelation function Ri for i = 0, 1, and 2 according to the following equation based on the waveform sample data Sn weighted by the Hamming window. Ri = ΣSnSn + i (where the cumulative range of Σ is n = 0
To 1023) Next, based on the autocorrelation function Ri obtained as described above,
The compression coefficients c0 and c1 are obtained according to the following equation. c0 = (R1, R0-R1, R2) / (R0, R0-R1, R1) c1 = (R2, R0-R1, R1) / (R0, R0-R1, R1) The first stage compression filter When the coefficients are obtained, c0 and c1 correspond to a0 and a1, and when the second stage compression filter coefficients are obtained, c0 and c1 correspond to b0 and b1.

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

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

【0049】1)可変ビット長 波形サンプルデータのビット数は、1フレーム内では共
通とし、各フレーム毎に可変とする。具体的には、当該
フレームにおける有効ビット数の最大値を検出したもの
である前記フレーム別ビット数データFBNに基づき、
当該フレーム内の各サンプルデータを下位ビットから該
FBNのビット数分だけ取り出す。これにより、有効ビ
ットが確保されるようにして、当該フレーム内の各サン
プルデータのビット数を減少させることができる。図1
2の例では、フレーム0における波形データのサイズつ
まりビット長は11ビットであり、フレーム1では10
ビット、フレーム2では12ビットである。
1) Variable Bit Length The number of bits of the 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 number of effective bits detected in the frame,
Each sample data in the frame is extracted from the lower bits by the number of bits of the FBN. As a result, the number of bits of each sample data in the frame can be reduced by securing valid bits. FIG.
In the example of 2, the size of the waveform data in frame 0, that is, the bit length is 11 bits, and in frame 1, it is 10 bits.
Bit, frame 2 has 12 bits.

【0050】2)隠れビット a)フレーム毎のビット数指示データ 上記のように各フレーム毎に可変ビット長に加工された
波形サンプルデータのビット数を指示するデータは、そ
の前のフレームの波形サンプルデータに混在させて隠れ
ビットデータとして書き込む。このビット数指示データ
は4ビットのデータであり、1ビットずつ分離されて、
前のフレームの最初の4サンプル分の波形データの最下
位ビットLSBの下位側にそれぞれ位置づけられる。図
12の例では、ビット数指示データに対応する隠れビッ
トデータの各ビットをHB0,HB1,HB2,HB3で示
している。各隠れビットの2進コードづけの重みは、H
B3が最上位、以下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 indicating data for each frame Data indicating 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. Write as hidden bit data mixed with data. The bit number indication data is 4-bit data, and is separated one bit at a time.
It is positioned on the lower side of the least significant bit LSB of the waveform data for the first four samples of the previous frame. In the example of FIG. 12, each bit of the hidden bit data corresponding to the bit number indication data is indicated by HB0, HB1, HB2, HB3. The binary coding weight of each hidden bit is H
B3 is the highest order, and hereafter HB2, HB1, HB0. In the example of FIG. 12, the contents of the hidden bits HB3 to HB0 of the frame 0 are “1010”, and the data length of the next frame 1 =
Indicates 10 bits. The contents of the hidden bits HB3 to HB0 of the frame 1 are "1100", which indicates that the data length of the next frame 2 is 12 bits. At the sample points having these hidden bits HB0 to HB3, the data length is substantially one bit larger than other sample points in the same frame. However, such hidden bits HB0 to HB3
, Ie, the size of the substantial waveform data is constant within the same frame. In addition,
As for the first frame 0 of the first block, since there is no frame preceding it, the bit number indication data is written in the header as described above. The reason why the bit number indicating data of the next frame is mixedly written in the waveform data of the previous frame and written is obvious so that the bit number indicating data can be read in advance in the reproducing process. That's why.

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

【0052】c)圧縮係数 各ブロックに関する4つの圧縮係数a0,a1,b0,b1
は、その前のブロックの波形サンプルデータに混在させ
て隠れビットデータとして書き込む。各圧縮係数は8ビ
ットのデータであり、1ビットずつ分離されて、係数b
1については前のブロックの最初のフレーム0の9番目
から16番目までの8サンプル分の波形データの最下位
ビットLSBの下位側にそれぞれ位置づけられ、係数b
0については前のブロックの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, b1 for each block
Is written as hidden bit data mixed with the waveform sample data of the previous block. Each compression coefficient is 8-bit data, and is separated by one bit to obtain a coefficient b
1 is positioned on the lower side of the least significant bit LSB of the waveform data for the ninth to sixteenth samples of the first frame 0 of the previous block, and the coefficient b
0 is located on the lower side of the least significant bit LSB of the waveform data for the ninth to sixteenth samples of the second frame 1 of the previous block, and the coefficient a1 is located on the third side of the previous block. 9 of frame 2
The lowermost bit LSB of the waveform data for the 8th to 16th samples is respectively positioned on the lower side, and the coefficient a0 for the ninth to 16th 8th samples from the fourth frame 3 of the previous block is stored. It is located on the lower side of the least significant bit LSB of the waveform data. In the example of FIG. 12, each bit of the 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つのデータが適宜分割され、複数のアドレス
にまたがって記憶されるようになっている。
FIG. 13 shows an example of a memory format when data of a variable bit length having a format as shown in FIG. 12 is actually packed in 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 to 16 bits per address, and each address is accessed by an address signal. Instead of storing data of one sample point per address, data of a variable bit length is appropriately packed and stored. For example, a hidden bit HB0 accompanying the waveform data of the sample point 0 is added to the least significant bit of the address A0.
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. Are stored in the lower 3 bits of the data. The remaining upper 8 bits of the waveform data at sample point 1 are stored in the lower 8 bits of address A1. As shown in the figure, the waveform data of each sample point and the data of the hidden bits are packed and stored. In FIG. 13, the numbers written in the address area indicate the sample point numbers of the waveform data stored therein, and the hatched portions indicate the areas where the hidden bits are stored. As described above, in order to efficiently pack data and store it in the waveform memory 15, one data is appropriately divided and stored over a plurality of addresses.

【0054】−−可変ビット長加工及び書込処理−− 図10及び図11によって、可変ビット長加工及び書込
処理の一例につき説明する。図10において、制御部6
8は可変ビット長加工及び書込処理部58の全体の動作
を制御するもので、この制御部68において図11のよ
うな処理プログラムを実行し、可変ビット長加工及び書
込処理を制御すると考えてよい。サンプル及びフレーム
カウンタ69は、ブロックバッファ55から読み出すべ
き波形データのサンプル番号SNをサンプルクロックS
CKに従ってインクリメントするもので、また、16サ
ンプル毎にフレーム番号FNもインクリメントする。サ
ンプル読出し部70は、サンプル及びフレームカウンタ
69によって指定されたサンプル番号SNに対応してブ
ロックバッファ55から波形データを読み出す制御をす
る。ブロックカウンタ42(図5)でカウントしたブロ
ック番号データの最下位ビットBNLSBがサンプル読
出し部70に与えられ、圧縮処理を終了したブロック番
号の偶/奇を知らせる。これにより、ブロックバッファ
55の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 described with reference to FIGS. In FIG. 10, the control unit 6
Numeral 8 controls the overall operation of the variable bit length processing and writing processing section 58. It is assumed that the control section 68 executes a processing program as shown in FIG. 11 to control the variable bit length processing and writing processing. May be. The sample and frame counter 69 determines the sample number SN of the waveform data to be read from the block buffer 55 by the sample clock S.
It increments according to CK, and also increments the frame number FN every 16 samples. The sample reading unit 70 controls to read the waveform data from the block buffer 55 corresponding to the sample number SN specified by the sample and frame counter 69. The least significant bit BNLSB of the block number data counted by the block counter 42 (FIG. 5) is given to the sample reading section 70 to notify the even / odd of the block number for which the compression processing has been completed. As a result, the two waveform data buffers BW (A) and BW of the block buffer 55
(B) It is specified from which of the waveform data is to be read out (FIG. 6). For example, even block numbers 0,
The waveform data of 2, 4,...
(A), and store the odd block numbers 1, 3, 5,
.. Are stored in the waveform data buffer BW (B). If the least significant bit BNLSB of the block number data is "0", the block of the even number has just finished the compression processing. Is stored in the waveform data buffer BW (A), and the preceding block is an odd block number, which is the waveform data buffer BW (B).
Will be stored. Therefore, the preceding block is an odd-numbered block stored in the waveform data buffer BW (B), and controls to read out the waveform data from this buffer BW (B). On the other hand, if the least significant bit BNLSB of the block number data is "1", the odd numbered block has just finished the compression processing, and the preceding block is the waveform data buffer BW (A).
Is controlled so that the waveform data is read from the buffer BW (A).

【0055】シフトデータ読出し部71は、ブロックバ
ッファ55内のパラメータバッファBP(A),BP
(B)からシフトデータ(重み係数)を読み出す制御を
する。ブロック番号データの最下位ビットBNLSBが
このシフトデータ読出し部71に与えられ、圧縮処理を
終了したブロック番号の偶/奇を知らせる。これによ
り、ブロックバッファ55の2つのパラメータバッファ
BP(A),BP(B)(図6)のうちどちらからシフ
トデータを読み出すべきかが指示される。例えば、前述
の例の場合、BNLSBが“0”であれば、先行するブ
ロック(奇数番号のブロック)として波形データバッフ
ァBW(B)のデータを読み出しこれを波形メモリ15
に書き込むので、その次のブロック(偶数番号のブロッ
ク)に関するパラメータデータはパラメータバッファB
P(A)に記憶されていることになるため、このシフト
データ読出し部71ではパラメータバッファBP(A)
から該次のブロックに関するシフトデータを読み出す。
反対に、BNLSBが“1”であれば、先行するブロッ
ク(偶数番号のブロック)として波形データバッファB
W(A)のデータを読み出しこれを波形メモリ15に書
き込むので、このシフトデータ読出し部71では次のブ
ロックに関するシフトデータをパラメータバッファBP
(B)から読み出す。
The shift data readout unit 71 includes parameter buffers BP (A), BP in the block buffer 55.
Control to read out the shift data (weight coefficient) from (B). The least significant bit BNLSB of the block number data is provided to the shift data reading unit 71 to notify the even / odd of the block number for which the compression processing has been completed. This indicates which of the two parameter buffers BP (A) and BP (B) (FIG. 6) of the block buffer 55 should read the shift data. For example, in the case of the above-described example, if BNLSB is “0”, the data in the waveform data buffer BW (B) is read out as the preceding block (odd-numbered block) and is read out from the waveform memory 15.
, The parameter data for the next block (even-numbered block) is stored in the parameter buffer B
Since the data is stored in P (A), the shift data readout unit 71 uses the parameter buffer BP (A)
And reads out the shift data for the next block from.
Conversely, if BNLSB is "1", the waveform data buffer B is regarded as a preceding block (an even-numbered block).
Since the data of W (A) is read and written into the waveform memory 15, the shift data reading unit 71 stores the shift data for the next block in the parameter buffer BP.
Read from (B).

【0056】圧縮係数読出し部72は、ブロックバッフ
ァ55内のパラメータバッファBP(A),BP(B)
から圧縮係数a0,a1,b0,b1を読み出す制御をす
る。前述と同様、ブロック番号データの最下位ビットB
NLSBがこの圧縮係数読出し部72に与えられ、その
ブロック番号の偶/奇に応じて、ブロックバッファ55
の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 section 72 is provided with parameter buffers BP (A) and BP (B) in the block buffer 55.
To control the reading of the compression coefficients a0, a1, b0, b1 from. As described above, the least significant bit B of the block number data
NLSB is supplied to the compression coefficient reading section 72, and the block buffer 55 is provided in accordance with the even / odd of the block number.
The compression coefficient for the next block is read from one of the two parameter buffers BP (A) and BP (B). The next frame bit number data reading section 73 outputs the frame-specific bit number data FB for the next frame according to the frame number FN from the sample and frame counter 69.
N is the parameter buffer B in the block buffer 55
Reading control is performed from one of P (A) and BP (B).
For example, the least significant bit BNLSB of the block number data
Is "0", the waveform data stored in the waveform data buffer BW (B) is read out as the preceding block and is written into 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は、サンプル及びフレームカウンタ6
9のサンプル番号SNに応じて、隠れビットデータを挿
入すべきサンプル点であるか及びどの種のデータを隠れ
ビットデータとして埋め込むべきかを判別し、指示する
ものである。図12を参照して説明したように、次フレ
ームのビット数データ、次ブロックのシフトデータ、及
び次ブロックの各圧縮係数は、所定のサンプル番号(1
ブロック内のサンプル番号)の波形データの下位に、隠
れビットデータとして、分散して埋め込むようになって
いるため、該所定のサンプル番号を判別して、適切な指
示を行うのである。
Current frame bit number data reading section 74
Sends the frame-by-frame bit number data FBN for the currently processed frame to the block buffer 55 in accordance with the frame number FN from the sample and frame counter 69.
Control from one of the parameter buffers BP (A) and BP (B). For example, if the least significant bit BNLSB of the block number data is "0", the preceding block is a B block, as described above, so that the number of bits per frame data for the frame currently being processed is stored in the parameter buffer BP (B). Read FBN. Here, the read bit number data is used for adjusting the bit number of the waveform data of the frame. The hidden bit instructing unit 75 includes the sample and frame counter 6.
In accordance with the sample number SN of No. 9, it is determined whether or not the sample point is where the hidden bit data is to be inserted, and what kind of data is to be embedded as the hidden bit data, and instructed. As described 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 stored in a predetermined sample number (1
Since the data is dispersedly embedded as hidden bit data below the waveform data of the sample number in the block), the predetermined sample number is determined and an appropriate instruction is issued.

【0058】隠れビット付与部76は、隠れビット指示
部75からの指示に応じて、隠れビットデータを付加す
べきサンプル番号において、サンプル読出し部70から
読み出された波形サンプルデータの下位に所定の隠れビ
ットデータの1ビットを追加するものである。シフトデ
ータ読出し部71,圧縮係数読出し部72及び次フレー
ムビット数データ読出し部73から、それぞれ隠れビッ
トデータとして埋め込むべきデータ(4ビットのシフト
データ、8ビットの各圧縮係数a0〜b1,4ビットの次
フレームビット数データ)が隠れビット付与部76に与
えられる。隠れビット付与部76では、図12を参照し
て説明したように、所定のサンプル番号に対応して、そ
のうち所定の1ビットを選択して、それを当該サンプル
番号の波形サンプルデータの下位に隠れビットデータと
して付加する。加算部77は、隠れビット指示部75か
らの指示に応じて、隠れビットデータを付加すべきサン
プル番号において、現フレームビット数データ読出し部
74からから読み出した現フレームのビット数データに
1を加算する。これにより、隠れビットデータを付加す
るサンプル点では、現フレームビット数データの値を、
1ビットの付加に対応して1増加してやる。
In response to an instruction from hidden bit designating section 75, hidden bit assigning section 76 has a predetermined number below the waveform sample data read from sample reading section 70 at the sample number to which hidden bit data is to be added. One bit of the hidden bit data is added. From the shift data reading unit 71, the compression coefficient reading unit 72, and the next frame bit number data reading unit 73, data to be embedded as hidden bit data (4-bit shift data, 8-bit compression coefficients a0 to b1, and 4-bit The next frame bit number data) is provided to the hidden bit providing unit 76. As described with reference to FIG. 12, the hidden bit assigning unit 76 selects one predetermined bit among the predetermined sample numbers and hides it at the lower level of the waveform sample data of the sample number. Add as bit data. The adding unit 77 adds 1 to the bit number data of the current frame read from the current frame bit number data reading unit 74 at the sample number to which the hidden bit data is added according to the instruction from the hidden bit instruction unit 75. I do. Thereby, at the sample point to which the hidden bit data is added, the value of the current frame bit number data is
It is incremented by one in response to the addition of one 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 assigning section 76 is input to the upper bit input MSBIN of the data synthesizing section 78.
Given to. Lower bit input LS of data combining section 78
The output of the selector 79 is given to BIN. The data synthesizing unit 78 controls the synthesizing position so that the waveform data given to the input MSBIN is positioned above the bit position indicated by the bit position indicating data BPP output from the bit position indicating 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 synthesizing unit 78 is delayed by one sample clock in the buffer register 81. Then, of the 32-bit output of the buffer register 81, the upper 16 bits MSB16 are applied to the “1” input of the selector 79, the lower 16 bits LSB16 are applied to the “0” input of the selector 79, and the waveform memory writing unit 82
Given to.

【0060】ビット位置指示カウンタ80は、加算部7
7から出力される現フレームのビット数データをサンプ
ルクロックSCKに応じて加算するモジュロ16のカウ
ンタであり、そのカウント値に応じてビット位置指示デ
ータBPPを出力する。また、カウント値がオーバーフ
ローしたとき(16を超えたとき)、オーバーフロー信
号OVFを出力する。オーバーフロー信号OVFは、セ
レクタ79の選択制御入力に加わり、オーバーフローが
生じていない場合は、バッファレジスタ81の下位16
ビット出力LSB16をセレクタ79の「0」入力を介
して選択し、データ合成部78の下位ビット入力LSB
INに入力する。他方、オーバーフローが生じた場合
は、バッファレジスタ81の上位16ビット出力MSB
16をセレクタ79の「1」入力を介して選択し、デー
タ合成部78の下位ビット入力LSBINに入力する。
また、オーバーフロー信号OVFは、波形メモリ書込み
部82に与えられ、オーバーフローが生じたときにバッ
ファレジスタ81の下位16ビット出力LSB16を波
形メモリ15に書き込むよう指示する。波形メモリ15
の書込みアドレスは書込みアドレスカウンタ83によっ
て指示される。この書込みアドレスカウンタ83は、最
初に書込みスタートアドレスがセットされ、以後、オー
バーフロー信号OVFに応じてインクリメントされる。
The bit position indication counter 80
7 is a modulo 16 counter that adds the bit number data of the current frame output from 7 according to the sample clock SCK, and outputs bit position indication data BPP according to the count value. When the count value overflows (when it 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 occurs, the lower 16 bits of the buffer register 81
The bit output LSB 16 is selected via the “0” input of the selector 79, and the lower bit input LSB of the data
Input to IN. On the other hand, when an overflow occurs, the upper 16 bits output MSB of the buffer register 81 are output.
16 is selected via the “1” input of the selector 79 and input to the lower bit input LSBIN of the data synthesizing unit 78.
The overflow signal OVF is supplied to the waveform memory writing unit 82, and instructs the waveform memory 15 to write the lower 16-bit output LSB16 of the buffer register 81 when an overflow occurs. Waveform memory 15
Is designated by a write address counter 83. In the write address counter 83, a write start address is set first, and thereafter, is incremented according to an 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ビットのうちのいずれかのビット位置
を指示し、この指示ビット位置に上位ビット入力MSB
INに入力されたデータの最下位ビットが来るように、
該データを導く。サンプル番号0のデータがデータ合成
部78の上位ビット入力MSBINに入力されたとき、
ビット位置指示カウンタ80の値が0であり、ビット位
置指示データBPPが0を指示しているとして、データ
合成状態の一例を図14に示す。このとき、データ合成
部78の上位ビット入力MSBINに入力されたサンプ
ル番号0のデータは、図14の(a)に示すように、デ
ータ合成部78の最下位ビット寄りに詰め込まれる。
The data synthesizing section 78 guides the data input to the upper bit input MSBIN to any one of the 32-bit output bit position ranges in accordance with the instruction of the bit position instruction data BPP, and outputs it. The 16-bit data input to the lower bit input LSBIN is directly output to the lower 16-bit range of the 32-bit output, and is output at the bit position where the data input to the upper bit input MSBIN is output. The data input to the upper bit input MSBIN is output with priority. This is because the higher-order bit “0” of the 16-bit data input to the lower-bit input LSBIN is packed with the data input to the upper-bit input MSBIN. The output data appears as it is on the output side. The bit position indication data BPP takes 16 values from 0 to 15, and indicates the bit position of any of the lower 16 bits of the 32-bit output of the data synthesizing unit 78 using this value. MSB of upper bit input
So that the least significant bit of the data input to IN comes
Deriving the data. When the data of sample number 0 is input to the upper bit input MSBIN of the data synthesizing unit 78,
Assuming that the value of the bit position indication counter 80 is 0 and the bit position indication data BPP indicates 0, an example of a data synthesis state is shown in FIG. At this time, the data of the sample number 0 input to the upper bit input MSBIN of the data synthesizing unit 78 is packed near the least significant bit of the data synthesizing unit 78 as shown in FIG.

【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 LSB 16 of the data synthesizing section 78 is supplied to the lower bit input LSBIN of the data synthesizing section 78 via the register 81 and the “0” input of the selector 79. At this time, the bit position indication counter 80 has counted the number of bits x of the data of the sample number 0, and the bit position indication data BPP indicates x. At this time, the data of the next sample number 1 is input to the upper bit input MSBIN of the data synthesizing unit 78, and
According to the instruction of BPP = x, as shown in FIG. 14B, the data is packed into the bit position range immediately above the data of sample number 0. When the data shown in FIG. 14B is output from the register 81, the bit number x of the data of the sample number 1 is further added in the bit position indication counter 80, and the count value becomes 2x. This value 2x is
It is assumed that the value causes an overflow. Then, due to this overflow, the lower 16-bit data LSB16 of the register 81 is written to the waveform memory 15. That is, the data of sample number 0 and a part of the data of sample number 1 are exactly packed into 1 address = 16 bits and written.

【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 this time, the selector 79 sets the register 81
Of the upper 16-bit data MSB16 of the data synthesizer 78 via the "1" input, and the lower bit input LSBI of the data synthesizer 78 is selected.
Enter N. That is, the rest of the data of the sample number 1 is input to the lower bit input LSBIN of the data synthesizing unit 78. At this time, the data of the next sample number 2 is input to the upper bit input MSBIN of the data synthesizer 78. The value of the bit position indication counter 80 is B
A PP = 2x-16, in response to an instruction of this, as shown in (c) of FIG. 14, the data of Sample No. 2 is packed immediately bit position range of the upper of the remaining data of the sample number 1. In this way, only the data of the number of valid bits specified by the bit number data (or the value obtained by adding 1 to the value when the hidden bit data is involved) is extracted,
The data is packed into the waveform memory 15 without waste.

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

【0065】なお、当該波形に関する全ブロックの書込
み処理を終了したとき、波形メモリ15の書込みアドレ
スカウンタ83は、終了アドレスを示している。図3の
前記ステップ39では、このときの終了アドレスデータ
をヘッダ部に記憶するか、若しくはこの終了アドレスと
書込みスタートアドレスとの差から記憶アドレス範囲を
示すサイズデータを求め、これをヘッダ部に記憶する。
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 portion, or size data indicating the storage address range is obtained from the difference between the end address and the write start address, and this is stored in the header portion. I 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 the process of reproducing and generating the 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 a reproduction process, and one embodiment thereof is shown in FIG. In FIG. 2, the microcomputer scans the keyboard section 22 and the operation section 20, detects key depression and key release, detects a selection state such as a tone color, and sets a plurality of key depression information (for example, 8).
Assigned to any one of the tone generation channels of. 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. Number data TN indicating touch and touch data TD indicating key touch.
Is output. The output of the microcomputer is taken into the sound source unit 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 a predetermined channel time-sharing timing, and outputs the tone number data TN and the touch data TD of the selected tone. I do. The sound source unit 23 performs various processes in 8-channel time division based on the data supplied from the interface 90, and generates time-division musical tone waveform signals for 8 channels.

【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 generating circuit 91 generates an F number which is a constant corresponding to a pitch frequency of a musical tone to be generated, in accordance with a key code KC given from the interface 90, and comprises, for example, a ROM or a table. . This F number is repeatedly accumulated by the accumulator 92, and a carry signal from an appropriate digit is output as a note clock pulse NCL. The note clock pulse NCL corresponds to the pitch frequency of the musical tone to be generated, and instructs the sampling point increment for each pulse. The note clock pulse NCL, that is, the sample point increment, is a data read command for the waveform memory 15 for one sample point per pulse. The clock and timing signal generation circuit 93 generates a system clock pulse and various other timing signals, supplies them to each circuit, and forms and outputs a key-on pulse and a key-off pulse based on a key-on signal KON provided from the interface 90. . The system clock pulse is a two-phase clock, and one cycle corresponds to the time slot width of one channel. The first key-on pulse KONP1 is a pulse that becomes "1" only once 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. The second key-on pulse KONP2 is such that the key-on pulse KONP1 is "1".
Is a pulse which becomes "1" only once in the time slot of the corresponding channel in the next time division channel cycle. The key-off pulse KOFP is the key-on signal KON
Falls from "1" to "0", that is, at the time of key release, "1" only once in the time slot of the corresponding channel.
It is a pulse that becomes These pulses are given to each circuit in order to control processing synchronized with key-on and key-off.

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

【0069】エンベロープ発生器95は、キーオンパル
スKONP1,KONP2とキーオフパルスKOFP及
びエンベロープ設定データEVDに基づき、各チャンネ
ル毎に時分割的にエンベロープ波形データEDを作成
し、出力する。データ取り出し再生部96は、累算器9
2から与えられるノートクロックパルスNCLに応じ
て、波形メモリ15から読み出すべきデータのサンプル
点番号を特定するサンプル点インクリメントを行ない、
このサンプル点番号と該読み出すべきデータのデータ長
とから該読み出すべきデータが記憶されているアドレス
を特定し、アドレス信号CAを生成する。このアドレス
信号CAは、1音色に対応する波形データを記憶した領
域内の相対アドレスであるので、これに対して絶対アド
レスであるスタートアドレスデータSAを加算すること
により、生成したアドレス信号を絶対アドレス信号に変
換し、これを波形メモリ15にアドレス入力する。波形
メモリ15は、入力されたアドレス信号に応じて、1つ
の記憶アドレスから16ビット構成の記憶データを読み
出す。
The envelope generator 95 generates 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 / reproduction unit 96 includes the accumulator 9
In response to the note clock pulse NCL given from step 2, the sample point increment for specifying the sample point number of the data to be read from the waveform memory 15 is performed.
Based on the sample point number and the data length of the data to be read, an address at which the data to be read is stored is specified, and an address signal CA is generated. Since this address signal CA is a relative address in the area where the waveform data corresponding to one tone color is stored, the generated address signal is added to the start address data SA, which is an absolute address, to add the generated address signal to the absolute address. The signal is converted into a signal, and this is input to the waveform memory 15 as an address. The waveform memory 15 reads out 16-bit storage data from one storage address in accordance with the input address signal.

【0070】また、データ取り出し再生部96は、波形
メモリ15から読み出された16ビット構成のデータR
Dを入力し、可変ビット長からなる必要な1サンプル点
分のデータをそこから取り出す。また、必要な1サンプ
ル点分のデータが複数アドレスにまたがって記憶されて
いる場合は、その複数アドレスから読み出されたデータ
の中から必要なデータをつなぎ合わせてそれを取り出
す。更に、データ取り出し再生部96は、波形メモリ1
5から読み出された16ビット構成のデータの中から
「隠れビット」のデータを抜き出し、これらをつなぎ合
わせて各隠れビットデータHB0〜HB3,HS0〜HS
3,HC0〜HC7の一揃いを提供し、「隠れ情報」とし
て波形メモリ15に記憶されていた各フレーム毎のビッ
ト数指示データ、各ブロック毎のシフトデータ、各ブロ
ック毎の圧縮係数データを取り出す。隠れビットから取
り出したビット数指示データを利用して、波形メモリ1
5から読み出された16ビット構成のデータの中から、
可変ビット長からなる1サンプル点分のデータを、取り
出す処理を行なう。なお、最初のフレームでは、パラメ
ータデータ発生回路94からのイニシャルデータ長デー
タILENGを利用して、上記1サンプル点分の可変長
データの取り出しを行なう。
The data fetching / reproducing section 96 stores the 16-bit data R read from the waveform memory 15.
D is input, and data of one required sample point having a variable bit length is extracted therefrom. If data for one necessary sample point is stored over a plurality of addresses, necessary data is connected and taken out from data read from the plurality of addresses. Further, the data extracting / reproducing unit 96 includes the waveform memory 1
5, "hidden bit" data is extracted from the 16-bit data read out, and these are connected to form hidden bit data HB0 to HB3 and HS0 to HS.
3. Provide a complete set of HC0 to HC7, and extract bit number indication 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 indication data extracted from the hidden bits, the waveform memory 1
From the 16-bit data read out from No. 5,
A process of extracting data of one sample point having a variable bit length is performed. In the first frame, the variable length data for one sample point is extracted by using the initial data length data ILENG from the parameter data generation circuit 94.

【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 extracting / reproducing section 96 is input to a compressed data demodulation circuit 97, and the ordinary PCM-encoded waveform data W
Demodulate to D. In this case, the compression demodulation of the waveform data in the corresponding block section is performed using the compression coefficients a0, a1, b0, and b1 extracted from the hidden bits. In the first block section, a demodulation operation 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 the shift circuit 98 and is restored to the weight common to all blocks. In this case, a process of restoring the weight of the waveform data of the corresponding block section using the shift data SFD extracted from the hidden bits is performed. In the first block section, shift data SFD is generated using the initial shift data ISF from the parameter data generation circuit 94, and a weight restoration operation is performed. The data shift direction by the shift circuit 98 is just opposite to the shift direction by the 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 the multiplier 99, and the volume amplitude level is controlled according to the envelope waveform. The reproduction and control of the waveform data up to the multiplier 99 is performed in a time-division manner for each channel. And sum the tone waveform data of all channels. This output is the digital / analog converter 2
4 (FIG. 2) and is acoustically pronounced via the sound system 25.

【0073】−−データ取り出し再生部の説明−− 図16はデータ取り出し再生部96の内部構成例を示す
ブロック図であり、1サンプル点ごとのデータ読出しを
命令するノートクロックパルスNCLは、サンプルカウ
ンタ101、データ長カウンタ102、アドレスカウン
タ103、データ位置再生回路104、隠れビット再生
回路105、データレジスタ106にそれぞれ入力され
る。サンプルカウンタ101は、ノートクロックパルス
NCLをカウントし、再生すべきサンプル点の番号を1
ブロック内の相対番号にて指示するサンプルナンバSN
を出力する。この詳細例は図17に示されており、サン
プルカウンタ101は、加算器107と、加算器107
の加算結果を各チャンネル毎に時分割タイミングに同期
して動的に記憶する8ステージ/4ビットのシフトレジ
スタ108と、シフトレジスタ108の出力をゲートす
るゲート109とを具えている。ゲート109の出力が
加算器107に入力され、加算器107の他の入力に加
わるノートクロックパルスNCLと加算される。ゲート
109の出力がサンプルナンバSNとして出力される。
この10ビットのサンプルナンバSNは、1ブロック内
の相対的サンプル番号0〜1023を特定する。また、
ゲート109は、第2のキーオンパルスKONP2によ
って閉じられるが、それ以外のときは開かれている。な
お、シフトレジスタ108のブロック中の表示「8D」
は、8ステージであることを示しており、前述の2相の
システムクロックパルスによってチャンネル時分割タイ
ミングに同期してシフト制御される。「8D」と記され
た他のシフトレジスタについても同様である。
--- Description of Data Extraction / Reproduction Unit-- FIG. 16 is a block diagram showing an example of the internal configuration of the data extraction / reproduction unit 96. A note clock pulse NCL for instructing data reading for each sample point is provided by a sample counter. 101, a data length counter 102, an address counter 103, a data position reproducing circuit 104, a hidden bit reproducing circuit 105, and a data register 106. The sample counter 101 counts the note clock pulse NCL, and sets the number of the sample point to be reproduced to 1
Sample number SN indicated by relative number in block
Is output. FIG. 17 shows a detailed example of this. The sample counter 101 includes an adder 107 and an adder 107.
And an 8-stage / 4-bit shift register 108 for dynamically storing the addition result of each channel in synchronization with the time-division timing, and a gate 109 for gating the output of the shift register 108. The output of the gate 109 is input to the adder 107, and is added to the note clock pulse NCL applied to another input of the adder 107. The output of the gate 109 is output as the sample number SN.
The 10-bit sample number SN specifies relative sample numbers 0 to 1023 in one block. Also,
The gate 109 is closed by the second key-on pulse KONP2, but is open otherwise. The display “8D” in the block of the shift register 108
Indicates that there are eight stages, and the shift control is performed by the two-phase system clock pulse in synchronization with the channel time division timing. 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ビットS0,S1,
S2,S3が1フレーム内の16サンプル点を識別するも
のであり、そのうち上位2ビットS2,S3がノアゲート
111に入力される。1フレーム内の最初の4つのサン
プル点においては、サンプルナンバSNの上記2ビット
S2,S3はいずれも“0”であり、ノアゲート111の
出力は“1”であるが、それ以外のときはノアゲート1
11の出力は“0”である。このノアゲート111の出
力がビット数データの隠れビット制御信号HBC1とし
て他の回路に与えられ、この信号HBC1が“1”のと
きビット数データに対応する隠れビットHB0〜HB3が
割当てられているサンプル点であることを示す。サンプ
ルナンバSNの下位4ビットS0,S1,S2,S3がアン
ドゲート112に入力され、フレームの最後のサンプル
点ではこれらのビットS0〜S3がすべて“1”であり、
アンドゲート112の出力が“1”となり、これがフレ
ーム変化信号HBC2として他の回路に与えられる。
With this configuration, the sample counter 101
Is cleared once at the beginning of key press by the second key-on pulse KONP2, and thereafter, the note clock pulse NCL
Is generated, and a sample number SN indicating the number of the sample point to be reproduced is designated by relative numbers 0 to 1023 in 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 outputs 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, in order to recognize the first four sample numbers in 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,
A NOR gate 111 is provided. Of the 10-bit sample number SN, the least significant 4 bits S0, S1,.
S2 and S3 identify 16 sample points in one frame, and the upper two bits S2 and S3 are input to the NOR gate 111. At the first four sample points in one frame, the two bits S2 and S3 of the sample number SN are both "0" and the output of the NOR gate 111 is "1". 1
The output of 11 is "0". The output of the NOR gate 111 is supplied to another circuit as a hidden bit control signal HBC1 of the bit number data. It is shown that. The lower 4 bits S0, S1, S2, S3 of the sample number SN are input to the AND gate 112, and at the last sample point of the frame, these bits S0 to S3 are all "1".
The output of the AND gate 112 becomes "1", and this is given to another circuit 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,S8,S9
はオール“0”であり、ノアゲート113の出力が
“1”となる。このノアゲート113の出力信号と、サ
ンプルナンバSNの3ビット目S2と、サンプルナンバ
SNの4ビット目から6ビット目までのビットS3,S
4,S5をそれぞれ反転した信号とがアンドゲート114
に入力される。ノアゲート113の出力が“1”で、ビ
ットS2が“1”、かつビットS3,S4,S5がオール
“0”となるのは、ブロックの最初のフレーム0の5番
目から8番目までの4つのサンプル番号4,5,6,7
のときである。そのときアンドゲート114の出力が
“1”となり、これがシフトデータ隠れビット制御信号
HSCとして他の回路に与えられる。
In order to recognize four sample numbers from the fifth to the eighth in the first frame of each block to which hidden bit data HS0 to HS3 corresponding to the shift data of each block of 4 bits are allocated. In addition, a NOR gate 113 and an AND gate 114 are provided.
Top 4 of sample number SN consisting of 10 bits
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 four bits S6, S7, S8, S9
Are all “0”, and the output of the NOR gate 113 is “1”. The output signal of the NOR gate 113, the third bit S2 of the sample number SN, and the bits S3, S from the fourth bit to the sixth bit of the sample number SN
The signal obtained by inverting S4 and S5 is the AND gate 114
Is input to The output of the NOR gate 113 is "1", the bit S2 is "1", and the bits S3, S4 and S5 are all "0" because of the four frames from the fifth frame to the eighth frame of the first frame 0 of the block. Sample numbers 4, 5, 6, 7
It is time. At that time, the output of the AND gate 114 becomes "1", which is supplied to another circuit 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〜11
8が設けられている。前述のように、1ブロック内の最
初の4個のフレーム(フレーム0〜3)の間、ノアゲー
ト113の出力が“1”となる。このノアゲート113
の出力信号と、サンプルナンバSNの4ビット目S3
と、サンプルナンバSNの5ビット目及び6ビット目の
ビットS4,S5をそれぞれ反転した信号とがアンドゲー
ト115に入力される。ノアゲート113の出力が
“1”で、ビットS3が“1”、かつビットS4,S5が
“0”となるのは、ブロックの最初のフレームの9番目
から16番目までの8つのサンプル番号8〜15のとき
である。そのときアンドゲート115の出力が“1”と
なり、これが圧縮係数b1用の隠れビット制御信号HC
b1として他の回路に与えられる。図12に示すように
これらのサンプル番号8〜15には圧縮係数b1の隠れ
ビットデータHC0〜HC7が割り当てられている。
The first four frames (frames) of each block to which the hidden bit data HC0 to HC7 corresponding to the four compression coefficient data a0, a1, b0, and b1 for each block of 8 bits are assigned. In order to recognize eight sample numbers from ninth to sixteenth in 0-3), NOR gate 113 and AND gates 115-11
8 are provided. As described above, the output of the NOR gate 113 is “1” during the first four frames (frames 0 to 3) in one block. This NOR gate 113
And the fourth bit S3 of the sample number SN
The signal obtained by inverting the fifth and sixth bits S4 and S5 of the sample number SN is input to the AND gate 115. The output of the NOR gate 113 is "1", the bit S3 is "1", and the bits S4 and S5 are "0" because of the eight sample numbers 8 to 16 of the first frame of the block. It is at the time of 15. At that time, the output of the AND gate 115 becomes "1", which is the hidden bit control signal HC for the compression coefficient b1.
It is given to other circuits as b1. As shown in FIG. 12, these sample numbers 8 to 15 are assigned hidden bit data HC0 to HC7 of the compression coefficient b1.

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

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

【0079】図16に戻り、データ長カウンタ102
は、データレジスタ106から出力されるデータ長指示
データLENGを入力し、これをノートクロックパルス
NCLのタイミング毎に累算するモジュロ16のカウン
タである。このモジュロ数16は、波形メモリ15にお
ける1アドレスのビット数16に対応している。従っ
て、データ長カウンタ102のカウント値は、メモリア
ドレスにおける可変長データの境目を指示している。こ
の詳細例は図18に示されており、データ長カウンタ1
02は、加算器120と、加算器120の加算結果を
「1」入力に入力したセレクタ121と、セレクタ12
1の出力を入力して各チャンネル毎に時分割タイミング
に同期して動的に記憶する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
Is a modulo 16 counter that inputs data length instruction data LENG output from the data register 106 and accumulates the data at each timing of the note clock pulse NCL. This modulo number 16 corresponds to the bit number 16 of one address in the waveform memory 15. Therefore, the count value of the data length counter 102 indicates a boundary of the variable length data in the memory address. A detailed example of this is shown in FIG.
02 denotes an adder 120, a selector 121 that inputs the addition result of the adder 120 to a “1” input, and a selector 12
An 8-stage / 4-bit shift register 122 for inputting the output of 1 and dynamically storing the data for each channel in synchronization with the time division timing, and a gate 123 for gating the output of the shift register 122 are provided. The output of the gate 123 is input to the adder 120, and is added to the data length indication data LENG added to the other inputs of the adder 120.
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 open otherwise. The selector 121 selects the addition result of the adder 120 added to the “1” input when the note clock pulse NCL is generated (when “1”), and inputs the “0” when it is not generated (when “0”). Select and hold the count value added to.

【0080】この構成により、データ長カウンタ102
は、第2のキーオンパルスKONP2によって押鍵当初
に一旦クリアされ、以後、ノートクロックパルスNCL
が生じる毎にデータ長指示データLENGを累算する。
なお、データ長指示データLENGは波形データ部分の
正味のデータ長すなわちビット数を指示し、隠れビット
HB0〜HC7を含むデータ長を指示していない。そこ
で、隠れビットHB0〜HC7を含むサンプル点で実際の
データ長が加算されるようにするために、前述の隠れビ
ット制御信号HBC1,HSC,HCb1,HCb0,H
Ca1,HCa0,をオア合成した信号HCを加算器12
0のキャリィイン入力Cinに入力し、隠れビット分と
して1加算するようになっている。データ長カウンタ1
02のカウント出力はゲート123から出力され、これ
がプル・アウト・ポインタ(取り出しポインタ)POP
として他の回路に与えられる。このプル・アウト・ポイ
ンタPOPは、取り出すべき1サンプル点のデータの最
下位のビットが位置している記憶アドレス中のビット位
置を指示している。
With this configuration, the data length counter 102
Is cleared once at the beginning of key press by the second key-on pulse KONP2, and thereafter, the note clock pulse NCL
The data length indication data LENG is accumulated each time.
The data length indication 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 the hidden bits HB0 to HC7. In order to add the actual data length at the sample points including the hidden bits HB0 to HC7, the above-mentioned hidden bit control signals HBC1, HSC, HCb1, HCb0, H
The signal HC obtained by OR-combining Ca1, HCa0 is added to the adder 12
A carry-in input Cin of 0 is input, and 1 is added as a hidden bit. Data length counter 1
02 is output from the gate 123, and this is the pull-out pointer (fetch pointer) POP.
As given to other circuits. 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 taken out 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 FIG. 13, the pull-out pointer POP at the first sample point 0 indicates "0", that is, the least significant bit 0 of the storage address by clearing with 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
Is added by the adder 120, and POP = 12, indicating 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 by the adder 120, and the addition result becomes 8,
Indicates bit 8 of the storage address. As described above, the 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 taken out is located.

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

【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に入力され、その出力によりゲート1
27が制御される。
FIG. 18 shows a detailed example of this. The address counter 103 includes an 8-stage / 1-bit shift register 124 for delaying the note clock pulse NCL.
AND gate 1 receiving the output of shift register 124 and address increment pulse ADINC
25, an adder 126 to which the output of the AND gate 125 is input to one side, a gate 127 for gating the addition result of the adder 126, And an 8-stage / 22-bit shift register 128 for dynamically storing data. The output of the shift register 128 is the adder 12
6 and is added to the output of the AND gate 125. Further, key-on pulses KONP1 and KONP2 are input to the NOR gate 1294, and the output thereof outputs the gate 1 pulse.
27 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 a carry-out output is generated from the adder 120 is as follows.
Since the delay of the shift register 122 delays the timing of the note clock pulse NCL by eight system clocks, the shift register 124 delays the note clock pulse NCL by eight system clocks to match this. Therefore, at the timing of the note clock pulse NCL, the data length instruction data LEN
As a result of adding G, the address increment pulse AD
When INC occurs, the output of the AND gate 125 becomes "1".
And the address counter 103 counts up one address. In the address counter 103, the gate 12
7 is output as an 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 of FIG. 13, the address signal CA initially indicates "0", that is, the storage address A0 by clearing with the key-on pulses KONP1 and KONP2. Is read. Next, note clock pulse NCL
Comes, 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
And after 8 system clocks, POP = 12 is output. At this time, the adder 120 further adds 12 and the carry-out output Cout becomes "1", and the note clock pulse NCL delayed by 8 system clocks with "1" of the address increment pulse ADINC.
Are added to the AND gate 125, and the address counter 1
03 is counted up. Therefore, the address signal C
A indicates "1", that is, the storage address A1, and the 16-bit data stored at this address A1 is read. 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, the sample number 1 stored over the two addresses A0 and A1
, The pull-out pointer POP indicates the bit 12 in the address A0 where the least significant bit of the data is located, and the output address signal CA of the address counter 103 specifies the next address A1. That is, the address signal CA precedes the pull-out pointer POP by one address. this is,
As will be described later, the data position reproducing circuit 104 stores the data of the previous address read from the waveform memory 15 in order to reproduce the data of one sample point stored over the two addresses. This is because the pull-out pointer POP is temporarily held and indicates the least significant bit of data to be taken out for the read data of the previous address thus temporarily held.

【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 receives 16-bit data RD read from the waveform memory 15 and (a) prepares one sample point of data stored over two addresses. And (b) aligning the bit position of the data in accordance with the least significant bit of the variable bit length data, so that the variable bit length can be selected from the 16-bit data. And performs a pre-processing for extracting only a necessary portion of the data for one sample point. This detailed example is shown in FIG. 19, and the data position reproduction circuit 104 includes a shifter 130 having a 32-bit parallel input / 16-bit parallel output. The 16-bit data RD read from the waveform memory 15 is directly input to the upper 16 bits of the shifter 130. The read data RD is applied 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, and the shift register 1
The output of 32 is added to the “1” input of the selector 131 and is applied to the lower 16 bits of the shifter 130. Note clock pulse NCL and key-on pulse KONP1
Is added to the NOR gate 133. When the output signal of the NOR gate 133 is "0", the "0" input of the selector 131 is selected, and when the output signal is "1", the "1" input is selected.

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

【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 of the shifter 130, the upper 16 bits are data RD currently read from the waveform memory 15, and the lower 16 bits input from the shift register 132 are read from the immediately preceding address. Data. Therefore, the read data of two addresses is arranged in the shifter 130. When the data of one sample point is stored over two addresses, the sum of the two addresses arranged in the shifter 130 is calculated. The necessary data of one sample point can be extracted from the 32-bit parallel data. Further, since the pull-out pointer POP indicates the least significant bit of the variable bit length data, the input bit position of the data to be extracted as the least significant bit of the 16-bit parallel output data is determined by the pull-out pointer POP. , It is possible to perform a process of aligning the bit position of the data in accordance with the least significant bit of the variable bit length data.
It is possible to perform preprocessing for extracting only a necessary portion of data of one sample point having a variable bit length from 16-bit data.

【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ビット出力の最下位ビットに合
わせてそっくり取り出される。これを模式的に示すと図
20の(a)のようである。
FIG. 13 shows an example. When the first key-on pulse KONP1 is generated, the address counter 103 shown in FIG. 18 is cleared, the address signal CA becomes "0", and data is read from the address A0. At this time, the selector 131 outputs the read data RD from the address A0 by the output “0” of the NOR gate 133.
Is selected and loaded into the shift register 132. In the next cycle, the selector 131 selects the output of the shift register 132 based on the output “1” of the NOR gate 133, and stores and holds the read data RD from the address A0. At this time, the pull-out pointer POP is “0”,
The lower 16 bits of the input of the shifter 130, that is, the read data from the address A0 held in the shift register 132 are selected and output as they are. This completely includes the data at the sampling point 0 in the lower 12 bits. That is, the least significant bit of the data at the sampling point 0 to be extracted first is completely extracted in accordance with the least significant bit of the 16-bit output. This is schematically shown in FIG. 20 (a).

【0091】次に、ノートクロックパルスNCLが生ず
ると、前述のように、その8システムクロック後にプル
・アウト・ポインタPOPは「12」となり、アドレス
信号CAはアドレスA1に切り換わる(図18参照)。
しかし、ノアゲート133に入力されるノートクロック
パルスNCLは遅延されていないため、このノートクロ
ックパルスNCLによりノアゲート133の出力が
“0”になるときは、まだアドレス信号CAは変わって
いず、アドレスA0からの読出しデータRDがセレクタ
131で選択されてシフトレジスタ132に記憶され
る。従って、その8システムクロック後に、波形メモリ
15の読出しアドレスがA1に変わり、シフタ130の
上位16ビットにA1の読出しデータRDが入力される
とき、シフタ130の下位16ビットにはその前のアド
レスA0の読出しデータがシフトレジスタ132から与
えられる。こうして、2つの相前後するアドレスの読み
出しデータがシフタ130の入力にに並べられる。この
とき、プル・アウト・ポインタPOPは「12」であ
り、先行するアドレスA0におけるサンプル点1のデー
タの最下位ビットの位置を指示している。これにより、
サンプル点1のデータの最下位ビットを最下位ビットし
てそこから上の16ビットのデータがシフタ130から
取り出される。これはサンプル点1のデータを下位の1
2ビットにそっくり含んでいるものであり、こうして、
2つのアドレスに分離して記憶されていたサンプル点1
のデータが一揃いに揃えられ、かつその最下位ビットが
16ビット出力の最下位ビットに位置合わせされて出力
される。これを模式的に示すと図20の(b)のようで
ある。こうして、シフタ130からは、取り出すべき目
的の可変データ長のデータを最下位ビットから順にその
ビット位置を揃えた16ビット構成のデータD1が出力
される。この16ビット構成のデータD1は上位ビット
側に不要なデータを含んでいることがあるので、まだ、
目的の1サンプル分の可変データ長のデータのみを取り
出しているわけではない。そのため更なる処理が必要で
ある。
Next, when the note clock pulse NCL is generated, the pull-out pointer POP becomes "12" after eight system clocks as described above, 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, when the output of the NOR gate 133 becomes “0” due to the note clock pulse NCL, the address signal CA has not yet changed, and the address A0 is not changed. Is read by the selector 131 and stored in the shift register 132. Therefore, after eight system clocks, the read address of the waveform memory 15 changes to A1, and when the read data RD of A1 is input to the upper 16 bits of the shifter 130, the lower 16 bits of the shifter 130 have the previous address A0. Is provided from the 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, the pull-out pointer POP is “12” and indicates the position of the least significant bit of the data at the sample point 1 at the preceding address A0. This allows
The least significant bit of the data at sample point 1 is the least significant bit, and the 16-bit data above the least significant bit is extracted from shifter 130. This means that the data at sample point 1 is
It contains exactly 2 bits, so
Sampling point 1 stored separately in two addresses
Are aligned and the least significant bit is 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. Since the 16-bit data D1 sometimes includes unnecessary data on the upper bits,
This does not mean that only the data of the variable data length for one sample of interest 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から与えられる隠れビット可能性信号HBPに
基づき、1揃いの各隠れビットデータHB0〜HB3,H
S0〜HS3,HC0〜HC7を再生する。再生した各隠れ
ビットデータHB0〜HB3,HS0〜HS3,HC0〜H
C7、すなわち各フレーム毎のビット数データ(データ
長指示データLENG)、次のブロックに関するシフト
データ(重み係数)及び圧縮係数データa0,a1,b
0,b1は、データレジスタ106に与えられる。
Referring back to FIG. 16, the data position reproducing circuit 10
The data D1 output from the shifter 130 of No. 4 is passed through the hidden bit separation circuit 134 to the data matching circuit 1
35 is input. When the data D1 includes the hidden bits HB0 to HC7, the hidden bit separation circuit 134 separates the hidden bits, and extracts only the net waveform data and inputs it to the data matching circuit 135 as data D2. The data matching circuit 135 is for extracting only the waveform sample data of a variable bit length for one target sample from the data D2. The one-bit hidden bit possibility signal HBP separated by the hidden bit separation circuit 134 (this is a signal that may be any one of the hidden bits HB0 to HC7) is input to the hidden bit reproduction circuit 105. Is done. Based on the hidden bit possibility signal HBP supplied from the hidden bit separation circuit 134, the hidden bit reproduction circuit 105 generates a set of hidden bit data HB0 to HB3, H
Regenerate S0 to HS3 and HC0 to HC7. Recovered hidden bit data HB0 to HB3, HS0 to HS3, HC0 to H
C7, that is, bit number data (data length indication data LENG) for each frame, shift data (weighting coefficient) and compression coefficient data a0, a1, b for the next block
0 and b1 are given to the data register 106.

【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, that is, the 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
16 bits when hidden bits are included, and 15 bits when hidden bits are not included. Therefore, the maximum data length of the valid data of the data D1 that may include hidden bits is 16 bits, and therefore, the data D1 is extracted in a 16-bit configuration. The maximum bit length of the effective data of the data D2 after the hidden bit separation is 15 bits. Also, 1
It is assumed that the most significant bit of the variable-length waveform data for the 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〜H
C7を含まないサンプル点のデータを取り出すときは、
HCの“0”により、データD1の下位15ビットを選
択する。この15ビットのデータもまた、前述のように
正味の波形データの有効ビットを確保するのに十分なデ
ータである。こうして隠れビットを分離した15ビット
構成の正味の波形データD2は、データ整合化回路13
5に入力される。前述のように、このデータD2は、目
的の1サンプル点の波形データだけでなく、その次のサ
ンプル点の波形データも一部含んでいることがあり得る
ものである。
Referring to FIG. 21, hidden bit separation circuit 13
4 comprises a selector 138 which inputs the lower 15 bits of the data D1 to the "0" input and the upper 15 bits of the data D1 to the "1" input. Selector 138
Inputs the above-mentioned 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". Therefore,
When extracting the data of the sample point including the hidden bits HB0 to HC7, the upper 15 bits of the data D1 are selected by the HC "1", and the hidden bits HB0 to HC7 in the least significant bit are excluded. This 15-bit data is
As described above, the data is enough to secure the effective bits of the net waveform data. On the other hand, hidden bits HB0-H
When extracting data of sample points not including C7,
The lower 15 bits of the data D1 are selected according to "0" of HC. This 15-bit data is also enough data to secure valid bits of the net waveform data as described above. The 15-bit net waveform data D2 obtained by separating the hidden bits in this manner is supplied to the data matching circuit 13
5 is input. As described above, this data D2 may include not only the waveform data of the target one sample point but also a part of the waveform data of the next sample point.

【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 data matching circuit 135, data D2
In order to extract only the waveform data of the target one sample point from the data, if the data size is extracted with a variable length, there is an inconvenience in later data processing. Therefore, the data size is adjusted to a fixed-length data size of 15 bits. I am trying to do it. For this purpose, first, only the waveform data of the target one sample point is extracted from the data D2, and then the extracted 1
If the waveform data at the sample point alone does not satisfy the fixed-length data size of 15 bits, a process of extending the sign bit to all the remaining upper bits is performed.
The entire data size is adjusted to a fixed length of 15 bits while extracting only the variable-length target waveform data of one sample point. In the data matching circuit 135 of FIG. 21, the data D2 is input to the sign bit extracting circuit 139, and the sign bit SB is extracted.
The data length indication 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 the decoder 140 indicates the position of the code bit SB to be extracted by 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, which is extracted according to the signal “1” of the 10th output line of the decoder 140. It is.

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

【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,2
Aの波形データを選択し、ビット3〜13でB入力3B
〜13Bの符号ビットSBを選択する。以下、符号ビッ
トSBの位置がずれるに従い、ビット別選択態様が同様
にずらされ、結局、目的の1サンプル点分の波形データ
のみを選択的に取り出し、それ以外の他のサンプル点の
データを除外し、その代わりに符号ビットSBを拡張す
ることが達成される。
For example, assuming that the sign bit SB is the lower second bit 1 of the data D2, all 13 signal lines of the select signal generation circuit 143 are set to "1". The code bits SB of the B inputs 1B to 13B are selected by bits. If the sign bit SB is the lower third 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 to "1", and In the separate selector 141, the waveform data of the A input 1A is selected by the bit 1 and the B input 2B-1 by the bits 2 to 13.
Select 3B sign bit SB. Also, the sign bit S
Assuming that B is the lower fourth bit 3 of the data D2, the lower two signal lines of the select signal generation circuit 143 are set to "0", the upper eleven signal lines are set to "1", and the bit-by-bit independent selector 141 is set. Then, the A input 1A, 2 in bits 1 and 2
A waveform data is selected, and B input 3B with bits 3 to 13
Select the code bits SB of .about.13B. Hereinafter, as the position of the sign bit SB is shifted, the bit-by-bit selection mode is similarly shifted, and after all, only the target waveform data of one sample point is selectively extracted, and the data of the other sample points are excluded. Instead, extending the sign bit SB is 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とデータレジスタ10
6C〜106Fの詳細例を示す。
The least significant bit of data D2 and selector 14
1 and the sign bit SB extracted from the sign bit extracting circuit 139, a total of 15-bit data is input to the output register 142, and the register 142 is output at the rising timing of the system clock pulse φ2.
It is taken in. The rising timing of the system clock pulse φ2 is in the middle of one time slot of the time division channel timing, and the data is taken in a state where the data at the time division channel timing has sufficiently risen. The output of the output register 142 is output as the waveform data CWD for one sample from which extraction has been completed. FIGS. 22 and 23 show a detailed example of the hidden bit reproducing circuit 105 and the data register 106. FIG. The hidden bit reproduction circuit 105 and the data register 106 are provided corresponding to the types of the hidden bits. In FIG. 22, a hidden bit reproduction circuit 105A for “bit number data” and a data register 106A
Bit recovery circuit 10 for "shift data"
5B and a detailed example of the data register 106B are shown. FIG.
3, the hidden bit reproducing circuits 105C to 105F and the data register 10 for the respective compression coefficients b1, b0, a1, a0.
The detailed example of 6C-106F is shown.

【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ビット下位にシフ
トしたものが入力される。
As shown in FIG. 22, hidden bit reproducing circuit 105A for "bit number data" and data register 10
6A, the hidden bit reproducing circuit 105A
Is an AND gate 145 to which a note clock pulse NCL is delayed by an 8-stage / 1-bit shift register 144 and a hidden bit control signal HBC1 is input,
Second key-on pulse KNOP2 and AND gate 145
An OR gate 146 to which the output of the OR gate 146 is input, a selector 147 controlled by the output of the OR gate 146, and an 8-stage / 4-bit shift register 148 to which the output of the selector 147 is input. The output of the shift register 148 is directly added to the “0” input of the selector 147. Of the four bits of the “1” input of the selector 147, the most significant bit is supplied with the signal of the least significant bit of the data D 1 output from the shifter 130, that is, the hidden bit possibility signal HBP. Of the four bits of the “1” input of the selector 147, the remaining lower three bits are obtained by shifting the output of the shift register 148 one bit lower.

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

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

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

【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は「0
0」入力を選択し、取り込んだデータILENGを保持
する。シフトレジスタ149の出力がデータ長指示デー
タLENGとして、上述のように各回路に与えられる。
従って、最初のフレーム0では、パラメータデータ発生
回路94から与えられたイニシャルデータ長データIL
ENGがデータ長指示データLENGとして使用され
る。このフレーム0において、前述のように、次フレー
ムのデータビット長を指示する隠れ情報HDがセレクタ
150に与えられる。
The data register 106A has 8 stages /
It includes a 4-bit shift register 149 and a selector 150. The initial data length data ILENG is input to the “10” input of the selector 150, and “01” is input.
The hidden information HD, that is, 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 bits, and the output of the AND gate 151 is input to the lower bits. The frame change signal HBC2 and the 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”.
, The selector 150 selects the initial data length data ILENG of the “10” input, and
Take in 9. In the next cycle, the selector 150 sets “0”.
"0" input is selected and the captured data ILENG is held. The output of the shift register 149 is supplied 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 indication data LENG. In frame 0, as described above, hidden information HD indicating the data bit length of the next frame is provided to selector 150.

【0104】次に、フレームが切り替わるとき、アンド
ゲート151の出力が“1”となり、セレクタ150は
「01」入力の情報HDを選択し、シフトレジスタ14
9に取り込む。次のサイクルでセレクタ150は「0
0」入力を選択し、取り込んだデータHDを保持する。
こうして、2番目以降のフレームでは、前フレームの波
形データと共に隠れ情報として記憶していたデータビッ
ト長を指示する隠れ情報HDをデータ長指示データLE
NGとして使用する。第1のキーオンパルスKONP1
を8ステージ/1ビットのシフトレジスタ152で8シ
ステムクロック遅延することにより第2のキーオンパル
スKONP2を生成するようにしてもよい。シフトデー
タのための隠れビット再生回路105Bとデータレジス
タ106Bは、上記隠れビット再生回路105Aとデー
タレジスタ106Aとほぼ同一構成である。異なる点
は、上記アンドゲート145に対応するアンドゲート1
45Bに、図17のアンドゲート114から出力される
シフトデータ用の隠れビット制御信号HSCを入力する
点と、セレクタ150Bの「10」入力に与えるイニシ
ャルデータはイニシャルシフトデータISFである点
と、上記アンドゲート151に対応するアンドゲート1
51Bに、図17のアンドゲート119から出力される
ブロック終了制御信号BFCを入力する点、である。こ
れにより、シフトレジスタ148Bには、次ブロックに
関するシフトデータに対応する隠れビットデータHS
3,HS2,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 "01" input, and
Take in 9. In the next cycle, the selector 150 sets “0”.
Select "0" input and hold the captured data HD.
Thus, 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 transmitted to the data length indicating data LE.
Used as NG. First key-on pulse KONP1
May be delayed by 8 system clocks by an 8-stage / 1-bit shift register 152 to generate a second key-on pulse KONP2. The hidden bit reproduction circuit 105B for shift data and the data register 106B have substantially the same configuration as the above-mentioned hidden bit reproduction circuit 105A and data register 106A. The difference is that the AND gate 1 corresponding to the AND gate 145
The point that the hidden bit control signal HSC for the shift data output from the AND gate 114 of FIG. AND gate 1 corresponding to AND gate 151
The point is that the block end control signal BFC output from the AND gate 119 of FIG. 17 is input to 51B. As a result, the shift register 148B stores the hidden bit data HS corresponding to the shift data for the next block.
3, HS2, HS1, and HS0 are reproduced and stored, and are taken into the shift register 149B at the end of the block. Therefore, the shift register 149B outputs shift data SFD relating to the block currently being processed.

【0105】図23において、圧縮係数b1のための隠
れビット再生回路105Cとデータレジスタ106C
は、上記隠れビット再生回路105Bとデータレジスタ
106Bとほぼ同一構成である。異なる点は、シフトレ
ジスタ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,106E,
106Fからは現在処理中のブロックに関する圧縮係数
b0,a1,a0がそれぞれ出力される。
In FIG. 23, hidden bit reproducing circuit 105C for compression coefficient b1 and data register 106C
Has almost the same configuration as the above-mentioned hidden bit reproduction circuit 105B and data register 106B. The difference is that the shift register 148C, 149C has 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 of FIG. The point at which the signal HCb1 is input and the initial data given to the "10" input of the selector 150C are the initial compression coefficient I corresponding to b1.
CO. FIG.
7 and the block end control signal BFC output from the AND gate 119 is input. As a result, hidden bit data HC0 to HC7 corresponding to the compression coefficient b1 for the next block are reproduced and stored in the shift register 148C, and are taken into the shift register 149C at the end of the block. Therefore, from the shift register 149C,
The compression coefficient b1 for the block currently being processed is output. The hidden bit reproduction circuits 105D, 105E, and 105F and the data registers 106D, 106E, and 106F for the other compression coefficients b0, a1, and a0 have substantially the same configurations as the hidden bit reproduction circuit 105C and the data register 106C. The difference is that each of the AND gates 145D, 145E, and 145F corresponding to the AND gate 145C has
The point is that the hidden bit control signals HCb0, HCa1, HCa0 for the compression coefficients b0, a1, a0 output from the respective AND gates 116, 117, 118 in FIG. 17 are respectively input. Thereby, each of the registers 106D, 106E,
From 106F, compression coefficients b0, a1, and a0 relating to the block currently being processed are output, respectively.

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

【0107】 −−圧縮及び縮小化処理の別の例(第2の実施例)−− 上記実施例では、重み係数(シフトデータ)によるデー
タ縮小化処理を、圧縮フィルタによるデータ圧縮処理の
前段で行うようにしているが、次に説明するように、デ
ータ圧縮処理の後段で行うようにしてもよい。図25
は、データ圧縮処理の後段で重み係数(シフトデータ)
によるデータ縮小化処理を行う場合の、圧縮及び縮小化
演算のための回路の構成例を示すものである。圧縮フィ
ルタ回路は、前述と同様、2次フィルタを2段縦続接続
してなり、1段目のフィルタ48Aは、引算器170,
加算器171,172,乗算器173,174,遅延部
175,176からなる。2段目のフィルタ48Bは、
引算器177,加算器178,179,乗算器180,
181,遅延部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, the data reduction processing using the weight coefficient (shift data) is performed before the data compression processing using the compression filter. Although it is performed, it may be performed later in the data compression process as described below. FIG.
Is the weighting factor (shift data) at the later stage of the data compression process
1 shows a configuration example of a circuit for a compression and reduction operation when performing a data reduction process according to FIG. The compression filter circuit has a cascade connection of secondary filters in two stages, as described above. The first-stage filter 48A includes a subtractor 170,
It comprises adders 171, 172, multipliers 173, 174, and delay units 175, 176. The second-stage filter 48B includes:
Subtracter 177, adders 178 and 179, multiplier 180,
181, delay units 182 and 183. The waveform data to be compressed is input to the subtractor 170 of the first-stage filter 48A, and the subtracter 170 subtracts the second-order 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. The output signal of the compression filter is input to the shift circuit 47, and is weighted (shifted) in the direction of reduction by the weight 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,b1
は、前述の第1の実施例のときと同様の手法で算出する
ようにしてよい。シフト回路47の位置が異なってくる
ため、図5の機能ブロック図はそのままそっくりこの第
2の実施例に適用することはできないが、図5における
シフト回路47と圧縮フィルタ部48の部分を図25の
構成が実施できるように適宜変更すればよい。また、第
2の実施例の場合、再生時における圧縮データの復調と
重み復元処理の手順が第1の実施例とは逆になるため、
図26に示すように、シフト回路98を圧縮データ復調
回路97の前段に配置するように音源部23の構成を変
更すればよい。
The shift circuit 184 shifts the data by the same amount in the direction opposite to the shift direction of the shift circuit 47, and simulates the restoration of the weight during reproduction. Then, the output of this shift circuit 184 is added to delay units 175, 176 and 176 via adders 178 and 171.
182 and 183, whereby the multiplication operation of the compression coefficient is performed on the signal simulating the weight restoration at the time of reproduction. As a result, a high-precision compression filter operation that absorbs a data truncation error due to data shift-down can be performed. In the case of the second embodiment, the compression filter coefficients a0, a1, b0, b1
May be calculated by the same method as in the first embodiment. Since the position of the shift circuit 47 differs, the functional block diagram of FIG. 5 cannot be applied to the second embodiment in its entirety, but the shift circuit 47 and the compression filter unit 48 in FIG. The configuration may be appropriately changed so that the configuration described above can be implemented. In the case of the second embodiment, the procedure of the demodulation of the compressed data and the restoration of the weight at the time of reproduction are opposite to those of the first embodiment.
As shown in FIG. 26, the configuration of the sound source section 23 may be changed so that the shift circuit 98 is arranged before the compressed data demodulation circuit 97.

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

【0110】上記実施例では、楽音波形データにおいて
この発明を実施しているが、これに限らず、音量レベル
を設定するエンベロープ波形データや、各種制御用のエ
ンベロープ波形データあるいはフィルタ係数等の時間変
化する各種の制御データなど、電子楽器における各種波
形データのためにこの発明を適用することができる。ま
た、電子楽器における波形データに限らず、その他の音
声又は音処理装置における波形データの圧縮のためにこ
の発明を適用することができる。また、波形データに限
らず、楽音制御用すなわち音制御用のディジタルデータ
の圧縮のためにこの発明を適用することができる。可変
ビット長加工処理の観点に従えば、上記実施例のような
データ圧縮処理及び重み係数演算によるデータ縮小化処
理は、この発明の必須事項ではない。すなわち、格別の
データ圧縮処理を施していないディジタルデータのビッ
トサイズを圧縮するために、この発明を適用することが
できる。
In the above embodiment, the present invention is applied to the musical tone waveform data. However, the present invention is not limited to this, and the envelope waveform data for setting the volume level, the envelope waveform data for various controls, or the time variation of the filter coefficient, etc. The present invention can be applied to various waveform data in an electronic musical instrument, such as various types of control data. Further, the present invention is not limited to waveform data in electronic musical instruments, but may be applied to compression of waveform data in other voice or sound processing devices. The present invention is not limited to waveform data, but can be applied to compression of digital data for tone control, that is, for sound control. According to the viewpoint of the variable bit length processing, the data compression processing and the data reduction processing by weight coefficient calculation as in the above embodiment are not essential to the present invention. That is, the present invention can be applied to compress the bit size of digital data that has not been subjected to special data compression processing.

【0111】上記実施例では、データ取り出し再生部に
おいて、1サンプルのデータの取り出し・再生のため
に、サンプルカウント、データ長カウント、アドレスカ
ウント、データ位置再生、隠れビット再生、など多段の
処理ステップが必要であり、これを1サンプルのタイミ
ングで行なうようになっている。そのため、1サンプル
の時間を長くとらねばならないかもしれない。この問題
を解決するには、同一のチャンネルタイミングの中で複
数のサンプリングタイミングにわたる処理をパイプライ
ン処理的手法により実行するとよく、そうすれば、1サ
ンプルの時間を短くし、データ読み出し速度を上げるこ
とができる。なお、この発明は、完成された単体の電子
楽器に限らず、モジュール化された電子楽器の一部品に
おいて適用してもよいものである。また、音選択の鍵盤
やスイッチ手段を持たず、コード情報の入力に基づき楽
音を発生する装置にも適用することができる。更には、
楽音信号を生成する装置や、楽音を音響的に発音するス
ピーカ等は持たずに、楽音信号の形成または制御に関連
するデータを発生する装置においても適用することがで
きるものであり、この発明において電子楽器とは極めて
広義に使用する語である。また、一般的な音処理装置若
しくは音声処理装置においてもこの発明を適用すること
ができる。
In the above embodiment, the data take-out / playback section performs multi-stage processing steps such as sample count, data length count, address count, data position play, hidden bit play, etc., to take out and play one sample of data. This is necessary, and this is performed at the timing of one sample. Therefore, it may be necessary to take a long time for one sample. In order to solve this problem, it is preferable to execute processing over a plurality of sampling timings in the same channel timing by a pipeline processing method, so that the time of one sample is shortened and the data reading speed is increased. Can be. The present invention is not limited to a completed single electronic musical instrument, and may be applied to one component of a modularized electronic musical instrument. Further, the present invention can be applied to an apparatus which does not have a sound selection keyboard or switch means and generates a musical tone based on input of chord information. Furthermore,
The present invention can also be applied to a device for generating data relating to the formation or control of a tone signal without having a device for generating a tone signal or a speaker for acoustically generating a tone. Electronic musical instrument is a word used in a very broad sense. Further, the present invention can be applied to a general sound processing device or sound processing device.

【0112】[0112]

【発明の効果】以上の通り、この発明によれば、多数の
サンプルからなる波形サンプルデータまたはその他の楽
音制御用ディジタルデータを複数のサンプルからなる複
数の区間に分け、各区間毎に該データの有効ビット数の
最大値を夫々検出し、これらの各データの全ビットのう
ち、各区間毎に検出した最大値に対応するビット数分の
下位ビットを夫々取り出し、こうして各区間毎にその区
間の最大値に対応するビット数に揃えられた波形サンプ
ルデータを得て、これを記憶装置に記憶するようにした
ので、データの分解能を変えることなく、データのビッ
トサイズそのものを最も効率的に圧縮することができ
る、という優れた効果を奏する。これに伴い、記憶装置
等の節約及び効率的な利用を図ることができる、という
効果も奏する。更に、各区間毎の波形サンプルデータ
(またはその他の楽音制御用ディジタルデータ)の最大
値に対応するビット数を指示するビット数指示データを
それぞれ複数の部分に分割し、各部分を当該区間の前の
区間についての前記波形サンプルデータ(またはその他
の楽音制御用ディジタルデータ)の間で分離して記憶装
置に記憶するようにしているので、記憶している波形サ
ンプルデータ(またはその他の楽音制御用ディジタルデ
ータ)の間で該ビット数指示データを効率的に記憶させ
ることができる、という優れた効果を奏する。すなわ
ち、ビット数指示データを専用に記憶するためにメモリ
アドレスを占有することなく、各アドレス中の空きビッ
ト位置に分離して該ビット数指示データを記憶すること
ができるので、記憶装置の一層の節約及び効率的な利用
を図ることができる。 更に、この発明の波形データ再生
装置によれば、上記のように波形サンプルデータ(また
はその他の楽音制御用ディジタルデータ)とビット数指
示データとを記憶してなる記憶装置から、記憶した各デ
ータを読み出し、読み出されたデータから前記ビット数
指示データの各部分を取り出し、これを集めることによ
り完成されたビット数指示データを再生し、該再生され
たビット数指示データを次の区間のために出力し、ま
た、前記読み出されたデータから前記波形サンプルデー
タを取り出す際に、当該区間のために前記再生されたビ
ット数指示データが指示するビット数で該波形サンプル
データを取り出すようにしたので、ビット数の異な る波
形データを必要なビット数分だけ適切に取り出して再生
することができる、という優れた効果を奏する。
As described above, according to the present invention, waveform sample data consisting of a large number of samples or other musical tone control digital data is divided into a plurality of sections consisting of a plurality of samples. The maximum value of the number of effective bits is detected, and the lower bits of the number of bits corresponding to the maximum value detected in each section are extracted from all the bits of each data. Since waveform sample data aligned to the number of bits corresponding to the maximum value is obtained and stored in the storage device, the data bit size itself is most efficiently compressed without changing the data resolution. The effect is excellent. Accordingly, there is an effect that the storage device and the like can be saved and used efficiently. Furthermore, waveform sample data for each section
(Or other digital data for tone control)
Bit number indication data indicating the number of bits corresponding to the value
Each is divided into multiple parts, and each part is
The waveform sample data (or other
Of digital data for musical tone control)
The stored waveforms are stored in the
Sample data (or other digital data for tone control)
The data indicating the number of bits is efficiently stored between
It has an excellent effect that it can be Sand
That is, a memory for storing the bit number indication data exclusively.
Free bits in each address without occupying the address
And storing the bit number indication data separately at
To save more and use storage more efficiently
Can be achieved. Furthermore, the waveform data reproduction of the present invention
According to the device, the waveform sample data (and
Is other digital data for tone control) and bit number
From the storage device that stores the
Data and read the number of bits from the read data.
By extracting each part of the instruction data and collecting it
And reproduces the completed bit number indication data.
Bit number indication data for the next section, and
Further, the waveform sample data is obtained from the read data.
When taking out the data, the reproduced video for the section
The number of bits specified by the data
Since they were taken out of the data, Do that wave different number of bits
Shape data is appropriately extracted for the required number of bits and played back
Can be achieved.

【図面の簡単な説明】[Brief description of the drawings]

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

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

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

【図4】図2の波形メモリにおける圧縮波形データの記
憶領域のフォーマットを例示する図。
FIG. 4 is a view exemplifying 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 one embodiment of waveform data compression and reduction processing performed under the control of the microcomputer of FIG. 2;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

【図26】図25の例に従って圧縮及び縮小化処理を行
った波形データを再生するための音源部の実施例を示す
ブロック図。
FIG. 26 is a block diagram showing an embodiment of a sound source unit for reproducing waveform data that has been subjected to compression and reduction processing 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 unit, 14: Sampling device, 15: Waveform memory, 21: Waveform buffer memory, 2
3 ... tone generator, 44 ... limited bit number register, 45 ... shift data generator, 46 ... shift data register, 47 ...
Shift circuit (weight calculation circuit), 48 ... compression filter section,
49: Hamming window multiplication unit, 51: Coefficient generation operation unit, 55
.., A block buffer, 56, a bit number detecting section, 58, a variable bit length processing and writing processing section, 76, a hidden bit assigning section, 78, a data synthesizing section, 96, a data extracting and reproducing section, 97, a compressed data demodulating circuit, 98: Shift circuit for weight restoration.

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 多数のサンプルからなる所定ビット数の
ディジタル波形サンプルデータを提供する第1のステッ
プと、 前記多数のサンプルからなる波形サンプルデータを複数
のサンプルからなる複数の区間に分け、各区間毎に該波
形サンプルデータの有効ビット数の最大値を夫々検出す
る第2のステップと、 前記第1のステップで提供された各波形サンプルデータ
の全ビットのうち、各区間毎に前記第2のステップで検
出した最大値に対応するビット数分の下位ビットを夫々
取り出し、こうして各区間毎にその区間の最大値に対応
するビット数に揃えられた波形サンプルデータを得て、
これを記憶装置に記憶する第3のステップと 前記各区間毎の前記最大値に対応するビット数を示すビ
ット数指示データを前記記憶装置に記憶するステップで
あって、各区間についての該ビット数指示データをそれ
ぞれ複数の部分に分割し、各部分を当該区間の前の区間
についての前記波形サンプルデータの間で分離して前記
記憶装置に記憶する第4のステップと を具えた波形デー
タ圧縮方法。
A first step of providing digital waveform sample data of a predetermined number of bits composed of a large number of samples; dividing the waveform sample data composed of a large number of samples into a plurality of sections composed of a plurality of samples; A second step of detecting the maximum value of the number of effective bits of the waveform sample data each time, and the second step for each section of all bits of each waveform sample data provided in the first step. The lower bits corresponding to the number of bits corresponding to the maximum value detected in the step are respectively extracted, and waveform sample data aligned to the number of bits corresponding to the maximum value of the section for each section is thus obtained,
Bi showing a third step of storing it in the storage device, the number of bits corresponding to the maximum value of each of said sections
Storing the number-of-units instruction data in the storage device.
And the bit number indication data for each section
Each is divided into a plurality of parts, and each part is
Separating between the waveform sample data for the
Storing the waveform data in a storage device .
【請求項2】 多数のサンプルからなる所定ビット数の
ディジタル波形サンプルデータを提供する第1のステッ
プと、 前記多数のサンプルからなる波形サンプルデータを複数
のサンプルからなる複数のブロック区間に分け、各ブロ
ック区間毎にデータ圧縮処理を行う第2のステップと、 前記各ブロック区間の波形サンプルデータを複数のサン
プルからなる複数のフレーム区間に分け、各フレーム区
間毎に前記データ圧縮処理済みの波形サンプルデータの
有効ビット数の最大値を夫々検出する第3のステップ
と、 前記第2のステップで提供されたデータ圧縮処理済みの
各波形サンプルデータの全ビットのうち、各フレーム区
間毎に前記第3のステップで検出した最大値に対応する
ビット数分の下位ビットを夫々取り出し、こうして各フ
レーム区間毎にその区間の最大値に対応するビット数に
揃えられた波形サンプルデータを得て、これを記憶装置
に記憶する第4のステップと 前記各フレーム区間毎の前記最大値に対応するビット数
を示すビット数指示データを前記記憶装置に記憶するス
テップであって、各フレーム区間についての該ビット数
指示データをそれぞれ複数の部分に分割し、各部分を当
該フレーム区間の前のフレーム区間についての前記波形
サンプルデータの間で分離して前記記憶装置に記憶する
第5のステップと を具えた波形データ圧縮方法。
2. A first step of providing digital waveform sample data of a predetermined number of bits consisting of a large number of samples; and dividing the waveform sample data consisting of a large number of samples into a plurality of block sections consisting of a plurality of samples. A second step of performing data compression processing for each block section; and dividing the waveform sample data of each block section into a plurality of frame sections consisting of a plurality of samples, and performing the data compression processing for each frame section. A third step of detecting the maximum value of the number of effective bits of each of the waveform sample data provided in the second step; The lower bits for the number of bits corresponding to the maximum value detected in the step are respectively extracted, and thus To obtain waveform sample data aligned to the number of bits corresponding to the maximum value of the section between every, a fourth step of storing it in the storage device, corresponding the to the maximum value for each frame interval bit number
To store bit number indicating data indicating
The number of bits for each frame section
Divide the instruction data into multiple parts, and divide each part
The waveform for a frame section before the frame section
Separated between sample data and stored in the storage device
A waveform data compression method comprising: a fifth step .
【請求項3】 多数のサンプルからなる所定ビット数の
楽音制御用のディジタルデータを提供する第1のステッ
プと、 前記多数のサンプルからなるディジタルデータを複数の
サンプルからなる複数の区間に分け、各区間毎に該ディ
ジタルデータの有効ビット数の最大値を夫々検出する第
2のステップと、 前記第1のステップで提供された各ディジタルデータの
全ビットのうち、各区間毎に前記第2のステップで検出
した最大値に対応するビット数分の下位ビットを夫々取
り出し、こうして各区間毎にその区間の最大値に対応す
るビット数に揃えられたディジタルデータを記憶装置に
記憶する第3のステップと 前記各区間毎の前記最大値に対応するビット数を示すビ
ット数指示データを前記記憶装置に記憶するステップで
あって、各区間についての該ビット数指示データをそれ
ぞれ複数の部分に分割し、各部分を当該区間の前の区間
についての前記ディジタルデータの間で分離して前記記
憶装置に記憶する第4のステップと を具えた楽音制御用
のディジタルデータ圧縮方法。
3. A first step of providing digital data for tone control having a predetermined number of bits consisting of a large number of samples, and dividing the digital data consisting of a large number of samples into a plurality of sections consisting of a plurality of samples. A second step of detecting a maximum value of the number of effective bits of the digital data for each section; and a second step for each section of all bits of each digital data provided in the first step. A third step of taking out lower bits of the number of bits corresponding to the maximum value detected in step (1), and storing in the storage device digital data aligned in the number of bits corresponding to the maximum value of the section in each section. , bi indicating the number of bits corresponding to the maximum value of each of said sections
Storing the number-of-units instruction data in the storage device.
And the bit number indication data for each section
Each is divided into a plurality of parts, and each part is
Of the digital data for the
A digital data compression method for musical tone control, comprising: a fourth step of storing in a storage device .
【請求項4】 請求項1に記載された方法に従って前記
波形サンプルデータと前記ビット数指示データとを記憶
してなる前記記憶装置と、 前記記憶装置に記憶した各データを読み出す読出し手段
と、 前記読出し手段により読み出されたデータから前記ビッ
ト数指示データの各部分を取り出し、これを集めること
により完成されたビット数指示データを再生し、該再生
されたビット数指示データを次の区間のために出力する
ビット数指示データ再生手段と、 前記読出し手段により読み出されたデータから前記波形
サンプルデータを取り出すものであって、当該区間のた
めに前記ビット数指示データ再生手段から出力された前
記ビット数指示データが指示するビット数で該波形サン
プルデータを取り出す波形サンプルデータ取り出し手段
とを具えた波形データ再生装置。
4. The storage device storing the waveform sample data and the bit number indication data according to the method according to claim 1, reading means for reading each data stored in the storage device, Each part of the bit number indication data is extracted from the data read by the reading means, and the collected bit number indication data is collected to reproduce the completed bit number indication data. The reproduced bit number indication data is used for the next section. Bit number instruction data reproducing means for outputting the waveform sample data from the data read by the reading means, wherein the bits output from the bit number instruction data reproducing means for the section Waveform sample data extracting means for extracting the waveform sample data with the number of bits indicated by the number instruction data. Waveform data reproducing device.
【請求項5】 請求項2に記載された方法に従って前記
波形サンプルデータと前記ビット数指示データとを記憶
してなる前記記憶装置と、 前記記憶装置に記憶した各データを読み出す読出し手段
と、 前記読出し手段により読み出されたデータから前記ビッ
ト数指示データの各部分を取り出し、これを集めること
により完成されたビット数指示データを再生し、該再生
されたビット数指示データを次のフレーム区間のために
出力するビット数指示データ再生手段と、 前記読出し手段により読み出されたデータから前記波形
サンプルデータを取り出すものであって、当該フレーム
区間のために前記ビット数指示データ再生手段から出力
された前記ビット数指示データが指示するビット数で該
波形サンプルデータを取り出す波形サンプルデータ取り
出し手段と、 取り出された波形サンプルデータのデータ圧縮を解除す
る復調手段とを具えた波形データ再生装置。
5. The storage device storing the waveform sample data and the bit number indication data according to the method according to claim 2, reading means for reading each data stored in the storage device, Each part of the bit number indication data is taken out from the data read by the reading means, and the collected bit number indication data is collected to reproduce the completed bit number indication data. A number-of-bits instruction data reproducing means for outputting the waveform sample data from the data read by the reading means, and outputting the waveform sample data from the bit number instruction data reproducing means for the frame section. Waveform sample data acquisition for extracting the waveform sample data with the number of bits indicated by the bit number indication data A waveform data reproducing apparatus, comprising: output means; and demodulation means for decompressing data of the extracted waveform sample data.
JP3163799A 1991-06-09 1991-06-09 Digital data compression method for waveform data and tone control, and waveform data reproducing apparatus Expired - Lifetime JP2745866B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3163799A JP2745866B2 (en) 1991-06-09 1991-06-09 Digital data compression method for waveform data and tone control, and waveform data reproducing 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
JP3163799A JP2745866B2 (en) 1991-06-09 1991-06-09 Digital data compression method for waveform data and tone control, and waveform data reproducing apparatus

Publications (2)

Publication Number Publication Date
JPH06202667A JPH06202667A (en) 1994-07-22
JP2745866B2 true JP2745866B2 (en) 1998-04-28

Family

ID=15780925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3163799A Expired - Lifetime JP2745866B2 (en) 1991-06-09 1991-06-09 Digital data compression method for waveform data and tone control, and waveform data reproducing apparatus

Country Status (1)

Country Link
JP (1) JP2745866B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6146686B2 (en) * 2015-09-15 2017-06-14 カシオ計算機株式会社 Data structure, data storage device, data retrieval device, and electronic musical instrument

Family Cites Families (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
JPS6190523A (en) * 1984-10-09 1986-05-08 Nippon Gakki Seizo Kk Waveform processor
JPH02268530A (en) * 1989-04-11 1990-11-02 Ricoh Co Ltd Voice signal encoding/decoding system

Also Published As

Publication number Publication date
JPH06202667A (en) 1994-07-22

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
JP2605434B2 (en) Electronic musical instrument data generator
EP0169659B1 (en) Sound generator for electronic musical instrument
JPH07181974A (en) Musical tone generation device
JP3482685B2 (en) Sound generator for electronic musical instruments
JP2727798B2 (en) Waveform data compression method and apparatus, and reproduction apparatus
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
JP2650636B2 (en) Electronic musical instrument data generator
JP2748784B2 (en) Waveform generator
JP2674161B2 (en) Sound source data compression coding method
JPS642960B2 (en)
JPH0422275B2 (en)
JPH0644713B2 (en) Sound recording method
JP2712421B2 (en) Sound source device
JP2914265B2 (en) Sound source device
JP2671456B2 (en) Sound source device
JP2790160B2 (en) Waveform generation device and waveform storage device
JP2582789B2 (en) Electronic musical instrument waveform synthesizer
JP2712422B2 (en) Continuous sound data playback device
JP2897377B2 (en) Waveform signal forming device
JP2798083B2 (en) Electronic musical instrument
JP3684078B2 (en) Musical sound waveform data storage device, musical sound waveform data storage method, musical sound waveform data reproduction device, and musical sound waveform data reproduction method

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: 20080213

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20090213

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090213

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100213

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20110213

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20120213

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: 20120213

Year of fee payment: 14