JP3222967B2 - Digital signal processor - Google Patents

Digital signal processor

Info

Publication number
JP3222967B2
JP3222967B2 JP01638993A JP1638993A JP3222967B2 JP 3222967 B2 JP3222967 B2 JP 3222967B2 JP 01638993 A JP01638993 A JP 01638993A JP 1638993 A JP1638993 A JP 1638993A JP 3222967 B2 JP3222967 B2 JP 3222967B2
Authority
JP
Japan
Prior art keywords
data
scale factor
sample
unit
decoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP01638993A
Other languages
Japanese (ja)
Other versions
JPH06232757A (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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP01638993A priority Critical patent/JP3222967B2/en
Publication of JPH06232757A publication Critical patent/JPH06232757A/en
Application granted granted Critical
Publication of JP3222967B2 publication Critical patent/JP3222967B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【0001】[0001]

【産業上の利用分野】本発明はディジタル信号処理装置
に係り、詳しくは、量子化されたデータを逆量子化する
ことによって復号化する逆量子化回路に関するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital signal processor and, more particularly, to an inverse quantization circuit for decoding quantized data by inverse quantization.

【0002】[0002]

【従来の技術】近年、ディジタル信号を圧縮化すること
により記録媒体の低容量化や伝送路の縮小化を図ること
が求められている。
2. Description of the Related Art In recent years, it has been required to reduce the capacity of a recording medium and the size of a transmission line by compressing a digital signal.

【0003】そのために、標本化したデータを適宜な個
数分ずつひとまとめにして各ユニットとし、その各ユニ
ット毎に量子化を行う方法が提案されている。この方法
においては、量子化のビット数(以下、ワード長コード
という)と規格化したときの値の大きさ(以下、スケー
ル因子値という)とを各ユニット毎に割り当てて量子化
を行い、量子化されたデータ(以下、サンプルデータと
いう)を求めている。すなわち、一般的な量子化におい
ては固定ワード長で量子化されるが、この方法では通
常、固定ワード長より少ない可変ワード長で量子化され
るため全データ量を圧縮することができる。また、この
方法では、ユニット毎にワード長コードとスケール因子
値とを割り当てるので、そのデータの増加分は、可変ワ
ード長で量子化することによる全データ量の減少に比べ
て少ない。
For this purpose, a method has been proposed in which sampled data is grouped by an appropriate number into individual units, and quantization is performed for each unit. In this method, quantization is performed by allocating the number of quantization bits (hereinafter, referred to as a word length code) and the size of a normalized value (hereinafter, referred to as a scale factor value) to each unit, and performing quantization. Data (hereinafter referred to as sample data). That is, in general quantization, quantization is performed with a fixed word length, but in this method, usually, quantization is performed with a variable word length smaller than the fixed word length, so that the entire data amount can be compressed. Further, in this method, since a word length code and a scale factor value are assigned to each unit, an increase in the data is smaller than a decrease in the total data amount due to quantization with a variable word length.

【0004】そして、この方法における逆量子化では、
サンプルデータAとそのサンプルデータAに対応するユ
ニットのワード長コードWLおよびスケール因子値SFか
ら、サンプルデータAを逆量子化したデータBを例えば
式(1)に示す演算によって求めている。すなわち、逆
量子化回路内で式(1)に示す演算を行うことにより、
圧縮されたデータを伸長して復号化することができる。
[0004] In the inverse quantization in this method,
From the sample data A, the word length code WL of the unit corresponding to the sample data A, and the scale factor value SF, data B obtained by inversely quantizing the sample data A is obtained by, for example, an operation shown in Expression (1). That is, by performing the operation shown in Expression (1) in the inverse quantization circuit,
The compressed data can be expanded and decoded.

【0005】B=A・SF・F(WL) ………(1) (但し、F(WL)はワード長コードWLの関数)また、こ
の方法では、ユニットを適宜な個数分ひとまとめにして
1つのグループとし、そのグループ単位でシリアル転送
することにより記録媒体への書き込み及び読み出し(ま
たは、伝送路への送受信)が行われるようになってい
る。
B = A · SF · F (WL) (1) (where F (WL) is a function of the word length code WL) In this method, an appropriate number of units are grouped together and 1 Writing and reading (or transmission / reception to / from a transmission path) to / from a recording medium are performed by serially transferring the data in groups.

【0006】図5に、1グループのシリアルデータの配
列を示す。この図5では、シリアルデータの転送方向を
右方向としている。すなわち、記録媒体から読み出され
る(または、伝送路から送られてくる)シリアルデータ
は、図5に示す最も左側のビットを先頭ビットとし、そ
の先頭ビットから順次右方向に逆量子化回路へ入力され
るものとしている。
FIG. 5 shows an array of serial data of one group. In FIG. 5, the transfer direction of the serial data is rightward. That is, the serial data read from the recording medium (or sent from the transmission path) is input to the inverse quantization circuit sequentially from the first bit to the right in the leftmost bit shown in FIG. It shall be.

【0007】1グループのシリアルデータは先頭から、
ワード長コード,スケール因子コード,サンプルデータ
の順で配列されている。ここで、1つのグループはn個
のユニットで構成され、各ユニットに対応する各ワード
長コードはそれぞれmビット、各ユニットに対応する各
スケール因子コードはそれぞれeビットで構成されてい
る。尚、スケール因子コードは、逆量子化回路内に設け
られたデコーダによって変換されて前記スケール因子値
となる。
One group of serial data starts from the beginning.
Word length codes, scale factor codes, and sample data are arranged in this order. Here, one group is composed of n units, each word length code corresponding to each unit is composed of m bits, and each scale factor code corresponding to each unit is composed of e bits. The scale factor code is converted by a decoder provided in the inverse quantization circuit to become the scale factor value.

【0008】図6に、各ユニットとサンプルデータの各
サンプルの対応関係の一例を示す。この例では、サンプ
ルデータの先頭サンプルからa個目のサンプルまで(1
〜a)がユニット1に対応し、サンプルデータのa+1
個目のサンプルからb個目のサンプルまで(a+1〜
b)がユニット2に対応している。そして、サンプルデ
ータのc個目のサンプルから最後(N個目)のサンプル
まで(c〜N)がユニットnに対応している。
FIG. 6 shows an example of the correspondence between each unit and each sample of the sample data. In this example, from the first sample of the sample data to the a-th sample (1
To a) correspond to the unit 1 and a + 1 of the sample data
From sample number b to sample number b (a + 1 to
b) corresponds to the unit 2. Then, (c to N) from the c-th sample to the last (N-th) sample of the sample data correspond to the unit n.

【0009】ここで、サンプルデータの各サンプルのビ
ット数は、対応するユニット(1〜n)のワード長コー
ドによって規定されている。すなわち、各ワード長コー
ドおよび各スケール因子コードのビット数はそれぞれ一
律(mビット、eビット)に規定されているが、サンプ
ルデータの各サンプルのビット数は一律にはならない。
そのため、1グループ全体としてのデータ長(kバイ
ト)も一律にはならない。
Here, the number of bits of each sample of the sample data is defined by the word length code of the corresponding unit (1 to n). That is, the number of bits of each word length code and each scale factor code are defined uniformly (m bits, e bits), but the number of bits of each sample of sample data is not uniform.
Therefore, the data length (k bytes) of the entire group is not uniform.

【0010】このような方法による量子化・逆量子化
は、音響や画像等のデータの圧縮処理に利用することが
考えられる。例えば、オーディオ信号の処理に利用する
場合は、先ず、時間軸上のオーディオ信号をA/D変換
したディジタルオーディオデータを適宜な時間窓で切り
出す。その時間窓で切り出した各ディジタルオーディオ
データがそれぞれ前記1グループのデータに対応してい
る。そして、切り出されたディジタルオーディオデータ
を、適宜な直交変換(離散的フーリエ変換(DFT)や
離散的余弦変換(DCT)または改良離散的余弦変換
(MDCT)等)によって周波数軸上に変換して、適宜
な周波数幅の複数個の信号成分に分解する。
[0010] The quantization / inverse quantization by such a method is considered to be used for compression processing of data such as sound and image. For example, when using for audio signal processing, first, digital audio data obtained by A / D conversion of an audio signal on a time axis is cut out by an appropriate time window. Each piece of digital audio data cut out in the time window corresponds to the one group of data. Then, the cut-out digital audio data is transformed on the frequency axis by an appropriate orthogonal transform (such as a discrete Fourier transform (DFT), a discrete cosine transform (DCT), or an improved discrete cosine transform (MDCT)). The signal is decomposed into a plurality of signal components having an appropriate frequency width.

【0011】その複数個の信号成分を、人間の聴覚の雑
音に対する感覚や周波数分析能力(周波数分解能)に基
づく臨界帯域幅(クリティカルバンドと呼ばれ、高域ほ
ど帯域幅が広くなる))をもとにして決められるバンド
でまとめる。そのバンドでまとめた複数個の信号成分が
前記1ユニットのデータに対応している。
The plurality of signal components have a critical bandwidth (referred to as a critical band, the higher the frequency, the wider the bandwidth) based on the human perception of noise and the frequency analysis capability (frequency resolution). Put together a band that can be decided. A plurality of signal components put together in the band correspond to the data of one unit.

