JPS6124850B2 - - Google Patents

Info

Publication number
JPS6124850B2
JPS6124850B2 JP10980080A JP10980080A JPS6124850B2 JP S6124850 B2 JPS6124850 B2 JP S6124850B2 JP 10980080 A JP10980080 A JP 10980080A JP 10980080 A JP10980080 A JP 10980080A JP S6124850 B2 JPS6124850 B2 JP S6124850B2
Authority
JP
Japan
Prior art keywords
register
output
code
adpcm
bit
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
Application number
JP10980080A
Other languages
Japanese (ja)
Other versions
JPS5735434A (en
Inventor
Makoto Morito
Tsutomu Kaneko
Takashi Yato
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP10980080A priority Critical patent/JPS5735434A/en
Publication of JPS5735434A publication Critical patent/JPS5735434A/en
Publication of JPS6124850B2 publication Critical patent/JPS6124850B2/ja
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3002Conversion to or from differential modulation
    • H03M7/3044Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM]
    • H03M7/3046Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM] adaptive, e.g. adaptive differential pulse code modulation [ADPCM]

Description

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

本発明は、簡単な回路構成により、音声の
ADPCM符号を通常のPCM符号へ変換する
ADPCM再生器に関する。 音声の帯域圧縮方式として、ADPCM
(Adaptive Differential Pulse Code
Modulation)がある。この方式は音声の隣接標
本間(時間T1と時間T2)のデータにおいて、時間
T1に算出した予測値とT2における音声信号との
差分をとり、それを符号化してADPCM符号とす
ることによつて、音声を圧縮し、次にその符号を
復号することによつて、差分信号の量子化値を
得、その値を逐次加算することによつて、通常の
PCM符号形式の音声を再生する方式である。ま
た、差分信号の量子化値を得る際に必要となる量
子化幅をADPCM符号に応じて変化させていくこ
とを特徴としている。 第1図は従来のADPCM再生器を示したもので
ある。第1図において、1は入力端子、2は加算
器、3は乗算器、4は加算器、5はレジスタ、6
はADPCM符号Loを量子化ステツプサイズ移動
係数Moに変換して出力するテーブルである。7
は乗算器、8はリミツタ、9はレジスタ、10は
PCM符号の出力端子で、デイジタル音声信号を
アナログ音声信号に変換するためのD−A変換器
に接続するための端子である。 入力端子1からの音声のADPCM符号をLo
する。Loは加算器2によつて、0.5がバイアスの
ために加えられる。その結果は乗算器3によつて
レジスタ9の出力Δoと乗算される。レジスタ9
の出力Δoを量子化ステツプサイズと称する。乗
算器3の出口をqoとすると、qoはADPCM符号
oによつて再生された差分復調値であり、(1)式
で与えられる。 qo=Δo・(Lo+1/2) ………(1) 乗算器3の差分復調値qoはレジスタ5の出力
x^oと加算され、結果x^o+1はレジスタ5に格納さ
れる。この〓〓,x^o+1が音声のPCM符号であ
る。 一方、入力端子1のADPCM符号Loはテーブ
ル6によつて変換され、移動係数Moを出力す
る。テーブル6はADPCM符号Loに対して、出
力Moを得るテーブルである。テーブル6の出力
oは乗算器7によつてΔoと乗算され、Δo+1
得る。 Δo+1=Δo・Mo ………(2) (2)式におけるΔo+1はリミツタ8によつて、最
小値Δnio、最大値Δnaxの間に限定される。すな
わち、Δo+1がΔnioより小さくなつた場合、リミ
ツタ8はΔnioを出力し、Δnaxより大きくなつた
場合にはΔnaxを出力する。リミツタ8の出力Δo
+1が次のサンプル時における量子化ステツプサイ
ズとなる。 Δ′o+1はレジスタ9に格納される。以上の如
く、図1のブロツク図は動作する。 第1図の構成に従う処理では、必要とする演算
量は乗算器3と乗算器7による乗算が各1回、加
算器2と加算器4による加算が各1回となる。入
力端子1から音声のADPCM符号が入つてくる短
い時間間隔(たとえば、125μ秒)ごとに前述の
演算を行なうことが必要である。そのためには高
速な論理素子、特に乗算回路が必要となり、演算
回路自体も大規模となる。 本発明の目的は、これらの欠点を除去するため
に、第(2)式の乗算を量子化ステツプサイズを格納
したメモリに対する簡易操作に置きかえたもので
ある。 その結果、低速素子による簡単な回路構成の実
現を可能にしたもので、以下詳細に説明する。 第2図に本発明の第1の実施例を示す。50,
51,52,53は送られてくるADPCM符号の
入力端子で、50は極性ビツト、51はADPCM
符号の振幅ビツトのうちで最上位桁ビツトの、5
2は2番目の、53は最下位桁ビツトの入力端子
である。54はレジスタ58のシリアル入力であ
る。55,56,57,58はADPCM符号を格
納しておくための1ビツトのレジスタである。レ
ジスタ56〜58はシフト機能を有する。59は
リードオンリーメモリ(以下ROMという)で、
レジスタ56の出力をアドレスの最上位、レジス
タ57の出力を2番目のアドレス、レジスタ58
の出力を3番目のアドレス(アドレスの最下位)
とし、ポインタ移動量Doを出力する。60は出
力6ビツトのポインタでROM59の出力Doによ
つて出力Poを変化させる。61はポインタ監視
部で、ポインタ60の出力Poを特定の範囲に限
定する。62はROMで、ポインタ60の出力Po
をアドレスとして、16ビツトのデータXを出力す
る。このXは量子化ステツプサイズに対応した量
であり、この例では振幅ビツトの最上位桁ビツト
の復調量に対応した基準値である。63は16ビツ
トのシフトレジスタで、ROM62の出力を格能
し、かつ、シフトダウンする機能を有する。64
は16個のEx−ORゲートによつて構成され、それ
ぞれのEx−ORゲートの入力は共通にレジスタ5
5の出力と接続している。 従つて、レジスタ55の出力が1の場合、シフ
トレジスタ63の出力ビツトを反転させ、加算器
65に出力する。シフトレジスタ55の出力が0
の場合には、シフトレジスタ63の出力ビツトを
そのまま加算器65に出力する。65は16ビツト
の加算器で、Ex−ORゲート64の出力とレジス
タ66との出力を加算する。レジスタ56の出力
が1のときのみ、レジスタ66に結果を格納す
る。66は16ビツトのレジスタである。67は16
ビツトのレジスタである。68はレジスタ67の出
力端子である。 次に第1の実施例の動作について説明する。入
力端子50,51,52,53からの4ビツトの
ADPCM符号はそれぞれレジスタ55、レジスタ
56、レジスタ57、レジスタ58に格納され
る。各レジスタのパターンとLoの関係を第1表
に示す。これらのデータが格納されると同時に、
ROM62の出力Xはシフトレジスタ63に格納
される。レジスタ55、レジスタ56、レジスタ
57、レジスタ58の出力ビツトパターンによ
り、第1表で示される演算を加算器65で行な
う。この演算は(1)式に対応する演算である。以
下、この演算方法を示す。ただし、表1において
*は演算前のレジスタ66の値を示す。
The present invention uses a simple circuit configuration to enable audio
Convert ADPCM code to normal PCM code
Regarding ADPCM regenerator. ADPCM is used as an audio band compression method.
(Adaptive Differential Pulse Code
Modulation). This method uses the data between adjacent audio samples (time T 1 and time T 2 ) to
By taking the difference between the predicted value calculated at T 1 and the audio signal at T 2 and encoding it into an ADPCM code, the audio is compressed, and then the code is decoded. By obtaining the quantized value of the difference signal and adding the values sequentially, the normal
This is a method for reproducing audio in PCM code format. Another feature is that the quantization width required to obtain the quantized value of the difference signal is changed according to the ADPCM code. FIG. 1 shows a conventional ADPCM regenerator. In Figure 1, 1 is an input terminal, 2 is an adder, 3 is a multiplier, 4 is an adder, 5 is a register, and 6
is a table that converts the ADPCM code L o into a quantization step size movement coefficient M o and outputs it. 7
is a multiplier, 8 is a limiter, 9 is a register, and 10 is a
This is an output terminal for the PCM code, and is a terminal for connecting to a DA converter for converting a digital audio signal to an analog audio signal. Let the ADPCM code of the audio from input terminal 1 be Lo . L o is added by adder 2 by 0.5 for bias. The result is multiplied by the output Δ o of register 9 by multiplier 3 . register 9
The output Δ o is called the quantization step size. When the output of the multiplier 3 is q o , q o is the differential demodulation value reproduced by the ADPCM code L o , and is given by equation (1). q o = Δ o・(L o +1/2) ......(1) The differential demodulated value q o of multiplier 3 is added to the output x^ o of register 5, and the result x^ o+1 is sent to register 5. Stored. This 〓〓, x^ o+1 is the PCM code of the voice. On the other hand, the ADPCM code L o of the input terminal 1 is converted by the table 6, and a movement coefficient M o is output. Table 6 is a table for obtaining the output M o for the ADPCM code L o . The output M o of table 6 is multiplied by Δ o by multiplier 7 to obtain Δ o+1 . Δ o+1o · Mo (2) Δ o+1 in equation (2) is limited by the limiter 8 between the minimum value Δ nio and the maximum value Δ nax . That is, when Δ o+1 becomes smaller than Δ nio , the limiter 8 outputs Δ nio , and when it becomes larger than Δ nax , it outputs Δ nax . Output Δ o of limiter 8
+1 is the quantization step size for the next sample. Δ′ o+1 is stored in register 9. As described above, the block diagram of FIG. 1 operates. In the process according to the configuration shown in FIG. 1, the amount of calculation required is one multiplication each by multiplier 3 and multiplier 7, and one addition each by adder 2 and adder 4. It is necessary to perform the above-mentioned calculation every short time interval (for example, 125 μsec) when an audio ADPCM code is input from the input terminal 1. This requires high-speed logic elements, especially multiplication circuits, and the arithmetic circuit itself becomes large-scale. An object of the present invention is to replace the multiplication in equation (2) with a simple operation on the memory storing the quantization step size, in order to eliminate these drawbacks. As a result, it has become possible to realize a simple circuit configuration using low-speed elements, which will be described in detail below. FIG. 2 shows a first embodiment of the present invention. 50,
51, 52, 53 are the input terminals of the ADPCM code to be sent, 50 is the polarity bit, and 51 is the ADPCM code.
5 of the most significant bits of the amplitude bits of the code
2 is the second input terminal, and 53 is the least significant bit input terminal. 54 is a serial input of register 58. 55, 56, 57, and 58 are 1-bit registers for storing ADPCM codes. Registers 56-58 have a shift function. 59 is read-only memory (hereinafter referred to as ROM),
The output of register 56 is the highest address, the output of register 57 is the second address, register 58
The output of is the third address (the lowest address)
and outputs the pointer movement amount D o . Reference numeral 60 is a 6-bit output pointer that changes the output P o according to the output D o of the ROM 59 . A pointer monitoring unit 61 limits the output P o of the pointer 60 to a specific range. 62 is a ROM, and the output P o of the pointer 60
Outputs 16-bit data X using as the address. This X is an amount corresponding to the quantization step size, and in this example is a reference value corresponding to the amount of demodulation of the most significant bit of the amplitude bit. Reference numeral 63 is a 16-bit shift register, which has the function of processing the output of the ROM 62 and shifting down. 64
is composed of 16 E x -OR gates, and the input of each E x -OR gate is commonly connected to register 5.
It is connected to the output of 5. Therefore, when the output of register 55 is 1, the output bit of shift register 63 is inverted and output to adder 65. The output of shift register 55 is 0
In this case, the output bits of the shift register 63 are output to the adder 65 as they are. A 16-bit adder 65 adds the output of the Ex - OR gate 64 and the output of the register 66. The result is stored in register 66 only when the output of register 56 is 1. 66 is a 16-bit register. 67 is 16
This is a bit register. 68 is an output terminal of the register 67. Next, the operation of the first embodiment will be explained. 4 bits from input terminals 50, 51, 52, 53
The ADPCM codes are stored in register 55, register 56, register 57, and register 58, respectively. Table 1 shows the relationship between each register pattern and L o . At the same time as these data are stored,
The output X of the ROM 62 is stored in the shift register 63. Based on the output bit patterns of register 55, register 56, register 57, and register 58, adder 65 performs the operations shown in Table 1. This operation corresponds to equation (1). This calculation method will be shown below. However, in Table 1, * indicates the value of the register 66 before calculation.