【0012】そして、各信号成分を前記ワード長コード
およびスケール因子値を用いて量子化し、図5に示すよ
うなシリアルデータ列として記録媒体(光ディスク,光
磁気ディスク,磁気テープ等)への書き込み(または、
伝送路への送新)を行う。逆量子化においては、前記し
たように、サンプルデータとそのサンプルデータに対応
するワード長コードおよびスケール因子値から、サンプ
ルデータを逆量子化したデータ(すなわち、前記信号成
分)を求めるようにするわけである。
Then, each signal component is quantized using the word length code and the scale factor value, and written into a recording medium (optical disk, magneto-optical disk, magnetic tape, etc.) as a serial data string as shown in FIG. Or
Transmission to the transmission path). In the inverse quantization, as described above, data obtained by inversely quantizing the sample data (that is, the signal component) is obtained from the sample data, the word length code corresponding to the sample data, and the scale factor value. It is.

【0013】[0013]

【発明が解決しようとする課題】ところで、上記の方法
では、逆量子化回路内にバッファRAMが設けられてお
り、シリアル転送されてきた1グループのデータは一旦
そのバッファRAMに蓄えられるようになっている。
By the way, in the above method, a buffer RAM is provided in the inverse quantization circuit, and one group of data serially transferred is temporarily stored in the buffer RAM. ing.

【0014】そして、バッファRAMから読み出された
ワード長コードから、前記式(1)の〔1/(2WL-1
1)〕の値を求めてその値をレジスタAに格納してい
る。また、バッファRAMから読み出されたスケール因
子コードからスケール因子値SFを求めてその値をレジス
タBに格納している。次に、各レジスタA,Bに格納さ
れている値を乗算器Aによって乗算し、その結果〔SF/
(2WL-1−1)〕をレジスタCに格納している。
Then, from the word length code read from the buffer RAM, [1 / (2 WL−1
1)] and the value is stored in the register A. Further, the scale factor value SF is obtained from the scale factor code read from the buffer RAM, and the value is stored in the register B. Next, the values stored in the registers A and B are multiplied by the multiplier A, and the result [SF /
(2 WL-1 -1)] is stored in the register C.

【0015】続いて、ワード長コードおよびスケール因
子コードのユニットに対応するサンプルデータの各サン
プルをバッファRAMから順次読み出す。そして、バッ
ファRAMから読み出したサンプルデータの各サンプル
とレジスタCに格納されている乗算結果〔SF/(2WL-1
−1)〕とを乗算器Bによって次々に乗算し、ユニット
毎に逆量子化されたデータを求めている。
Subsequently, each sample of the sample data corresponding to the unit of the word length code and the scale factor code is sequentially read from the buffer RAM. Then, each sample of the sample data read from the buffer RAM is multiplied by the multiplication result [SF / (2 WL-1 ) stored in the register C.
-1)] are successively multiplied by the multiplier B to obtain dequantized data for each unit.

【0016】すなわち、乗算器Bによる乗算が終了して
乗算器Bから逆量子化されたデータが出力され終えた後
に、再度、バッファRAMにアクセスし、サンプルデー
タの次のサンプルを読み出すという処理を繰り返すわけ
である。従って、バッファRAMから次のサンプルを読
み出している間、乗算器Bは何の処理もしていないこと
になる。言わば、バッファRAMへのアクセス中、乗算
器Bは「遊んで」いることになる。
That is, after the multiplication by the multiplier B is completed and the dequantized data is output from the multiplier B, the buffer RAM is again accessed to read the next sample of the sample data. I repeat. Therefore, while the next sample is being read from the buffer RAM, the multiplier B is not performing any processing. In other words, during access to the buffer RAM, multiplier B is "idle".

【0017】ところで、近年、逆量子化回路の回路規模
をより小さくすると共に、逆量子化の処理速度をさらに
高めることが要求されている。そのため、上記の方法で
設けられている3つのレジスタA〜Cおよび2つの乗算
器A,Bの数を減らすことが求められている。さらに、
バッファRAMへのアクセスと乗算器Bの演算処理とを
同時に行わせることにより、効率良く処理を行って処理
時間を短縮することが求められている。加えて、バッフ
ァRAMへのアクセス回数を少なくして処理速度を高め
ることも求められている。
In recent years, it has been required to further reduce the circuit scale of the inverse quantization circuit and further increase the processing speed of the inverse quantization. Therefore, it is required to reduce the numbers of the three registers A to C and the two multipliers A and B provided by the above method. further,
By simultaneously accessing the buffer RAM and performing the arithmetic processing of the multiplier B, it is required to perform the processing efficiently and reduce the processing time. In addition, there is a demand for increasing the processing speed by reducing the number of accesses to the buffer RAM.

【0018】また、上記の逆量子化演算は固定小数点法
によって行われている。そのため、1グループ全体での
データのオーダが大きく(すなわち、1グループ中の最
大のスケール因子値が大きく)、演算に使用するワード
長が小さい場合には、小さなデータの値が「0」になっ
てしまい逆量子化の精度が低下するという問題があっ
た。
The above-described inverse quantization operation is performed by a fixed point method. Therefore, when the order of data in the entire group is large (that is, the maximum scale factor value in one group is large) and the word length used in the operation is small, the value of the small data becomes “0”. As a result, there is a problem that the precision of inverse quantization is reduced.

【0019】そこで、演算に使用するワード長を大きく
して、小数点以下にも十分なワード長を割り当てること
が考えられている。しかしながら、演算に使用するワー
ド長を大きくすると逆量子化回路の回路規模が大きくな
るという問題がある。また、演算に使用するワード長は
小さいままで、1グループ全体でのデータのオーダを小
さく設定することも考えられるが、その場合はやはり逆
量子化の精度が低下してしまうという問題がある。例え
ば、オーディオ信号の処理に利用する際には、ダイナミ
ックレンジが狭くなるという問題が生じる。
Therefore, it has been considered to increase the word length used for the operation and to allocate a sufficient word length even after the decimal point. However, when the word length used for the operation is increased, there is a problem that the circuit scale of the inverse quantization circuit increases. In addition, it is conceivable to set the data order of the entire group to be small while keeping the word length used for the operation small. However, in this case, there is a problem that the precision of the inverse quantization is reduced. For example, when used for processing an audio signal, there is a problem that a dynamic range is narrowed.

【0020】本発明は上記要求および問題点を解決する
ためになされたものであって、第1の発明の目的は、回
路規模を縮小した上で逆量子化の処理速度を高めること
が可能なディジタル信号処理装置を提供することにあ
る。また、第2の発明の目的は、1グループ全体でのデ
ータのオーダが大きな場合でも演算に使用するワード長
を大きくすることなく逆量子化の精度を高めることが可
能なディジタル信号処理装置を提供することにある
SUMMARY OF THE INVENTION The present invention has been made to solve the above demands and problems, and an object of the first invention is to increase the processing speed of inverse quantization while reducing the circuit scale. An object of the present invention is to provide a digital signal processing device. A second object of the present invention is to provide a digital signal processing apparatus capable of improving the accuracy of inverse quantization without increasing the word length used for calculation even when the data order of the entire group is large. Is to do .

【0021】[0021]