【表】 まず演算部について説明する。 入力端子50,51,52,53から格納され
たレジスタ55、レジスタ56、レジスタ57、
レジスタ58のADPCM符号Loのうち、レジス
タ55の出力はEx−ORゲート64を通してシフ
トレジスタ63の出力を制御すると共に、加算器
65を制御する。その制御の内容を第2表に示
す。
[Table] First, the calculation section will be explained. Register 55, register 56, register 57, stored from input terminals 50, 51, 52, 53,
Out of the ADPCM code L o of the register 58 , the output of the register 55 controls the output of the shift register 63 through the Ex -OR gate 64 and also controls the adder 65 . The details of the control are shown in Table 2.

【表】 すなわち、レジスタ55の出力は加算器65を
第3表のごとく動作させるための制御信号であ
る。
[Table] That is, the output of the register 55 is a control signal for operating the adder 65 as shown in Table 3.

〔ステツプ1〕[Step 1]

入力端子51〜53の振幅ビツトがレジスタ5
6、レジスタ57、レジスタ58に格納されたと
き、シフトレジスタ63にはROM62の出力X
が格納される。この時点をステツプ1と称する。 レジスタ56の出力が1の場合、シフトレジス
タ63の出力Xを基準量として、第3表にしたが
つて演算され、その結果、レジスタ66に格納さ
れる。レジスタ56の出力が0の場合、第3表に
したがつて演算は行なわれるが、結果をレジスタ
66には格納しない。 従つて、このときのレジスタ66の内容は変化
していない。 〔ステツプ2〕 次にレジスタ56にはレジスタ57の出力、レ
ジスタ57にはレジスタ58の出力、レジスタ5
8には入力端子54からの1がそれぞれ格納され
る。この時点をステツプ2と称する。この時、同
時にシフトレジスタ63の出力はシフトダウンし
てX/2となる。この値は2Δoに対応し、振幅
ビツトの2番目の桁の復調量に対応した基準量で
ある。ステツプ2において、レジスタ56の出力
が1の場合、シフトレジスタ63の出力X/2に
基づき、第3表にしたがつて演算され、レジスタ
66に格納される。レジスタ56の出力が0の場
合には、第3にしたがう演算は行なわれるが、結
果はレジスタ66には格納しない。従つて、レジ
スタ66の内容は変化しない。 〔ステツプ3〕 次に、レジスタ56にはレジスタ57の出力、
レジスタ57にはレジスタ58の出力、レジスタ
58には入力端子54からの0が、それぞれ格納
される。また、シフトレジスタ63の出力はシフ
トダウンしてX/4となる。この値はΔoに対応
し、振幅ビツトの最下位桁に対応した基準量であ
る。この時点をステツプ3と称する。ステツプ3
において、レジスタ56の出力が1の場合、シフ
トレジスタ63の出力X/4に基づき、第3表に
したがつて演算され、レジスタ66に格納され
る。レジスタ56の出力が0の場合、第3表によ
る演算は行なわれるが、結果はレジスタ66に格
納されないため、レジスタ66の内容は変化しな
い。 〔ステツプ4〕 次に、レジスタ56にはレジスタ57、レジス
タ57にはレジスタ58の出力、レジスタ58に
は入力端子54からの0入力が格納される。シフ
トレジスタ63の内容は、シフトダウンしてX/
8となる。この値はΔo/2に対応し、量子化ス
テツプサイズの半分である。この時点をステツプ
4と称する。ステツプ4においては、レジスタ5
6の出力はつねに1で、シフトレジスタ63の出
力X/8に基づき、第3表にしたがつて演算さ
れ、レジスタ66に格納される。この演算終了
後、レジスタ66の内容は、レジスタ67に格納
され、出力端子68により出力される。 以上の過程によつて、入力端子50,51,5
2,53からのADPCM符号により、レジスタ6
6において、第1表にしたがう演算が行なわれ
る。各ステツプにおけるレジスタ66、レジスタ
67、レジスタ68、レジスタ63の出力をわか
りやすく第4表に示す。
The amplitude bits of input terminals 51 to 53 are stored in register 5.
6. When stored in the registers 57 and 58, the output X of the ROM 62 is stored in the shift register 63.
is stored. This point is called step 1. When the output of the register 56 is 1, the output X of the shift register 63 is used as a reference amount, and the calculation is performed according to Table 3, and the result is stored in the register 66. If the output of register 56 is 0, the calculation is performed according to Table 3, but the result is not stored in register 66. Therefore, the contents of register 66 at this time have not changed. [Step 2] Next, the output of register 57 is sent to register 56, the output of register 58 is sent to register 57, and the output of register 58 is sent to register 57.
8 stores 1 from the input terminal 54, respectively. This point is called step 2. At this time, the output of the shift register 63 is simultaneously shifted down to become X/2. This value corresponds to 2Δ o and is a reference amount corresponding to the demodulation amount of the second digit of the amplitude bit. In step 2, when the output of the register 56 is 1, an operation is performed according to Table 3 based on the output X/2 of the shift register 63, and the result is stored in the register 66. If the output of register 56 is 0, the third operation is performed, but the result is not stored in register 66. Therefore, the contents of register 66 do not change. [Step 3] Next, the register 56 receives the output of the register 57,
The output of the register 58 is stored in the register 57, and 0 from the input terminal 54 is stored in the register 58. Further, the output of the shift register 63 is shifted down to become X/4. This value corresponds to Δ o and is a reference amount corresponding to the least significant digit of the amplitude bit. This point is called step 3. Step 3
In the case where the output of the register 56 is 1, the calculation is performed according to Table 3 based on the output X/4 of the shift register 63 and stored in the register 66. When the output of register 56 is 0, the operation according to Table 3 is performed, but the result is not stored in register 66, so the contents of register 66 do not change. [Step 4] Next, the register 57 is stored in the register 56, the output of the register 58 is stored in the register 57, and the 0 input from the input terminal 54 is stored in the register 58. The contents of the shift register 63 are shifted down to
It becomes 8. This value corresponds to Δ o /2, which is half the quantization step size. This point is called step 4. In step 4, register 5
The output of 6 is always 1, which is calculated based on the output X/8 of shift register 63 according to Table 3, and stored in register 66. After this calculation is completed, the contents of register 66 are stored in register 67 and output from output terminal 68. Through the above process, input terminals 50, 51, 5
By ADPCM code from 2,53, register 6
At 6, calculations according to Table 1 are performed. The outputs of register 66, register 67, register 68, and register 63 at each step are shown in Table 4 for easy understanding.

〔ステツプ5〕[Step 5]

ステツプ5においては(2)式で表わされる。 Δo+1=Δo・Mo ………(3) の演算を乗算を行なうことなく実行する。その原
理を説明する。(2)式においてMo,Δoをそれぞれ
次のように変形する。 Mo=ADn ………(4) Δo=Δnio・APn ………(5) ただし、A,Anioは正の定数、Do,Poは整数
とする。すると(3)式により Δo+1=Δnio・APn+Dn ………(6) と表わされ、Po,Doは整数であるから、 Po+1=Po+Do ………(7) も整数であり、(6)式は、 Δo+1=Δnio・APn+1 ………(8) となり、Δo+1もΔoと同じ形の式で表現できる。 また、量子化ステツプサイズΔo+1の最大値Δn
axと最小値Δnioとについても同じ形で表現され
る。 Δnio=Δnio・A0 ………(9) Δnax=Δnio・APmax ………(10) (8)式、(9)式、(10)式より、Po+1は0〜Pnaxの範
囲であれば(8)式のΔo+1はΔnio〜Δnaxの範囲の値
に限定される。したがつて、0〜Pnaxの範囲の
整数について、Δnio・APnの値をあらかじめ計
算しておき、メモリに格納し、Poをポインタ出
力(記憶素子のアドレス)として用いれば、(7)式
の演算だけで、(2)式の乗算を行なうことなく、量
子化ステツプサイズΔo+1を決定できる。(7)式に
おけるDoは量子化ステツプサイズ移動係数Mo
同様に音声の圧縮符号Loと対応した値で、ここ
ではポインタ移動量と称し、その値を第5表に示
す。
In step 5, it is expressed by equation (2). Δ o+1 = Δ o ·M o ......The operation of (3) is executed without performing multiplication. The principle will be explained. In equation (2), M o and Δ o are transformed as follows. M o =A Dn (4) Δ onio ·A Pn (5) However, A and A nio are positive constants, and D o and P o are integers. Then, according to equation (3), it is expressed as Δ o+1 = Δ nio・A Pn+Dn ......(6) Since P o and D o are integers, P o+1 = P o + D o ... ...(7) is also an integer, and equation (6) becomes Δ o+1 = Δ nio・A Pn+1 ......(8), and Δ o+1 can also be expressed in the same form as Δ o . can. Also, the maximum value Δ n of the quantization step size Δ o+1
The ax and the minimum value Δ nio are also expressed in the same form. Δ nio = Δ nio・A 0 ………(9) Δ nax = Δ nio・A Pmax ………(10) From formulas (8), (9), and (10), P o+1 is 0 .about.Pnax , Δ o+1 in equation (8) is limited to a value within the range of Δnio to Δnax . Therefore, if the value of Δnio・A Pn is calculated in advance for an integer in the range of 0 to P nax , stored in memory, and P o is used as a pointer output (address of a storage element), (7 ) can determine the quantization step size Δ o+1 without performing the multiplication in equation (2). D o in equation (7) is a value corresponding to the audio compression code L o , similar to the quantization step size movement coefficient M o , and is herein referred to as the pointer movement amount, and its values are shown in Table 5.