【課題を解決するための手段】第1の発明は、標本化し
たデータを適宜な個数分ずつひとまとめにして各ユニッ
トとし、量子化のビット数であるワード長コードと、規
格化したときの値の大きさであるスケール因子値とを各
ユニット毎に割り当てて量子化を行い、ユニットを適宜
な個数分ずつひとまとめにして各グループとし、量子化
されたデータであるサンプルデータの各サンプルと、当
該スケール因子値をコード変換したスケール因子コード
と、当該ワード長コードとからなる1グループのデータ
とをグループ単位でシリアル転送し、シリアル転送され
てきたデータを1グループの各ユニット毎に逆量子化す
るディジタル信号処理装置において、シリアル転送され
てきた1グループのデータを蓄えるバッファRAMと、
バッファRAMに蓄えられている1グループのデータを
読み出し、読み出したデータを適宜なビット数毎に切り
出して転送するビット切り出しシフタと、ビット切り出
しシフタが切り出した任意のユニットに対応するワード
長コードを逆量子化に必要なデータ形式に変換する第1
のデコーダと、ビット切り出しシフタが切り出した任意
のユニットに対応するスケール因子コードをスケール因
子値に変換する第2のデコーダと、第1のデコーダが変
換したデータと第2のデコーダが変換したスケール因子
値とを乗算すると共に、その乗算結果とビット切り出し
シフタが切り出した任意のユニットに対応するサンプル
データのサンプルとを乗算して逆量子化データとして出
力する乗算器と、第1のデコーダが変換したデータ、又
はビット切り出しシフタが切り出した任意のユニットに
対応するサンプルデータの任意のサンプルのいずれかを
格納して乗算器に出力する第1のレジスタと、第2のデ
コーダが変換したスケール因子値、又は乗算器による第
1のデコーダが変換したデータと第2のデコーダが変換
したスケール因子値との乗算結果のいずれかを格納して
乗算器に出力する第2のレジスタとを備えたことをその
要旨とする。
According to a first aspect of the present invention, an appropriate number of sampled data are grouped together to form each unit, and a word length code, which is the number of bits of quantization, and a value when normalized A scale factor value, which is the size of, is assigned to each unit and quantization is performed, and an appropriate number of units are grouped together to form each group, and each sample of sample data that is quantized data, One group of data consisting of the scale factor code obtained by code conversion of the scale factor value and the word length code is serially transferred in units of groups, and the serially transferred data is inversely quantized for each unit of one group. A buffer RAM for storing one group of serially transferred data in the digital signal processing device;
A bit cutout shifter that reads one group of data stored in the buffer RAM, cuts out the readout data for each appropriate number of bits, and transfers the readout data, and reverses a word length code corresponding to an arbitrary unit cut out by the bit cutout shifter. First to convert to the data format required for quantization
, A second decoder for converting a scale factor code corresponding to an arbitrary unit extracted by the bit extraction shifter into a scale factor value, and data converted by the first decoder and a scale factor converted by the second decoder. A multiplier that multiplies the result by a value, multiplies the result of the multiplication by a sample of sample data corresponding to an arbitrary unit cut out by the bit cutout shifter, and outputs the result as dequantized data; A first register for storing either data or any sample of sample data corresponding to any unit cut out by the bit cutout shifter and outputting the same to the multiplier; a scale factor value converted by the second decoder; Or the data converted by the first decoder by the multiplier and the scale factor converted by the second decoder Further comprising a second register for the multiplier to store the one of the multiplication result between the gist of.

【0022】また、第2の発明は、標本化したデータを
適宜な個数分ずつひとまとめにして各ユニットとし、量
子化のビット数であるワード長コードと、規格化したと
きの値の大きさであるスケール因子値とを各ユニット毎
に割り当てて量子化を行い、ユニットを適宜な個数分ず
つひとまとめにして各グループとし、量子化されたデー
タであるサンプルデータの各サンプルと、当該スケール
因子値をコード変換したスケール因子コードと、当該ワ
ード長コードとからなる1グループのデータとをグルー
プ単位でシリアル転送し、シリアル転送されてきたデー
タを1グループの各ユニット毎に逆量子化し、逆量子化
データとして出力するディジタル信号処理装置におい
て、1グループの各ユニットを適宜な個数分ずつひとま
とめにしたブロック毎に、任意のユニットに対応するス
ケール因子コードを、適宜な基数を用いてスケール因子
値を浮動小数点表示したときにおける指数の値であるス
ケール因子オーダに変換する第3のデコーダと、第3の
デコーダが変換したスケール因子オーダに従って、1ブ
ロックにおけるスケール因子オーダの最大値を求めて小
数点位置を決定するブロック・オーダ算出回路部と、前
記逆量子化データに対応するユニットについて、ブロッ
ク・オーダ算出回路部が求めたスケール因子オーダの最
大値から、第3のデコーダが変換したスケール因子オー
ダを減算する減算器と、減算器の減算結果に基づいて、
前記逆量子化データを、ブロック・オーダ算出回路部に
よって決定された小数点位置に合わせて出力するシフタ
とを備えたことをその要旨とする。
In the second invention, the sampled data is grouped by an appropriate number to form each unit, and a word length code, which is the number of bits of quantization, and a magnitude of a value when normalized. A certain scale factor value is assigned to each unit and quantization is performed, and an appropriate number of units are grouped together into groups, and each sample of the sample data that is the quantized data and the scale factor value are calculated. A serial transfer of one group of data consisting of the code-converted scale factor code and the word length code is performed in units of groups, and the serially transferred data is inversely quantized for each unit of the group, and the inversely quantized data In a digital signal processing device that outputs as a unit, a block in which each unit of one group is grouped by an appropriate number A third decoder for converting a scale factor code corresponding to an arbitrary unit into a scale factor order which is an exponent value when the scale factor value is displayed in a floating point using an appropriate radix; and a third decoder. And a block order calculation circuit for determining the maximum value of the scale factor order in one block to determine the position of the decimal point in accordance with the scale factor order obtained by the conversion, and a block order calculation circuit for a unit corresponding to the dequantized data. Subtracts the scale factor order converted by the third decoder from the maximum value of the scale factor order obtained by the subtractor, and based on the subtraction result of the subtractor,
The gist of the invention is to include a shifter that outputs the inversely quantized data in accordance with the decimal place determined by the block order calculation circuit.

【0023】[0023]

【0024】[0024]

【作用】従って第1の発明によれば、1つのユニットに
ついて、第1のデコーダが変換したデータを第1のレジ
スタに格納すると共に、第2のデコーダが変換したスケ
ール因子値を第2のレジスタに格納する。次に、第1お
よび第2のレジスタに格納されている値を乗算器によっ
て乗算し、その結果を、スケール因子値が読み出されて
空になっている第2のレジスタに格納する。
Therefore, according to the first invention, for one unit, the data converted by the first decoder is stored in the first register, and the scale factor value converted by the second decoder is stored in the second register. To be stored. Next, the values stored in the first and second registers are multiplied by the multiplier, and the result is stored in the second register whose scale factor value has been read out and is empty.

【0025】続いて、そのユニットに対応するサンプル
データの各サンプルを、ビット切り出しシフタによって
バッファRAMから順次切り出す。そして、サンプルデ
ータの各サンプルと第2のレジスタに格納されている乗
算結果とを乗算器によって次々に乗算して、その各乗算
結果を逆量子化データとして出力する。これを各ユニッ
ト毎に繰り返して行うことにより、1グループの全ユニ
ットについて逆量子化データを求める。
Subsequently, each sample of the sample data corresponding to the unit is sequentially cut out from the buffer RAM by the bit cutout shifter. Then, each sample of the sample data and the multiplication result stored in the second register are successively multiplied by a multiplier, and each multiplication result is output as dequantized data. By repeatedly performing this for each unit, inverse quantization data is obtained for all units in one group.

【0026】このとき、乗算器がサンプルデータの各サ
ンプルと第2のレジスタに格納されている乗算結果とを
乗算している間に、バッファRAMから次のサンプルデ
ータが読み出されている。そのため、この読み出された
サンプルデータがすぐに第1のレジスタに格納され、乗
算器は速やかに次の乗算を行うことができる。すなわ
ち、バッファRAMから読み出したサンプルデータを一
旦第1のレジスタに格納させることにより、バッファR
AMへのアクセスと乗算器の演算処理とを同時に行わせ
ることができ、効率良く処理が行われるため処理時間を
短縮することができる。
At this time, while the multiplier multiplies each sample of the sample data by the multiplication result stored in the second register, the next sample data is read from the buffer RAM. Therefore, the read sample data is immediately stored in the first register, and the multiplier can immediately perform the next multiplication. That is, by temporarily storing the sample data read from the buffer RAM in the first register, the buffer R
The access to the AM and the arithmetic processing of the multiplier can be performed at the same time, and the processing is efficiently performed, so that the processing time can be reduced.

【0027】また、第2の発明によれば、各ブロック毎
にスケール因子オーダの最大値を求め、そのスケール因
子オーダの最大値に対してそのブロック内の各ユニット
に対応するスケール因子オーダ分だけ、逆量子化データ
の小数点位置をシフトさせる。すなわち、各ブロック毎
に扱うデータの最大値を考慮して小数点位置の合わせ込
みを行うことにより、小数点位置を最適化して演算精度
を向上させることができる。その結果、逆量子化の精度
を高めることができる。
According to the second invention, the maximum value of the scale factor order is obtained for each block, and the maximum value of the scale factor order is determined by the scale factor order corresponding to each unit in the block. , The decimal point position of the inversely quantized data is shifted. That is, by adjusting the decimal point position in consideration of the maximum value of the data handled for each block, the decimal point position can be optimized and the calculation accuracy can be improved. As a result, the accuracy of the inverse quantization can be increased.

【0028】[0028]

【0029】[0029]

【実施例】以下、本発明を具体化した一実施例を図1〜
図6に従って説明する。尚、本実施例で処理するディジ
タル信号の構成は、図5および図6に示す従来例と同じ
であるためその詳細な説明を省略する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS One embodiment of the present invention will now be described with reference to FIGS.
This will be described with reference to FIG. The configuration of the digital signal processed in this embodiment is the same as that of the conventional example shown in FIGS. 5 and 6, and a detailed description thereof will be omitted.

【0030】図1に、本実施例の逆量子化回路11のブ
ロック回路図を示す。図5に示すような量子化された1
グループのシリアルデータが記録媒体から読み出されて
(または、伝送路から送られて)、逆量子化回路11に
入力される。
FIG. 1 is a block circuit diagram of the inverse quantization circuit 11 of the present embodiment. Quantized 1 as shown in FIG.
The serial data of the group is read from the recording medium (or sent from the transmission path) and input to the inverse quantization circuit 11.

【0031】逆量子化回路11内にはバッファRAM1
2が設けられており、1グループのデータは一旦バッフ
ァRAM12に蓄えられる。ビット切り出しシフタ13
は、バッファRAM12に蓄えられている1グループの
データを読み出し、読み出したデータを適宜なビット数
毎に切り出して転送する。
A buffer RAM 1 is provided in the inverse quantization circuit 11.
2 are provided, and one group of data is temporarily stored in the buffer RAM 12. Bit cutout shifter 13
Reads one group of data stored in the buffer RAM 12, cuts out the read data for an appropriate number of bits, and transfers the data.

【0032】まず、ワード長コード(先頭ビットからm
×nビット目)の中から、所望の(ユニットi番目の;
i=1〜n)ワード長コードを含むデータを、バッファ
RAM12から読み出す。そして、ビット切り出しシフ
タ13は、このデータの中から所望のワード長コード
(mビット分)を切り出して、ワード長コード・レジス
タ14に転送する。
First, a word length code (m from the first bit)
× n-th bit), a desired (unit i-th;
i = 1 to n) Read data including the word length code from the buffer RAM 12. Then, the bit cutout shifter 13 cuts out a desired word length code (m bits) from the data and transfers it to the word length code register 14.

【0033】次に、スケール因子コード(n×n+1ビ
ットからm×n+e×n)の中から、所望の(ユニット
i番目の)スケール因子コードを含むデータを、バッフ
ァRAM12から読み出す。そして、ビット切り出しシ
フタ13は、このデータの中から所望のスケール因子コ
ード(eビット分)を切り出して、スケール因子コード
・レジスタ15に転送する。
Next, from the buffer RAM 12, data including a desired (unit i-th) scale factor code is read out of the scale factor codes (n × n + 1 bits to m × n + e × n). Then, the bit cutout shifter 13 cuts out a desired scale factor code (e bits) from the data and transfers it to the scale factor code register 15.

【0034】ワード長コード・レジスタ14およびスケ
ール因子コード・レジスタ15はそれぞれ、ビット切り
出しシフタ13から転送されてくるデータを格納する。
これにより、ワード長コード・レジスタ14にはユニッ
ト1〜nのある1つのワード長コードが格納され、スケ
ール因子コード・レジスタ15にはユニット1〜nのあ
る1つのスケール因子コードが格納される。
Each of the word length code register 14 and the scale factor code register 15 stores data transferred from the bit cutout shifter 13.
Thus, the word length code register 14 stores one word length code of units 1 to n, and the scale factor code register 15 stores one scale factor code of units 1 to n.

【0035】〔1/(2WL-1−1)〕値デコーダ16
は、ワード長コード・レジスタ14に格納されているワ
ード長コードを先頭からmビット毎(すなわち、1ユニ
ット毎)に読み出す。そして、〔1/(2WL-1−1)〕
値デコーダ16は、各ユニットに対応する前記式(1)
の〔1/(2WL-1−1)〕の値を求めてレジスタ17に
転送する。
[1 / (2 WL-1 -1)] value decoder 16
Reads the word length code stored in the word length code register 14 every m bits (that is, for each unit) from the beginning. Then, [1 / (2 WL-1 -1)]
The value decoder 16 calculates the equation (1) corresponding to each unit.
The value of [1 / (2 WL-1 -1)] is obtained and transferred to the register 17.

【0036】スケール因子値デコーダ18は、スケール
因子コード・レジスタ15に格納されているスケール因
子コードを先頭からeビット毎(すなわち、1ユニット
毎)に読み出す。そして、スケール因子値デコーダ18
は、予め定めてあるテーブルを検索することによりスケ
ール因子コードを変換し、各ユニットに対応するスケー
ル因子値SFを求めてレジスタ19に転送する。
The scale factor value decoder 18 reads out the scale factor code stored in the scale factor code register 15 from the beginning every e bits (ie, every unit). Then, the scale factor value decoder 18
Converts the scale factor code by searching a predetermined table, finds a scale factor value SF corresponding to each unit, and transfers it to the register 19.

【0037】レジスタ17は〔1/(2WL-1−1)〕値
デコーダ16から転送されてくるデータを格納する。一
方、レジスタ19はスケール因子値デコーダ18から転
送されてくるデータを格納する。これにより、レジスタ
17には任意のユニット(1〜n)に対応する〔1/
(2WL-1−1)〕の値が格納され、レジスタ19にはレ
ジスタ17と同じユニット(1〜n)に対応するスケー
ル因子値SFが格納される。
The register 17 stores the data transferred from the [1 / (2 WL-1 -1)] value decoder 16. On the other hand, the register 19 stores the data transferred from the scale factor value decoder 18. Thereby, the register 17 corresponds to an arbitrary unit (1 to n) [1 /
(2 WL-1 -1)], and the register 19 stores the scale factor value SF corresponding to the same unit (1 to n) as the register 17.

【0038】乗算器20は、各レジスタ17,19に格
納されているデータを読み出し、両データを乗算して前
記式(1)の〔SF/(2WL-1−1)〕の値を求める。乗
算器20が各レジスタ17,19に格納されているデー
タを読み出し終えた時点で、両レジスタ17,19は空
になっている。そこで、乗算器20は求めた値をレジス
タ19に転送して格納させる。これにより、レジスタ1
9には任意のユニットに対応する〔SF/(2WL-1
1)〕の値が格納される。
The multiplier 20 reads the data stored in each of the registers 17 and 19 and multiplies the two data to obtain the value of [SF / (2 WL-1 -1)] in the above equation (1). . When the multiplier 20 finishes reading the data stored in the registers 17, 19, both registers 17, 19 are empty. Therefore, the multiplier 20 transfers the obtained value to the register 19 and stores it. Thereby, the register 1
9 corresponds to an arbitrary unit [SF / (2 WL-1-
1)] is stored.

【0039】そして、レジスタ17が空になると、ビッ
ト切り出しシフタ13は、バッファRAM12に蓄えら
れている1グループのサンプルデータのうち、あるユニ
ットの先頭ビットからワード長コードに基づいたビット
数毎(すなわち、サンプルデータの各サンプル毎)に切
り出す。そして、ビット切り出しシフタ13は、切り出
したデータ(すなわち、サンプルデータの各サンプル)
を順次、空になっているレジスタ17に転送する。
When the register 17 becomes empty, the bit cutout shifter 13 sets the number of bits (ie, the number of bits) based on the word length code from the head bit of a certain unit in one group of sample data stored in the buffer RAM 12. , For each sample of sample data). The bit cutout shifter 13 outputs the cutout data (that is, each sample of the sample data).
Are sequentially transferred to the empty register 17.

【0040】レジスタ17はビット切り出しシフタ13
から転送されてくる、あるユニットのサンプルデータの
任意のサンプルを格納する。一方、レジスタ19には
〔SF/(2WL-1−1)〕の値が格納されている。
The register 17 is a bit cutout shifter 13
Stores an arbitrary sample of the sample data of a certain unit transferred from. On the other hand, the value of [SF / (2 WL−1 −1)] is stored in the register 19.

【0041】そして、乗算器20は、各レジスタ17,
19に格納されているデータを読み出し、両データを乗
算して前記式(1)の〔A・SF/(2WL-1−1)〕の値
(すなわち、逆量子化されたデータ)を求める。
Then, the multiplier 20 determines whether each of the registers 17,
The data stored in No. 19 is read out, and the two data are multiplied to obtain the value of [A · SF / (2 WL−1 −1)] (ie, the inversely quantized data) in the above equation (1). .