【表】 ROM59によつて第5表に示されるADPCM
符号Loからポインタ移動量Doの変換を行なう。
またPoはポインタ60の出力で、(7)式の演算
を、ポインタ移動量Doだけカウントアツプ又は
カウントダウンすることによつて実行している。 また、ポインタ監視部61によつて、ポインタ
60の出力は0〜Pnaxの範囲に制限される。ポ
インタ監視部61によつて制限されるポインタ6
0の出力はROM62のアドレス入力となる。
ROM62では、ポインタ出力Po+1をアドレスと
して、量子化ステツプサイズΔnioA0〜ΔnioPma
までの値が格納されている。しかし、演算の処
理上、実際には上記(ADPCM符号における最上
位振幅ビツトの復調器)の4倍の値が格納されて
いる。その内容を第6表に示す。
[Table] ADPCM shown in Table 5 by ROM59
The pointer movement amount D o is converted from the code L o .
Further, P o is the output of the pointer 60, and the calculation of equation (7) is executed by counting up or down by the pointer movement amount D o . Furthermore, the pointer monitoring unit 61 limits the output of the pointer 60 to a range of 0 to P nax . Pointer 6 restricted by pointer monitoring unit 61
The output of 0 becomes the address input of the ROM62.
In the ROM 62, the quantization step size Δ nio A 0 to Δ nio A Pma is set using the pointer output P o+1 as an address.
Values up to x are stored. However, due to the calculation process, a value four times as large as the above (demodulator for the most significant amplitude bit in the ADPCM code) is actually stored. The contents are shown in Table 6.