【0042】このとき、乗算器20が各レジスタ17,
19に格納されているデータを読み出し終えた時点で、
両レジスタ17,19は空になっている。従って、乗算
器20が〔A・SF/(2WL-1−1)〕の値を乗算してい
る間に、ビット切り出しシフタ13はサンプルデータの
次のサンプルを切り出し、レジスタ17に転送して格納
させることができる。そのため、乗算器20が任意のサ
ンプルについて〔A・SF/(2WL-1−1)〕の値を乗算
し終えた時点で、レジスタ17には次のサンプルが格納
されており、乗算器20はすぐに次の乗算を行うことが
できる。
At this time, the multiplier 20 sets each of the registers 17,
At the time when the data stored in No. 19 has been read,
Both registers 17, 19 are empty. Therefore, while the multiplier 20 is multiplying the value of [A · SF / (2 WL−1 −1)], the bit cutout shifter 13 cuts out the next sample of the sample data and transfers it to the register 17. Can be stored. Therefore, when the multiplier 20 finishes multiplying the value of [A · SF / (2 WL−1 −1)] for an arbitrary sample, the register 17 stores the next sample. Can immediately perform the next multiplication.

【0043】言わば、バッファRAM12へのアクセス
中も乗算器20は「遊んで」いないことになる。すなわ
ち、ビット切り出しシフタ13によるバッファRAM1
2からのサンプルデータの各サンプルの切り出し及び切
り出したサンプルのレジスタ17への格納と、乗算器2
0によるレジスタ17からのサンプルの読み出し及び演
算処理とはパイプライン的に行われるわけである。
In other words, the multiplier 20 does not "play" while accessing the buffer RAM 12. That is, the buffer RAM 1 by the bit cutout shifter 13
Of each sample of the sample data from the sampler 2 and storage of the sampled sample in the register 17;
The reading of the sample from the register 17 by 0 and the arithmetic processing are performed in a pipeline manner.

【0044】スケール因子オーダ・デコーダ21は、ス
ケール因子コード・レジスタ15に格納されている1ユ
ニットのスケール因子コードを順次、各ブロック毎に読
み出す。
The scale factor order decoder 21 sequentially reads one unit of scale factor code stored in the scale factor code register 15 for each block.

【0045】ここで、ブロックとは、1グループの各ユ
ニットを適宜な個数分ずつひとまとめにしたものであ
る。例えば、1グループを3つのブロックで分割した場
合は、ユニット1〜αがブロック1に対応し、ユニット
α+1〜βがブロック2に対応し、ユニットβ+1〜n
がブロック3に対応しているといった具合である。
Here, the block is obtained by grouping the units of one group by an appropriate number. For example, when one group is divided into three blocks, units 1 to α correspond to block 1, units α + 1 to β correspond to block 2, and units β + 1 to n
Corresponds to the block 3.

【0046】すなわち、スケール因子オーダ・デコーダ
21は、各ブロックについて、そのブロックに対応する
スケール因子コードをそのブロックの先頭からeビット
毎(すなわち、1ユニット毎)に読み出す。そして、ス
ケール因子オーダ・デコーダ21は、予め定めてあるテ
ーブルを検索することによりスケール因子コードを変換
し、各ユニットに対応するスケール因子オーダを求めて
比較器22に転送する。
That is, for each block, the scale factor order decoder 21 reads a scale factor code corresponding to the block from the head of the block for every e bits (that is, for each unit). Then, the scale factor order decoder 21 converts the scale factor code by searching a predetermined table, obtains a scale factor order corresponding to each unit, and transfers the scale factor order to the comparator 22.

【0047】ここで、スケール因子オーダとは、対応す
るスケール因子値を基数に2を用いて浮動小数点表示し
たときにおける指数の値である。比較器22の出力はス
ケール因子オーダ最大値レジスタ23に格納され、スケ
ール因子オーダ最大値レジスタ23から読み出されたス
ケール因子オーダは比較器22に戻される。比較器22
は、スケール因子オーダ・デコーダ21から転送されて
くるスケール因子オーダとスケール因子オーダ最大値レ
ジスタ23から読み出されたスケール因子オーダとを比
較し、大きい方の値をスケール因子オーダ最大値レジス
タ23に出力して格納させる。
Here, the scale factor order is a value of an exponent when the corresponding scale factor value is displayed as a floating point using 2 as a radix. The output of the comparator 22 is stored in the scale factor order maximum value register 23, and the scale factor order read from the scale factor order maximum value register 23 is returned to the comparator 22. Comparator 22
Compares the scale factor order transferred from the scale factor order decoder 21 with the scale factor order read from the scale factor order maximum value register 23, and stores the larger value in the scale factor order maximum value register 23. Output and store.

【0048】すなわち、スケール因子オーダ・デコーダ
21が1つのブロックについて1番目のスケール因子コ
ードを求めた時点で、スケール因子オーダ最大値レジス
タ23を空にしておく。すると、比較器22は、スケー
ル因子オーダ・デコーダ21が求めた1番目のスケール
因子コードをスケール因子オーダ最大値レジスタ23に
出力して格納させる。そして、スケール因子オーダ・デ
コーダ21が同じブロックについて2番目のスケール因
子コードを求めると、比較器22は、1番目と2番目の
スケール因子コードを比べて大きい方のスケール因子コ
ードをスケール因子オーダ最大値レジスタ23に出力し
て格納させる。この処理を、1つのブロックの全てのス
ケール因子コードについて繰り返すわけである。
That is, when the scale factor order decoder 21 obtains the first scale factor code for one block, the scale factor order maximum value register 23 is left empty. Then, the comparator 22 outputs the first scale factor code obtained by the scale factor order decoder 21 to the scale factor order maximum value register 23 and stores the same. When the scale factor order decoder 21 obtains the second scale factor code for the same block, the comparator 22 compares the first scale factor code with the second scale factor code and outputs the larger scale factor code to the maximum scale factor order. It is output to the value register 23 and stored. This process is repeated for all scale factor codes in one block.

【0049】その結果、スケール因子オーダ・デコーダ
21が1つのブロックの全てのスケール因子コードを順
次求めて転送し終えた時点で、スケール因子オーダ最大
値レジスタ23に格納されているのは、最も大きなスケ
ール因子コードということになる。
As a result, when the scale factor order decoder 21 has sequentially obtained and transferred all the scale factor codes of one block, the largest value stored in the scale factor order maximum value register 23 is the largest. It is a scale factor code.

【0050】減算器24は、スケール因子オーダ・デコ
ーダ21に格納されているスケール因子オーダの最大値
から、スケール因子オーダ・デコーダ21が求めた各ユ
ニットに対応するスケール因子オーダを減算する。
The subtractor 24 subtracts the scale factor order corresponding to each unit obtained by the scale factor order decoder 21 from the maximum value of the scale factor order stored in the scale factor order decoder 21.

【0051】シフタ25は、減算器24の減算結果に基
づいて乗算器20から出力される逆量子化されたデータ
を、スケール因子オーダ最大値から決定される小数点位
置に合わせ、逆量子化回路11の出力データとして出力
する。
The shifter 25 adjusts the dequantized data output from the multiplier 20 based on the subtraction result of the subtractor 24 to the decimal point position determined from the maximum value of the scale factor order. Output as output data.

【0052】これは、各ブロック毎にスケール因子オー
ダの最大値から各ブロックの小数点位置を決定する。そ
して、決定したスケール因子オーダの最大値に対してそ
のブロック内の各ユニットに対応するスケール因子オー
ダ分だけ、そのユニットの逆量子化されたデータをシフ
トさせ、各ブロックの小数点位置に従ったデータを出力
しているわけである。つまり、演算で扱うデータのオー
ダに応じて各ブロック毎に小数点の位置を自由に決めて
いるわけであって、各ブロック毎に浮動小数点法を用い
ていることになる(以下、この方法をブロック浮動小数
点法という)。
In this method, the decimal point position of each block is determined from the maximum value of the scale factor order for each block. Then, the dequantized data of the unit is shifted by the scale factor order corresponding to each unit in the block with respect to the determined maximum value of the scale factor order, and the data according to the decimal point position of each block is shifted. Is output. In other words, the position of the decimal point is freely determined for each block according to the order of the data handled in the calculation, and the floating point method is used for each block (hereinafter, this method is referred to as a block method). Floating-point method).

【0053】例えば、図2に示すように、扱うデータが
10進数で0.01〜100、演算に使用するワード長
が8ビットの場合、固定小数点法では、最大のデータ
「100」を表すためには、2進表示で7ビット(=1
28)必要になる。このとき、0.5以下のデータは
「00000000」と全ビットが「0」になってしま
い、区別して表すことができなくなってしまう。
For example, as shown in FIG. 2, when the data to be handled is a decimal number of 0.01 to 100 and the word length used for the operation is 8 bits, the maximum data "100" is represented by the fixed-point method. Has 7 bits in binary notation (= 1
28) Required. At this time, data of 0.5 or less becomes “00000000” and all bits become “0”, and cannot be distinguished and represented.