【表】【table】

【表】 以上、ステツプ1からステツプ5までの動作を
入力端子50〜53から、ADPCM符号が入るた
びに行なう。 なお、この実施例では、1ビツトレジスタ56
〜58の内容がステツプ毎に変化するため、
ROM59に、レジスタ56〜58にADPCM符
号の振幅ビツトが記憶されている期間に、その
ADPCM符号を取り込むラツチ回路を設けるか、
又は第1ステツプにおいて、ROM62の出力X
をシフトレジスタ63へ格納した直後に第5ステ
ツプを実行するとよい。 以上説明したように、この実施例で行なう演算
はステツプ1に1回の加算、ステツプ2に1回の
加算、ステツプ3に1回の加算、ステツプ4に1
回の加算の合計4回の加算のみであり、演算がき
わめて簡略化された。 なお、4ビツトのADPCM符号でない場合も同
様に構成でき、例えば3ビツトADPCM符号の場
合は、レジスタ57を省略し、ROM62に記憶
するものを量子化ステツプサイズの2倍2Δo
する程度の変更で構成できる。
[Table] As described above, the operations from step 1 to step 5 are performed every time an ADPCM code is input from input terminals 50 to 53. Note that in this embodiment, the 1-bit register 56
Since the contents of ~58 change for each step,
While the amplitude bits of the ADPCM code are stored in the registers 56 to 58 in the ROM 59,
Either provide a latch circuit that captures the ADPCM code, or
Or in the first step, the output of ROM62
It is preferable to execute the fifth step immediately after storing the data into the shift register 63. As explained above, the operations performed in this embodiment include one addition in step 1, one addition in step 2, one addition in step 3, and one addition in step 4.
There are only four additions in total, which greatly simplifies the calculation. Note that the same structure can be used even when the code is not a 4-bit ADPCM code. For example, in the case of a 3-bit ADPCM code, the register 57 is omitted and the code stored in the ROM 62 is changed to 2∆o , which is twice the quantization step size. It can be composed of

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

第1図は従来例を示すブロツク図、第2図は本
発明の一実施例を示すブロツク図である。 50,51,52,53……入力端子(各1ビ
ツト)、54……レジスタ58シリアル入力、5
5,56,57,58……レジスタ(各1ビツ
ト)、59……ROM(アドレス3ビツト、出力5
ビツト)、60……ポインタ(出力6ビツト)、6
1……ポインタ監視部、62……ROM(アドレ
ス6ビツト、出力16ビツト)、63……シフトレ
ジスタ(16ビツト)、64……Ex−ORゲート
(16個)、65……加算器(16ビツト)、66……
レジスタ(16ビツト)、67……レジスタ(16ビ
ツト)、68……出力端子(12ビツト)、Do……
ポインタ移動量、Δo,Δo+1……量子化ステツプ
サイズ、Po……ポインタ出力、Lo……ADPCM
符号、X……量子化ステツプサイズに対応した
量。
FIG. 1 is a block diagram showing a conventional example, and FIG. 2 is a block diagram showing an embodiment of the present invention. 50, 51, 52, 53...Input terminal (1 bit each), 54...Register 58 serial input, 5
5, 56, 57, 58...Register (1 bit each), 59...ROM (address 3 bits, output 5
bit), 60...Pointer (output 6 bits), 6
1... Pointer monitoring unit, 62... ROM (address 6 bits, output 16 bits), 63... Shift register (16 bits), 64... Ex - OR gates (16 pieces), 65... Adder ( 16 bit), 66...
Register (16 bits), 67...Register (16 bits), 68...Output terminal (12 bits), D o ...
Pointer movement amount, Δ o , Δ o+1 ... Quantization step size, P o ... Pointer output, L o ... ADPCM
Sign, X...Quantity corresponding to the quantization step size.