【0054】それに対して、ブロック浮動小数点法で
は、1グループ全体で扱うデータが10進数で0.01
〜100であっても、1つのブロックにおけるデータの
オーダが10進数で0.01〜10の場合は、最大のデ
ータ「10」を表すために2進表示で4ビット必要にな
るだけであるため、小数点以下にも4ビットを割り当て
ることができる。また、ブロック浮動小数点法では、1
グループ全体で扱うデータが10進数で0.01〜10
0であっても、1つのブロックにおけるデータのオーダ
が10進数で0.01〜1の場合は、最大のデータ
「1」を表すために2進表示で1ビット必要になるだけ
であるため、小数点以下に7ビットを割り当てることが
できる。従って、データのオーダが小さいブロックで
は、扱うデータが小さくても正確に表すことができる。
On the other hand, in the block floating-point method, data handled in one group as a whole is 0.01 decimal.
Even if the data order is from 100 to 100, if the data order in one block is from 0.01 to 10 in decimal, only 4 bits are required in binary notation to represent the maximum data "10". , 4 bits can be assigned to the decimal point. In the block floating point method, 1
Data handled by the whole group is 0.01 to 10 in decimal
Even if it is 0, if the data order in one block is 0.01 to 1 in decimal, only one bit is required in binary notation to represent the maximum data "1". Seven bits can be allocated below the decimal point. Therefore, a block with a small data order can be accurately represented even if the data to be handled is small.

【0055】すなわち、各ブロック毎に扱うデータの最
大値を考慮して小数点位置の合わせ込みを行うことによ
り、小数点位置を最適化して演算精度を向上させること
ができる。この演算精度の向上は、従来の固定小数点法
において演算精度が著しく低下してしてしまう小さなデ
ータに対して特に有効である。また、演算に使用するワ
ード長を大きくしなくてもよいため、逆量子化回路11
の回路規模が増大することはない。
That is, by adjusting the position of the decimal point in consideration of the maximum value of the data handled for each block, the position of the decimal point can be optimized and the calculation accuracy can be improved. This improvement in the calculation accuracy is particularly effective for small data in which the calculation accuracy is significantly reduced in the conventional fixed point method. Further, since it is not necessary to increase the word length used for the operation, the inverse quantization circuit 11
Is not increased.

【0056】このように本実施例においては、まず、1
つのユニットについて、〔1/(2 WL-1−1)〕の値を
求めてその値をレジスタ17に格納すると共に、スケー
ル因子値を求めてその値をレジスタ19に格納してい
る。次に、各レジスタ17,19に格納されている値を
乗算器20によって乗算し、その結果〔SF/(2WL-1
1)〕を、スケール因子コードが読み出されて空になっ
ているレジスタ19に格納している。
As described above, in this embodiment, first, 1
For one unit, [1 / (2 WL-1-1)]
Then, the value is stored in the register 17 and the scale
The factor value is obtained and stored in the register 19.
You. Next, the values stored in the registers 17 and 19 are
Multiplier 20 multiplies the result [SF / (2WL-1
1)], the scale factor code is read and emptied
Stored in the register 19.

【0057】続いて、そのユニットに対応するサンプル
データの各サンプルをバッファRAM12から順次切り
出す。そして、サンプルデータの各サンプルとレジスタ
19に格納されている乗算結果〔SF/(2WL-1−1)〕
とを乗算器20によって次々に乗算して、〔A・SF/
(2WL-1−1)〕の値を求めている。これを各ユニット
毎に繰り返して行うことにより、1グループの全ユニッ
トについて逆量子化されたデータを求めている。
Subsequently, each sample of the sample data corresponding to the unit is sequentially cut out from the buffer RAM 12. Then, each sample of the sample data and the multiplication result stored in the register 19 [SF / (2 WL-1 -1)]
Are successively multiplied by the multiplier 20 to obtain [A · SF /
(2 WL-1 -1)]. By repeatedly performing this for each unit, inversely quantized data is obtained for all units in one group.

【0058】このとき、乗算器20が〔A・SF/(2
WL-1−1)〕の値を乗算している間に、レジスタ17に
はサンプルデータの次のサンプルが格納されており、乗
算器20はすぐに次の乗算を行うことができる。すなわ
ち、バッファRAM12から読み出したサンプルデータ
を一旦レジスタ17に格納させることにより、バッファ
RAM12へのアクセスと乗算器20の演算処理とを同
時に行わせることができ、効率良く処理が行われるため
処理時間を短縮することができる。
At this time, the multiplier 20 sets [A · SF / (2
While multiplying by the value of WL- 1-1)], the next sample of the sample data is stored in the register 17, and the multiplier 20 can immediately perform the next multiplication. That is, by temporarily storing the sample data read from the buffer RAM 12 in the register 17, the access to the buffer RAM 12 and the arithmetic processing of the multiplier 20 can be performed at the same time. Can be shortened.

【0059】また、本実施例では、従来例における2つ
のレジスタB,Cを1つのレジスタ19に、また、2つ
の乗算器A,Bを1つの乗算器20に置き換えているた
め、従来例と比べて逆量子化回路11の回路規模を小さ
くすることができる。
Also, in this embodiment, the two registers B and C in the conventional example are replaced by one register 19 and the two multipliers A and B are replaced by one multiplier 20. In comparison, the circuit scale of the inverse quantization circuit 11 can be reduced.

【0060】さらに、本実施例では、各ブロック毎に求
めたスケール因子オーダにより、当該ブロックの小数点
位置を決定する。そして、当該スケール因子オーダの最
大値に対してそのブロック内の各ユニットに対応するス
ケール因子オーダ分だけ、逆量子化されたデータをシフ
トさせることにより、小数点位置を合わせたデータを出
力するブロック浮動小数点法を行っている。すなわち、
各ブロック毎に扱うデータの最大値を考慮して小数点位
置を決定し、出力データの合わせ込みを行っている。こ
れにより、演算に使用するワード長を大きくして回路規
模を増大させることなく、小数点位置を最適化して演算
精度を向上させることができる。その結果、逆量子化の
精度を高めることができる。
Further, in this embodiment, the decimal point position of the block is determined based on the scale factor order obtained for each block. Then, by shifting the dequantized data by the scale factor order corresponding to each unit in the block with respect to the maximum value of the scale factor order, a block floating point that outputs data with the decimal point position adjusted is output. The decimal point system is used. That is,
The position of the decimal point is determined in consideration of the maximum value of the data handled for each block, and the output data is adjusted. Thus, the precision of the decimal point can be optimized and the calculation accuracy can be improved without increasing the word length used in the calculation and increasing the circuit scale. As a result, the accuracy of the inverse quantization can be increased.

【0061】例えば、オーディオ信号の処理に利用する
場合、1グループを3つに分けた各グループをそれぞれ
低域,中域,高域に対応させ、各帯域についてブロック
浮動小数点法を行うことが考えられる。この場合は、定
常時にはレベルが低いが瞬間的に高いレベルになる高域
のオーディオ信号について特に有効になり、低いレベル
から高いレベルまで聴感に即して明瞭に再生することが
できる。
For example, in the case of using for audio signal processing, it is conceivable that one group is divided into three groups corresponding to the low band, the middle band, and the high band, respectively, and the block floating point method is performed for each band. Can be In this case, it is particularly effective for a high-frequency audio signal whose level is low in a steady state but instantaneously becomes a high level, and it is possible to clearly reproduce from a low level to a high level according to the audibility.

【0062】ところで、前記したように、サンプルデー
タの各サンプルのビット数は、対応するユニットのワー
ド長コードによって規定されている。すなわち、サンプ
ルデータの各サンプルのビット数は一律にはならない。
そのため、例えば、バッファRAM12のデータ幅が8
ビットでサンプルデータの任意のサンプルが16ビット
の場合、図3に示すように、そのサンプルのデータはバ
ッファRAM12の3アドレスにまたがることがある。
一方、バッファRAM12のデータ幅が16ビットでサ
ンプルデータの任意のサンプルが16ビットの場合、図
4に示すように、そのサンプルのデータはバッファRA
M12の2アドレス以内に納まり、3アドレスにまたが
ることはない。また、サンプルデータの任意のサンプル
が8ビットでバッファRAM12のデータ幅が8ビット
のときには、そのサンプルのデータがバッファRAM1
2の2アドレスにまたがる場合がほとんどである。一
方、サンプルデータの任意のサンプルが8ビットでバッ
ファRAM12のデータ幅が16ビットのときには、そ
のサンプルのデータがバッファRAM12の2アドレス
にまたがる場合は確率的に半分になる。
As described above, the number of bits of each sample of the sample data is defined by the word length code of the corresponding unit. That is, the number of bits of each sample of the sample data is not uniform.
Therefore, for example, if the data width of the buffer RAM 12 is 8
If an arbitrary sample of sample data is 16 bits, the data of the sample may extend over three addresses of the buffer RAM 12 as shown in FIG.
On the other hand, when the data width of the buffer RAM 12 is 16 bits and an arbitrary sample of sample data is 16 bits, as shown in FIG.
It fits within two addresses of M12 and does not span three addresses. When an arbitrary sample of the sample data is 8 bits and the data width of the buffer RAM 12 is 8 bits, the data of the sample is stored in the buffer RAM 1.
In most cases, the address spans address 2 or 2. On the other hand, when an arbitrary sample of the sample data is 8 bits and the data width of the buffer RAM 12 is 16 bits, when the data of the sample extends over two addresses of the buffer RAM 12, the data is stochastically reduced by half.