Claims (1)

【特許請求の範囲】[Claims] 1 極性ビツトと振幅ビツトとを含むADPCM符
号を入力として、PCM符号を出力するADPCM再
生器において、予め定められた複数個の量子化ス
テツプサイズに対応した量を記憶している第1メ
モリ62と、当該第1メモリのアドレスを指定し
て、当該第1メモリから量子化ステツプサイズに
対応した量の一つを出力させるポインタ60と、
ポインタ移動量を記憶していて前記ポインタ出力
をADPCM符号に応じて移動させる第2メモリ5
9と、前記第1メモリの出力を入力として
ADPCM符号における振幅ビツトの各桁対応の基
準値を出力し得る第1レジスタ63と、再生
PCM符号を記憶し得る第2レジスタと、現
ADPCM符号の極性ビツトと振幅ビツトの各桁と
に応じて直前のPCM符号と各桁対応の前記基準
量との和もしくは差を取つて現PCM符号を作り
出す演算制御手段とを備えたADPCM再生器。
1. In an ADPCM regenerator that inputs an ADPCM code including polarity bits and amplitude bits and outputs a PCM code, the first memory 62 stores amounts corresponding to a plurality of predetermined quantization step sizes. , a pointer 60 that specifies the address of the first memory and outputs one of the quantities corresponding to the quantization step size from the first memory;
A second memory 5 that stores the pointer movement amount and moves the pointer output according to the ADPCM code.
9 and the output of the first memory as input.
A first register 63 that can output a reference value corresponding to each digit of the amplitude bit in the ADPCM code, and
a second register that can store the PCM code;
An ADPCM regenerator comprising an arithmetic control means that generates a current PCM code by taking the sum or difference between the immediately preceding PCM code and the reference amount corresponding to each digit according to the polarity bit of the ADPCM code and each digit of the amplitude bit. .
JP10980080A 1980-08-12 1980-08-12 Adpcm reproducer Granted JPS5735434A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10980080A JPS5735434A (en) 1980-08-12 1980-08-12 Adpcm reproducer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10980080A JPS5735434A (en) 1980-08-12 1980-08-12 Adpcm reproducer