【0063】従って、バッファRAM12のデータ幅
は、逆量子化回路11の処理速度の向上と、逆量子化回
路11の回路規模の増大とのトレードオフ関係を考慮し
て、回路設計時に決定しておく必要がある。
Therefore, the data width of the buffer RAM 12 is determined at the time of circuit design in consideration of a trade-off relationship between an improvement in the processing speed of the inverse quantization circuit 11 and an increase in the circuit size of the inverse quantization circuit 11. Need to be kept.

【0064】すなわち、バッファRAM12のデータ幅
を大きくすると、サンプルデータを読み出す際にバッフ
ァRAM12に対してアクセスする回数が少なくなるた
め処理速度が向上する。しかしながら、バッファRAM
12のデータ幅を、1グループのサンプルデータの各サ
ンプルのビット数の最大値にすると、そこで処理速度の
向上は飽和し、バッファRAM12のデータ幅をそれ以
上にしてもRAM12に対するアクセス回数は減少しな
くなる。一方、バッファRAM12のデータ幅を大きく
すると、バッファRAM12とビット切り出しシフタ1
3とを結ぶデータバスの幅も広くなると共に、ビット切
り出しシフタ13の回路規模も大きくなり、逆量子化回
路11の回路規模が増大する。そこで、両者のトレード
オフ関係により、バッファRAM12のデータ幅を最適
な値に設定するわけである。
That is, when the data width of the buffer RAM 12 is increased, the number of accesses to the buffer RAM 12 at the time of reading the sample data is reduced, so that the processing speed is improved. However, buffer RAM
If the data width of T.12 is set to the maximum value of the number of bits of each sample of one group of sample data, the improvement of the processing speed is saturated. Disappears. On the other hand, when the data width of the buffer RAM 12 is increased, the buffer RAM 12 and the bit
3, the width of the data bus connecting to the third and third bits increases, and the circuit scale of the bit cutout shifter 13 also increases, thereby increasing the circuit scale of the inverse quantization circuit 11. Therefore, the data width of the buffer RAM 12 is set to an optimum value according to a trade-off relationship between the two.

【0065】その結果、本実施例では逆量子化回路11
の回路規模を増大させることなく処理速度を高めること
ができる。尚、本発明は上記実施例に限定されるもので
はなく、例えば、1つのグループのユニット数をグルー
プ毎に変えてもよい。
As a result, in this embodiment, the inverse quantization circuit 11
The processing speed can be increased without increasing the circuit scale. Note that the present invention is not limited to the above embodiment, and for example, the number of units in one group may be changed for each group.

【0066】また、従来の構成において、ブロック浮動
小数点法だけを行うようにしてもよい。さらに、1グル
ープのデータ列の前に逆量子化に必要な基本データのデ
ータ列を付加して実施してもよい。
In the conventional configuration, only the block floating point method may be performed. Furthermore, a data sequence of basic data required for inverse quantization may be added before a data sequence of one group.

【0067】ここで、基本データとは、ワード長コード
およびスケール因子コードのユニット数がサンプルデー
タのユニット数より少ない場合等に、ワード長コードお
よびスケール因子コードのユニット数を示すデータであ
る。
Here, the basic data is data indicating the number of units of the word length code and the scale factor code when the number of units of the word length code and the scale factor code is smaller than the number of units of the sample data.

【0068】例えば、ワード長コードおよびスケール因
子コードのユニット数をp個に、サンプルデータのユニ
ット数をp個より多いr個に設定しておく(p<r)。
そして、サンプルデータのユニット1〜pについてはワ
ード長コードおよびスケール因子コードの対応するユニ
ット1〜pに基づいて逆量子化を行い、サンプルデータ
のユニットp+1〜rについてはワード長コードおよび
スケール因子コードのユニットpに基づいて逆量子化を
行う。
For example, the number of units of the word length code and the scale factor code is set to p, and the number of units of the sample data is set to r more than p (p <r).
Then, for the units 1 to p of the sample data, inverse quantization is performed based on the corresponding units 1 to p of the word length code and the scale factor code, and for the units p + 1 to r of the sample data, the word length code and the scale factor code Inverse quantization is performed on the basis of the unit p.

【0069】すなわち、サンプルデータのユニットを適
宜な個数分ひとまとめにして大ユニットとし、その大ユ
ニットに対してワード長コードおよびスケール因子コー
ドを割り当てて逆量子化を行うわけである(言い換えれ
ば、サンプルデータのユニットp+1〜rについては
「粗い」逆量子化を行うわけである)。従って、1グル
ープ全体としてのデータ長は従来例で説明した方法より
も短くなるため、圧縮化を高めることができる。
That is, an appropriate number of sample data units are grouped together to form a large unit, and a word length code and a scale factor code are assigned to the large unit to perform inverse quantization (in other words, the sample is sampled). "Coarse" inverse quantization is performed on the data units p + 1 to r). Accordingly, the data length of the entire group is shorter than that of the method described in the conventional example, so that the compression can be improved.

【0070】例えば、オーディオ信号の処理に利用する
場合、低・中域の信号に比べて高域の信号の重要度は低
いため、高域の信号に対しては上記のように「粗い」逆
量子化(および量子化)を行えば聴感を損なうことなく
データを圧縮化することができる。
For example, when used for processing an audio signal, since the importance of a high frequency signal is lower than that of a low / mid frequency signal, a "coarse" inverse is applied to a high frequency signal as described above. By performing quantization (and quantization), data can be compressed without impairing the sense of hearing.

【0071】[0071]

【発明の効果】以上詳述したように、第1の発明によれ
ば、回路規模を縮小した上で逆量子化の処理速度を高め
ることができる優れた効果がある。また、第2の発明に
よれば、1グループ全体でのデータのオーダが大きな場
合でも演算に使用するワード長を大きくすることなく逆
量子化の精度を高めることができる優れた効果がある
As described in detail above, according to the first aspect, there is an excellent effect that the processing speed of the inverse quantization can be increased while the circuit scale is reduced. Further, according to the second invention, there is an excellent effect that the accuracy of inverse quantization can be increased without increasing the word length used for the operation even when the data order of the entire group is large .

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

【図1】本発明を具体化した一実施例のブロック回路図
である。
FIG. 1 is a block circuit diagram of an embodiment embodying the present invention.

【図2】固定小数点法とブロック浮動小数点法とを説明
するための説明図である。
FIG. 2 is an explanatory diagram for explaining a fixed-point method and a block floating-point method.

【図3】バッファRAM12のデータ幅とサンプルデー
タの関係を説明するための説明図である。
FIG. 3 is an explanatory diagram for explaining a relationship between a data width of a buffer RAM 12 and sample data.

【図4】バッファRAM12のデータ幅とサンプルデー
タの関係を説明するための説明図である。
FIG. 4 is an explanatory diagram for explaining a relationship between a data width of a buffer RAM 12 and sample data.

【図5】1グループのシリアルデータの配列を説明する
ための説明図である。
FIG. 5 is an explanatory diagram for describing an array of serial data of one group.

【図6】各ユニットとサンプルデータの対応関係を説明
するための説明図である。
FIG. 6 is an explanatory diagram for explaining the correspondence between each unit and sample data.

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