Publications (2)

Publication Number Publication Date
JPS5735434A JPS5735434A (en) 1982-02-26
JPS6124850B2 true JPS6124850B2 (en) 1986-06-12

Family

ID=14519531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10980080A Granted JPS5735434A (en) 1980-08-12 1980-08-12 Adpcm reproducer

Country Status (1)

Country Link
JP (1) JPS5735434A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61206957A (en) * 1985-03-08 1986-09-13 Tokyo Electric Co Ltd Magnetic disk driving device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61206957A (en) * 1985-03-08 1986-09-13 Tokyo Electric Co Ltd Magnetic disk driving device

Also Published As

Publication number Publication date
JPS5735434A (en) 1982-02-26

Similar Documents

Publication Publication Date Title
EP0098153B1 (en) Digital data code conversion circuit for variable-word-length data code
JPH07193509A (en) Thermometer binary encoding method
JPH06181438A (en) Digital delta-sigma modulator
GB1580447A (en) Code converters
US3971987A (en) Gain method and apparatus for a delta modulator
EP0199282B1 (en) Interpolative d/a converter
US4763108A (en) Digital-to-analog conversion system
JPS6124850B2 (en)
JPS6222289B2 (en)
JPS6240888B2 (en)
JPS6057774B2 (en) Logical operation type digital compandor
JPS6124851B2 (en)
US6326907B1 (en) Coding device
JPS6037657B2 (en) DPCM device
JPH04195423A (en) Multiplier
JPS5888926A (en) Adpcm reproducer
JP3083119B2 (en) Encoding / decoding circuit using adaptive delta modulation scheme
JP3008668B2 (en) ADPCM decoder
JPS61274425A (en) Digital compressing curcuit
JPH01314023A (en) Digital signal processing circuit
SU813677A1 (en) Digital frequency synthesizer
JPH07123214B2 (en) D / A converter
JPH05259922A (en) Variable length coder
JPH0582960B2 (en)
JPH07226654A (en) Arithmetic processing circuit