12 バッファRAM 13 ビット切り出しシフタ 16 第1のデコーダとしての〔1/(2WL-1−1)〕
値デコーダ 18 第2のデコーダとしてのスケール因子値デコーダ 20 乗算器 17 第1のレジスタ 19 第2のレジスタ 21 第3のデコーダとしてのスケール因子オーダ・デ
コーダ 22 ブロック・オーダ算出回路部を構成する比較器 23 ブロック・オーダ算出回路部を構成するスケール
因子値オーダ最大値レジスタ 24 減算器 25 シフタ
12 buffer RAM 13 bit cutout shifter 16 [1 / (2 WL-1 -1)] as first decoder
Value decoder 18 Scale factor value decoder as second decoder 20 Multiplier 17 First register 19 Second register 21 Scale factor order decoder as third decoder 22 Comparator constituting block order calculation circuit unit 23 Scale Factor Value Order Maximum Value Register Constituting Block Order Calculation Circuit 24 Subtractor 25 Shifter

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H03M 7/30 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 7 , DB name) H03M 7/30

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 標本化したデータを適宜な個数分ずつひ
とまとめにして各ユニットとし、量子化のビット数であ
るワード長コードと、規格化したときの値の大きさであ
るスケール因子値とを各ユニット毎に割り当てて量子化
を行い、ユニットを適宜な個数分ずつひとまとめにして
各グループとし、量子化されたデータであるサンプルデ
ータの各サンプルと、当該スケール因子値をコード変換
したスケール因子コードと、当該ワード長コードとから
なる1グループのデータとをグループ単位でシリアル転
送し、シリアル転送されてきたデータを1グループの各
ユニット毎に逆量子化するディジタル信号処理装置にお
いて、 シリアル転送されてきた1グループのデータを蓄えるバ
ッファRAMと、 バッファRAMに蓄えられている1グループのデータを
読み出し、読み出したデータを適宜なビット数毎に切り
出して転送するビット切り出しシフタと、 ビット切り出しシフタが切り出した任意のユニットに対
応するワード長コードを逆量子化に必要なデータ形式に
変換する第1のデコーダと、 ビット切り出しシフタが切り出した任意のユニットに対
応するスケール因子コードをスケール因子値に変換する
第2のデコーダと、 第1のデコーダが変換したデータと第2のデコーダが変
換したスケール因子値とを乗算すると共に、その乗算結
果とビット切り出しシフタが切り出した任意のユニット
に対応するサンプルデータのサンプルとを乗算して逆量
子化データとして出力する乗算器と、 第1のデコーダが変換したデータ、又はビット切り出し
シフタが切り出した任意のユニットに対応するサンプル
データの任意のサンプルのいずれかを格納して乗算器に
出力する第1のレジスタと、 第2のデコーダが変換したスケール因子値、又は乗算器
による第1のデコーダが変換したデータと第2のデコー
ダが変換したスケール因子値との乗算結果のいずれかを
格納して乗算器に出力する第2のレジスタとを備えたこ
とを特徴とするディジタル信号処理装置。
1. An appropriate number of sampled data are grouped together to form each unit, and a word length code, which is the number of quantization bits, and a scale factor value, which is a magnitude of a value when normalized, are defined. Quantization is performed by allocating each unit, and the appropriate number of units are grouped together into groups, and each sample of sample data that is quantized data and a scale factor code obtained by code-converting the scale factor value. And one group of data consisting of the word length code and the word length code, and serially transferred in a digital signal processing device that inversely quantizes the serially transferred data for each unit of the group. Buffer RAM for storing one group of data, and one group of data stored in the buffer RAM. A bit cutout shifter that reads out data and cuts out and transfers the read data for each appropriate number of bits, and converts a word length code corresponding to an arbitrary unit cut out by the bit cutout shifter into a data format required for inverse quantization. A first decoder, a second decoder for converting a scale factor code corresponding to an arbitrary unit extracted by the bit extraction shifter into a scale factor value, and data converted by the first decoder and converted by the second decoder A multiplier that multiplies the result of the multiplication by a scale factor value, multiplies the multiplication result by a sample of sample data corresponding to an arbitrary unit cut out by the bit cutout shifter, and outputs the result as dequantized data; Corresponds to converted data or any unit cut out by the bit cutout shifter A first register for storing any sample of the sample data and outputting the sampled data to the multiplier; a scale factor value converted by the second decoder, or data converted by the first decoder by the multiplier, and a second register. A second register for storing any one of the multiplication results with the scale factor value converted by the decoder and outputting the result to the multiplier.
【請求項2】 標本化したデータを適宜な個数分ずつひ
とまとめにして各ユニットとし、量子化のビット数であ
るワード長コードと、規格化したときの値の大きさであ
るスケール因子値とを各ユニット毎に割り当てて量子化
を行い、ユニットを適宜な個数分ずつひとまとめにして
各グループとし、量子化されたデータであるサンプルデ
ータの各サンプルと、当該スケール因子値をコード変換
したスケール因子コードと、当該ワード長コードとから
なる1グループのデータとをグループ単位でシリアル転
送し、シリアル転送されてきたデータを1グループの各
ユニット毎に逆量子化し、逆量子化データとして出力す
るディジタル信号処理装置において、 1グループの各ユニットを適宜な個数分ずつひとまとめ
にしたブロック毎に、任意のユニットに対応するスケー
ル因子コードを、適宜な基数を用いてスケール因子値を
浮動小数点表示したときにおける指数の値であるスケー
ル因子オーダに変換する第3のデコーダと、 第3のデコーダが変換したスケール因子オーダに従っ
て、1ブロックにおけるスケール因子オーダの最大値を
求めて小数点位置を決定するブロック・オーダ算出回路
部と、 前記逆量子化データに対応するユニットについて、ブロ
ック・オーダ算出回路部が求めたスケール因子オーダの
最大値から、第3のデコーダが変換したスケール因子オ
ーダを減算する減算器と、 減算器の減算結果に基づいて、前記逆量子化データを、
ブロック・オーダ算出回路部によって決定された小数点
位置に合わせて出力するシフタとを備えたことを特徴と
するディジタル信号処理装置
2. An appropriate number of sampled data are grouped together to form each unit, and a word length code, which is the number of quantization bits, and a scale factor value, which is a magnitude of a value when normalized, are defined. Quantization is performed by allocating each unit, and the appropriate number of units are grouped together into groups, and each sample of sample data that is quantized data and a scale factor code obtained by code-converting the scale factor value. Digital signal processing for serially transferring data of one group consisting of the word length code and the word length code in a group unit, dequantizing the serially transferred data for each unit of the group, and outputting as inversely quantized data In the apparatus, an arbitrary number of units are grouped into blocks each of which is an appropriate number of units of one group. A third factor decoder that converts a scale factor code corresponding to the following into a scale factor order which is an exponent value when the scale factor value is displayed in a floating point using an appropriate radix; and a scale factor converted by the third decoder. A block order calculating circuit for determining a maximum value of a scale factor order in one block to determine a decimal point position according to the order; and a scale factor calculated by the block order calculating circuit for a unit corresponding to the inverse quantized data. A subtractor for subtracting the scale factor order converted by the third decoder from the maximum value of the order; and the dequantized data based on the subtraction result of the subtractor,
A digital signal processing device comprising: a shifter that outputs a signal in accordance with the position of the decimal point determined by the block order calculation circuit .
JP01638993A 1993-02-03 1993-02-03 Digital signal processor Expired - Fee Related JP3222967B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01638993A JP3222967B2 (en) 1993-02-03 1993-02-03 Digital signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01638993A JP3222967B2 (en) 1993-02-03 1993-02-03 Digital signal processor

Publications (2)

Publication Number Publication Date
JPH06232757A JPH06232757A (en) 1994-08-19
JP3222967B2 true JP3222967B2 (en) 2001-10-29

Family

ID=11914905

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01638993A Expired - Fee Related JP3222967B2 (en) 1993-02-03 1993-02-03 Digital signal processor

Country Status (1)

Country Link
JP (1) JP3222967B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1429244A4 (en) 2001-09-18 2006-10-04 Asahi Chemical Ind Compiler

Also Published As

Publication number Publication date
JPH06232757A (en) 1994-08-19

Similar Documents

Publication Publication Date Title
US6396421B1 (en) Method and system for sampling rate conversion in digital audio applications
JP2904472B2 (en) Method, data processing system and apparatus for efficiently compressing digital audio signals
US5839100A (en) Lossless and loss-limited compression of sampled data signals
US7895034B2 (en) Audio encoding system
US8271293B2 (en) Audio decoding using variable-length codebook application ranges
EP0702457A2 (en) Method and apparatus for compressing and decompressing data
JP3208001B2 (en) Signal processing device for sub-band coding system
US5602550A (en) Apparatus and method for lossless waveform data compression
US5812982A (en) Digital data encoding apparatus and method thereof
JP3222967B2 (en) Digital signal processor
US6754618B1 (en) Fast implementation of MPEG audio coding
JP3568213B2 (en) Digital signal processor
JP4209717B2 (en) Integer coding method for supporting various frame sizes and codec device using the same
US5812979A (en) Synthesis filter for MPEG-2 audio decoder
JP3885684B2 (en) Audio data encoding apparatus and encoding method
US5739778A (en) Digital data formatting/deformatting circuits
CN113141508A (en) Arithmetic encoder, method for realizing arithmetic encoding and image encoding method
JP3889738B2 (en) Inverse quantization apparatus, audio decoding apparatus, image decoding apparatus, inverse quantization method, and inverse quantization program
JP3138100B2 (en) Signal encoding device and signal decoding device
JPH06232763A (en) Signal coder and signal decoder
KR100475246B1 (en) the method for enhancing the decoding performance of MPEG-1 audio file using Fixed point code converting and the recorded media
JP3501246B2 (en) MPEG audio decoder
JP3114542B2 (en) Encoded signal decoding device
JP3581431B2 (en) MPEG audio decoder
JP2569842B2 (en) Method and apparatus for adaptive transform coding

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees