JP3166218B2 - データ圧縮伸張装置およびそれを用いた電子楽器 - Google Patents

データ圧縮伸張装置およびそれを用いた電子楽器

Info

Publication number
JP3166218B2
JP3166218B2 JP19960191A JP19960191A JP3166218B2 JP 3166218 B2 JP3166218 B2 JP 3166218B2 JP 19960191 A JP19960191 A JP 19960191A JP 19960191 A JP19960191 A JP 19960191A JP 3166218 B2 JP3166218 B2 JP 3166218B2
Authority
JP
Japan
Prior art keywords
difference value
value
quantization
adaptive
difference
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
JP19960191A
Other languages
English (en)
Other versions
JPH0546176A (ja
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP19960191A priority Critical patent/JP3166218B2/ja
Priority to US07/920,268 priority patent/US5323154A/en
Publication of JPH0546176A publication Critical patent/JPH0546176A/ja
Priority to US08/167,760 priority patent/US5396238A/en
Application granted granted Critical
Publication of JP3166218B2 publication Critical patent/JP3166218B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/02Instruments in which the tones are synthesised from a data store, e.g. computer organs in which amplitudes at successive sample points of a tone waveform are stored in one or more memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B14/00Transmission systems not characterised by the medium used for transmission
    • H04B14/02Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation
    • H04B14/06Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation using differential modulation, e.g. delta modulation
    • H04B14/066Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation using differential modulation, e.g. delta modulation using differential modulation with several bits [NDPCM]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/571Waveform compression, adapted for music synthesisers, sound banks or wavetables
    • G10H2250/591DPCM [delta pulse code modulation]
    • G10H2250/595ADPCM [adaptive differential pulse code modulation]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入力信号を高能率で圧
縮伸張するデータ圧縮伸張装置およびそれを用いた電子
楽器に関する。
【0002】
【従来の技術】従来、信号データを圧縮伸張することに
より伝送容量の節約や信号を記録するメモリ容量の低減
を図る高能率の符号化方式として、差分PCM(DPC
M)方式や、適応型差分PCM(ADPCM)方式など
が提案されている。
【0003】通常のADPCM方式の場合、原信号が例
えば、16ビットのPCMデータであるとすると、ま
ず、隣接する各標本値間の差分値が16ビット精度で求
められ、その差分値が例えば8ビットで量子化される。
【0004】そのあと、その8ビットの差分値に対し
て、例えば図15のように、差分値に応じた量子化ステ
ップ幅を有する変換テーブルによって、例えば符号ビッ
トを含む4ビットの適応量子化が行われる。図15は、
小さな差分値にはテーブルAが、また大きな差分値には
テーブルCがそれぞれ適用されることを示す。
【0005】このように適応量子化された差分値は、メ
モリに記憶され、あるいは伝送路を介して受信側に送ら
れる。以上がADPCMの符号化(変調)過程の基本原
理であるが、復号の場合は、符号化時のほぼ逆の処理が
行われ、原信号が再生される。
【0006】
【発明が解決しようとする課題】このような場合、上記
16ビットの精度の差分値を8ビットで量子化すれば、
当然、16ビットの原データに対して量子化誤差が新た
に発生する。
【0007】そのため、この量子化誤差を減らすため
に、上記16ビットの差分値を、例えば2ビット増やし
た10ビットで量子化すると、量子化誤差は減少する
が、この差分値がテーブルで変換されたあとの適応量子
化値が、例えば、今まで4ビットだったのが5または6
ビットに増えてしまい、伝送容量やメモリ容量が増加し
てしまうという問題点を有している。
【0008】本発明の課題は、ADPCM方式におい
て、適応量子化値のビット数を増やさずに、従来以上に
量子化誤差を減少させることにある。
【0009】
【課題を解決するための手段】本発明は、入力信号を適
応型差分PCM方式によって符号化するデータ圧縮装
置、そのデータ圧縮装置によって得られた適応量子化値
を適応型差分PCM方式によって復号するデータ伸張装
置、それらのデータ圧縮装置とデータ伸張装置を組み合
わせたデータ圧縮伸張装置、またはそのデータ圧縮伸張
装置を用いた電子楽器を前提とする。
【0010】データ圧縮装置に対応する構成として以下
の構成を有する。まず、入力信号の隣接する標本値間の
第1の差分値を量子化するとともに、量子化時の量子化
誤差を順次つぎに量子化される第1の差分値に加算する
差分値量子化手段を有する。
【0011】つぎに、差分値量子化手段により各第1の
差分値が量子化された時点において、量子化された各第
1の差分値の下位n(nは2以上の自然数)ビットを順
次切り捨てて第2の差分値を得るとともに、切り捨てら
れた下位nビットを順次つぎに処理される第1の差分値
に加算する下位ビット切り捨て手段を有する。同手段
は、例えば通常のビット右シフト処理によって、下位n
ビットを切り捨てる。
【0012】さらに、下位ビット切り捨て手段で得られ
た第2の差分値を適応量子化して適応量子化値を得ると
ともに、その適応量子化値を復号することにより適用量
子化時に生ずる量子化誤差をつぎに適応量子化される第
2の差分値に加算する適応量子化手段を有する。
【0013】次に、データ伸張装置に対応する構成とし
て、上述の適応量子化値から第2の差分値を復号し、復
号された第2の差分値を入力信号の標本化周期の1/2
n に相当する周期で2n 回ずつ順次累算することによっ
て、入力信号を再生する差分値累算手段を有する。同手
段は、例えばn=2の場合、各適応量子化値から復号さ
れた各第2の差分値を、入力信号の標本化周期の1/4
に相当する周期で4回ずつ累算してゆく。
【0014】ここで、上述の構成を有するデータ圧縮装
置とデータ伸張装置を用いた電子楽器として以下のよう
な構成を有することもできる。すなわち、まず、音高を
指定する演奏操作子を有する。
【0015】次に、適応量子化手段から得られる適応量
子化値を記憶する記憶手段を有する。そして、演奏操作
子で指定された音高に対応する周波数に基づいて記憶手
段から適応量子化値を差分値累算手段により読み出すこ
とにより楽音を発生する楽音発生手段を有する。
【0016】
【作用】データ圧縮時には、差分値量子化手段により量
子化された入力信号の第1の差分値は、下位ビット切り
捨て手段によって下位nビットがカットされて第2の差
分値とされたあと、適応量子化手段で適応量子化され
る。
【0017】一方、データ伸張時には、適応量子化値か
ら復号された第2の差分値は、入力信号の標本化周期の
1/2n に相当する周期で2n 回ずつ順次累算される。
その結果、入力信号の標本化1回あたりの量子化誤差
(量子化雑音)は、2n 回の周期に分散されるので、優
れた聴感上のS/Nを得ることができる。
【0018】また、入力信号から第1の差分値が量子化
される際、およびその第1の差分値の下位2ビットがカ
ットされる際、さらに適応量子化手段により適応量子化
される際の各量子化誤差が、それぞれ、つぎに処理され
る値に先き送りされるため、量子化誤差の蓄積を防止す
ることができる。
【0019】
【実施例】以下、図面を参照しながら、本発明を電子鍵
盤楽器に適用した1実施例につき詳細に説明する。
【0020】本実施例では、適応型差分PCM(ADP
CM)を前提として、例えば16ビットで標本化された
楽音信号であるPCMデータの差分値が、一旦量子化さ
れたあと、その差分値に応じて更新される量子化テーブ
ルに従って適応量子化値に変換され、その適応量子化値
がメモリに記憶される。そのあと、演奏者が電子楽器の
演奏を行うと、上述の適応量子化とほぼ逆の過程を経て
楽音信号の復号が行われ、その楽音信号が発音される。 <動作原理>つぎに、まず、本実施例の動作原理を図1
を用いて説明する。
【0021】図1(b)は、標本化周期T=1/fs
(fs:標本化周波数)で標本化された楽音波形の標本化
点B、Aにおける、それぞれのPCMデータ間の差分値
Δxを示す。元のPCMデータは例えば16ビットデー
タであり、差分値Δxも本来は16ビットである。
【0022】従来は、このΔxが更に8ビットで再量子
化されたあと、4ビットで適応量子化されていた。これ
に対して、本実施例では、適応量子化値のビット数を増
やさずに、この差分値Δxが、ほぼ10ビット精度で量
子化されるようにするのが主目的である。
【0023】まず、上記差分値Δxが、従来より2ビッ
ト多い10ビットで量子化されたあと、右へ2ビットシ
フトされて、下位2ビットがカットされる。その結果、
図1(a)のように、差分値Δxの1/4に相当する振
幅を有する8ビットの差分値Δyが得られる。
【0024】このように差分値は、2ビットカットされ
て8ビットのデータになるが、量子化精度の点では、従
来のような最初から8ビットで量子化された差分値とは
基本的に異なる。つまり、下位2ビットがカットされる
と、量子化ステップ数は10ビットの場合の1/4にな
るが、差分値Δyの振幅範囲(ダイナミックレンジ)も
同時に1/4になる。従って、量子化ステップ幅は10
ビットの場合と変わらないことになり、量子化の精度も
変わらないことになる。
【0025】このように下位2ビットがカットされた差
分値Δyは、つぎに、ADPCMの変換テーブルに従っ
て、4ビットの適応量子値に変換されてメモリに記憶さ
れる。
【0026】再生時には、メモリから読み出された適応
量子化値から差分値が復号され、図1(a)のように、
本来のPCMの標本化周期Tの1/4に相当する周期
で、順次累算される。その結果、同図の標本化点のA〜
Bの楽音波形に対して、点線のような波形が生成され
る。
【0027】以上のようにして、10ビットで量子化さ
れた差分値は、下位2ビットがカットされるが、その量
子化誤差は標本化周期Tにつき、その1/4のタイミン
グで4回に分散される。
【0028】その結果、10ビットで量子化が行われた
場合に比較して、聴感上でのダイナミックレンジ(また
はS/N)の劣化度は、通常の8ビットの量子化の場合
が、2ビット分、すなわち、22 =4倍=12dB(デ
シベル)であるのに対して、本実施例の場合は、2ビッ
トの1/4である0.5ビット分、すなわち、21/2
=3dBにとどまり、通常の8ビットで量子化したとき
に比べて、9dBダイナミックレンジが改善される。ま
た、従来より2ビット多い10ビットで差分値が量子化
され、そのあと下位2ビットがカットされたため、適応
量子化値のビット数は、増えず従来と同じ4ビットです
むことになる。
【0029】以上が動作原理である。なお、復号時に
は、標本化周波数を中心として、(標本化時の)原信号
に含まれる周波数スペクトルで定まる余分の周波数スペ
クトルが上下に発生するが、このように標本化周波数
を、本来のPCMの標本化周波数の4倍にすると、原信
号の最高周波数と標本化周波数が充分離れるため、この
余分な周波数スペクトルを除去するためのローパスフィ
ルタの回路構成が簡単になる。 <構成>つぎに、本実施例の全体の構成を説明する。
【0030】図2は本発明によるデータ圧縮・伸長回路
を電子鍵盤楽器に適用した場合の実施例の全体構成図で
ある。同図において、ユーザは演奏に用いる楽音データ
を自ら作成することができる。すなわち、例えば演奏さ
れた楽器から得られた一定ピッチの楽音が、マイクなど
からなる音検出部1によって検出され、それによって楽
音信号が得られる。そのあと、同楽音信号は、A/D変
換器2でディジタル信号に変換される。
【0031】CPU(中央演算制御装置)3は、RAM
(Random Access Memoy) 8をワークメモリとして、RO
M(Read Only Memory)5に記憶されたプログラムを実行
することにより、上記楽音信号を前述のようにADPC
M方式によってデータ圧縮して、楽音データとしてデー
タRAM4に記憶する。
【0032】そのあと、鍵盤部10による演奏者の演奏
が行われると、楽音生成回路6は、前述のADPCM方
式によって楽音データをデータRAM4から読み出し復
号することによって、鍵盤部10からの演奏データに基
づく楽音信号を生成する。その楽音信号は、D/A変換
器7を介して発音回路9に出力される。 <動作>以下、本実施例の一連の動作を、図3〜図11
の動作フローチャートを用いて説明する。これらの動作
は、図2のCPU3がROM5内に記憶されている制御
プログラムを実行する動作として実現される。
【0033】最初に、データ作成時の全体的な処理過程
の動作を、図3の動作フローチャートを用いて説明す
る。まず、16ビットのPCMデータが読み込まれる
(ステップS301) 。つぎに、差分値データが作成され
(ステップS302) 、その差分値データが右へビットシフ
トされて2ビットカットされる (ステップS303) 。その
あと、その差分値で適応量子化のテーブルがアクセスさ
れて、適応化変調の操作が行われる (ステップS304) 。
そして、得られた適応量子化値が、データRAM4に書
き込まれる (ステップS305) 。
【0034】つぎに、図3のステップS302の差分値デー
タ作成時の動作について、図5の動作フローチャートを
用いて説明する。まず、AMP〔I〕は、RAM8に確
保される配列変数であるが、この配列は、値0から始ま
り(変数SIZE)−1 で終わる総計の変数Iにより、AM
〔0〕〜AMP〔SIZE−1 〕までの総計(SIZE)個の1
6ビットのコンプリメント・バイナリ形式のPCM楽音
データを保持する。これが、図3のステップS301のソー
スファイル読み込みで得られるPCMデータである。
【0035】図5において、まず、変数Iに値0が代入
されて初期化が行われる (ステップS501) 。つぎに、差
分値は最初はないので、AMP
〔0〕で表される元の1
6ビットのPCMデータが、差分値の初期値とされて、
RAM8内の変数Dに書き込まれる(ステップS502) 。
【0036】つづいて、ステップS503〜S506→S507〜S5
03のループの処理が繰り返され、順次、差分値Dが作成
される。まず、16ビットの差分値Dが10ビットで量
子化され、例えばRAM8上のDATA〔I〕という配
列に書き込まれる (ステップS503) 。ここで、図4に示
されるように、AMP
〔0〕はDATA
〔0〕に対応
し、また、DATA〔1〕はAMP〔1〕−AMP
〔0〕に、DATA〔SIZE−1 〕はAMP〔SIZE−1 〕
−AMP〔SIZE−2 〕に、それぞれ対応する。
【0037】つぎに、16ビットの差分値Dと、ステッ
プS503で得られた10ビットで量子化された差分値DA
TA〔I〕の差が量子化誤差であるが、この値がRAM
8上の変数Q_ERRに代入される (ステップS504) 。
【0038】そのあと、Iがインクリメントされ (ステ
ップS505)、そのIがSIZE−1 より大きいか否かが調べ
られる。もし大きくなければPCM楽音データから1つ
前のPCM楽音データを引いた差分値が変数Dに代入さ
れる (ステップS507) 。そしてこの差分値Dに前回得ら
れた差分値の誤差Q_ERRが加えられて、新しい差分
値Dが求められる (ステップS508) 。
【0039】この誤差Q_ERRが加えられた差分値D
(これは16ビットの精度を有する)が、ステップS503
で10ビットに量子化され、それがDATA〔I〕とい
う配列に代入される (ステップS503) 。
【0040】以上のように、誤差Q_ERRは、16ビ
ットの精度で順次つぎの差分値に先き送りされて加えら
れ、10ビットで量子化されるので、差分値の誤差が累
積されない。
【0041】そして、変数IがSIZE−1 より大きくなっ
たら差分値の作成を終了する (ステップS506) 。このよ
うにして、配列DATA
〔0〕〜DATA〔SIZE−1 〕
に差分値が求まる。
【0042】つぎに、図3のステップS303の2ビットカ
ットの処理を、図6の動作フローチャートを用いて説明
する。まず、RAM8上の差分値が入っている配列DA
TA〔I〕を指すポインタIが、値0にされる (ステッ
プS601) 。
【0043】つぎに、ポインタIがSIZE−1 に達したか
否かが判定される (ステップS602)。今回は最初である
ため判定はNOとなり、ステップS603に進む。ここで
は、カットされる2ビットの値が求められる。そのた
め、現在参照している差分値DATA〔I〕を値4で徐
した剰余が計算され、その値がRAM8上の変数bit
2に代入される (ステップS603) 。bit2は、DAT
A〔I〕の下位2ビットの値に等しいが、データとして
は、例えば16ビットの補数表現データとして求まる。
したがって、変数bit2は、正、負を表現でき、その
正、負はもとの差分値DATA〔I〕の正、負と一致す
る。
【0044】つぎに、変数bit2が、つぎの差分値D
ATA〔I+1〕の内容に加えられ、新たなDATA
〔I+1〕の内容とされる (ステップS604) 。すなわ
ち、10ビット精度の差分値が2ビットカットされたと
き、カットされた2ビット分の差分値の誤差であるbi
t2の値が、つぎの差分値DATA〔I+1〕に先き送
りされて加えられる。
【0045】そのあと、現在の差分値DATA〔I〕
は、右2ビットシフトされて、2ビットカットされる
(ステップS605) 。このとき、DATA〔I〕が正の場
合(最上位ビットMSB =0)は、右2ビットシフトで空い
たMSB とMSB −1 に0が補填され、また、DATA
〔I〕が負の場合(MSB=1)は、右2ビットシフトで空い
たMSBとMSB −1 に1が補填される。この処理によっ
て、本来の差分値Δxのダイナミックレンジを1/4に
した差分値Δy(図1(b) 参照)が求まる。これが、後
述する再生時において、本来の標本化周期Tの1/4の
タイミングで、順次4回累算される値となる。
【0046】つぎに、変数Iがインクリメントされ(ス
テップS606) 、そのあと、変数IがSIZE−1 より大きい
か否かが判定される (ステップS607) 。この判定がYE
Sになるまで、ふたたびステップS602へ戻り、上述の動
作が繰り返される。
【0047】そして、ステップS602で変数IがSIZE−1
に等しくなると、最終のつぎの差分値はないので、ステ
ップS605に進み、2ビットカットの処理のみが行われ
る。このあと、ステップS606を介してステップS607の判
定がYESになると、図3のステップS303の処理を終了
する。
【0048】以上のようにして、元々は16ビット精度
の各差分値が格納されていた配列DATA〔I〕(0≦
I≦(SIZE −1)) の内容が、2ビットカットされた値で
書き替えられてゆく。この結果、今まで10ビットの精
度を有していた差分値DATA〔I〕は、すべて8ビッ
トの精度に書き替えられたことになる。
【0049】なお、10ビットの差分値の下位2ビット
が、標本化クロックのタイミングで順次つぎの差分値に
上乗せされる結果、2ビットカットされる際の量子化誤
差は蓄積されない。
【0050】以上のように2ビットカットされた差分値
は、図3のステップS304において、つぎのように適応化
変調される。ここで、適応化変調の動作を説明する前
に、ADPCM方式における適用量子化のための変換テ
ーブルについて説明する。
【0051】図12および図13は、差分値を、その差
分値に適応する量子化ステップ幅で量子化するための変
換テーブルである。正数用と負数用があるが、入力され
る差分値の正負に応じて選択される。
【0052】同図において、テーブルナンバーMは、入
力される差分値の大きさに応じて選択される変換テーブ
ルの番号を、また、最上段は適応量子化値Pをそれぞれ
示す。そして、各テーブルには、適応量子化値Pに変換
される差分値が、可変的な量子化ステップ幅で8個づつ
割り当てられている。
【0053】この場合、図15に示されるように、入力
される差分値は、その値が大きいほど量子化ステップ幅
の広い(テーブルナンバーMが大きい)テーブルによっ
て適応量子化値に変換される。
【0054】つぎに、具体的な適応化変調の動作を図7
〜図10を用いて説明する。まず、誤差値としてつぎの
データに加えられる値を格納するRAM8上の変数FO
RE_ERRが値0に初期化される (ステップS701) 。
また、図12、図13のADPCM変換テーブルのテー
ブルナンバーを指すポインタMが値0に初期化される
(ステップS702) 。さらに、差分値のポインタIが値0
にされる (ステップS703) 。
【0055】そのあと、現在参照している8ビットの差
分値DATA〔I〕の内容に、変数FORE_ERRの
値が加えられて、新たな差分値DATA〔I〕が作成さ
れる(ステップS704) 。この場合は、変数FORE_E
RRは、初期値としてステップS701で値0にされてい
る。
【0056】つぎに、差分値DATA〔I〕が正か負か
が、そのMSBの値が0か1かによって判定される (図
8のステップS705) 。もし、正の場合は、図12に例示
されるような正符号用のADPCM変換テーブルが選択
される (ステップS706) 。
【0057】そして、その変換テーブルを用いて、つぎ
のように適応量子化値が求められる。まず、現在、ポイ
ンタMで指されているナンバーのテーブルが選択され
る。このMは、正符号用のテーブルと負符号用のテーブ
ルとで連動して動き、例えば正符号用の方で6番のテー
ブルが選択されれば、負符号用の方でも6番のテーブル
が選択される。
【0058】いま、正符号用の変換テーブルが選択され
たとすると、ナンバーMのテーブルにおいて、8ビット
差分値DATA〔I〕の値を参照値として、それに対応
する0〜7の何れかの値をとる3ビットに圧縮された適
応量子化値が読み出され、RAM8上の配列E_DAT
A〔I〕に読み込まれる(ステップS707)。
【0059】以上の動作をより具体的に説明すると、現
在は第1番目の差分値なので、テーブルナンバーMは値
0が選択される。例えば差分値DATA〔I〕の値が0
3H(Hは16進数を示す)とすると、図12のナンバ
ー0のテーブル上の差分値03Hに対応する最上段の適
応量子化値3が読み出され、E_DATA〔I〕に代入
される。なお、この適応量子化値を格納する配列E_D
ATA〔I〕は、配列DATA〔I〕と同数の、I=0
〜(SIZE −1)の合計SIZE個の大きさを有するが、データ
幅は4ビットである。
【0060】そのあと、4ビット幅の配列E_DATA
〔I〕のMSBに正数を示す値0が付けられる (ステッ
プS708) 。一方、DATA〔I〕が負の場合は、ステッ
プS705からステップS709へ進み、図13に例示されるよ
うな負符号用の変換テーブルが選択される。そのあと、
前述の正符号用の変換テーブルが選択された場合と同様
に、ナンバーMのテーブルにおいて、8ビット差分値D
ATA〔I〕を入力として、それに対応する0〜7の何
れかの値をとる3ビットに圧縮された適応量子化値が読
み出され、配列E_DATA〔I〕に読み込まれる(ス
テップS710)。
【0061】そのあと、4ビット幅の配列E_DATA
〔I〕のMSBに負数を示す値1が付けられる (ステッ
プS711) 。以上で、差分値の適応量子化の動作が終了す
る。
【0062】つぎに、上述の適応量子化における変換誤
差が累積されないようにするため、適応量子化により4
ビットに圧縮されて符号化された差分値をひとまず再生
し、その再生値と元の差分値との誤差を次の差分値に先
き送りする動作について説明する。
【0063】まず、図9のステップS712において、ステ
ップS706、709 で選択されたナンバーMの変換テーブル
がそのまま使用されて、適応量子化値E DATA
〔I〕に対応する差分値が読み出される。例えば、いま
E_DATA〔I〕に適応量子化値3が前述のように得
られ場合に、そのときにテーブルナンバー0が明らかに
なっているので、逆にもとの入力値の差分値の03Hが
求まる。この場合は、差分値DATA〔I〕が03Hで
テーブル上の値に一致しているため、差分値に符号化と
復号において誤差は生じないが、例えばナンバー3のテ
ーブルにおいて、同テーブルにない03Hのような差分
値DATA〔I〕が符号化され、それが復号される場合
は、当然量子化誤差が生じる。
【0064】そのため、もとの8ビットの差分値から、
上述のように、変換テーブルから逆に読み出された値を
減算する処理が行われ、その処理によって得られた誤差
値が変数FORE_ERRに代入される (ステップS71
2) 。
【0065】この誤差は、つぎの標本化クロックのタイ
ミングで、差分値DATA〔I〕に足し込まれ (ステッ
プS704) 、量子化誤差が先き送りされる。このため量子
化誤差は蓄積されない。
【0066】図14は、この先き送りされる量子化誤差
を説明するための図である。同図において、サイクル1
の復号処理の終了時には、上述したように、つぎの3つ
の場合に量子化誤差が発生する。すなわち、16ビット
の入力信号の差分値が10ビットで量子化される場合、
その量子化された10ビットの差分値の下位2ビットが
カットされる場合、およびさらに2ビットカットされた
差分値が適応量子化される場合である。それぞれの場合
において発生した誤差により、本来の波形(実線)との
ずれaが発生する。
【0067】そして、このまま進むと、サイクル2の終
了時にはサイクル2における誤差bがさらに加算され、
ずれの大きさはa+bとなる。時間が経過するにつれ
て、このずれはさらに蓄積されて大きなずれとなり、い
わゆるオフセットドリフトが発生する。
【0068】一方、本実施例の場合は、サイクル1の終
了時には、やはり、ずれaが発生するが、誤差分がサイ
クル2に先送りされているため、サイクル2でサイクル
1の誤差がキャンセルされ、本来の波形に追従してゆ
く。サイクル2の終了時のずれcは、サイクル2におけ
る誤差分、およびキャンセルしきれなかったサイクル1
の誤差分である。
【0069】しかし、この誤差もつぎのサイクルに先送
りされるので、全体として誤差は蓄積されず、波形のオ
フセットドリフトは発生しない。つぎに、図12、図1
3の変換テーブルの更新について説明する。
【0070】例えば、図12で、ナンバーMのテーブル
を使用して差分値DATA〔I〕に対応する適応量子化
値Pが読み出される場合、すなわち例えばM=0のテー
ブルが参照されている場合に、入力値(差分値)として
そのテーブルで表現しきれない値0AHなどが入力され
ると、その結果得られる適応量子化値Pは最大値の7に
なる。
【0071】このように、最大値の7または逆に最小値
の0が選択されたならば、そのテーブルは不適切である
ので、1段上のテーブルまたは1段下のテーブルが選択
されねばならない。
【0072】以上の考えに基づき、図9のステップS713
〜S718のフローが実行される。まず、ステップS713で適
応量子化値が最大値の7であるか否かが判定され、判定
がYESなら、テーブルナンバーMが最大値の15であ
るか否かが判定される(ステップS715) 。その判定がY
ESならば、Mはこれ以上のナンバーに更新することは
できないので、つぎの図10のステップS719に進む。ま
た判定がNOならば、テーブルナンバーMは、1増加さ
れる (ステップS716) 。
【0073】ステップS713の判定がNOならば、つぎ
に、適応量子化値が最小値の0であるか否かが判定され
る (ステップS714) 。その判定がNOならば、適応量子
化されるべき差分値が現在のテーブルの最大値と最小値
の範囲に入っており、次回も同じテーブルが使われても
よいと判断されて、つぎのステップS719に進む。
【0074】また、ステップS713の判定がYESなら
ば、テーブルナンバーMが最小値の0であるか否かが判
定される (ステップS717) 。この判定がYESならば、
Mはこれ以下のナンバーに更新することはできないの
で、つぎの図10のステップS719に進む。逆に、ステッ
プS713の判定がNOならば、より量子化の精度を高める
ために、テーブルナンバーMの値が1減らされる (ステ
ップS718) 。
【0075】そのあと、変数Iがインクリメントされ
(図10のステップS719) 、その変数Iが最大値の(SIZ
E−1)を超えたか否かが判定され (ステップS720) 、超
えていなければ、ステップS704に戻り、前述の処理が繰
り返し行われる。また超えていれば図3のステップS304
の処理を終了する。
【0076】このようにして、必要に応じて変換テーブ
ルが順次更新され、次回に用いられる変換テーブルが決
定される。ただし音声データの場合、次回の差分値が負
に転ずることもあり得る。その場合、図12、図13の
変換テーブルが切り替えられるが、例えば今、正符号用
のテーブルの中で、テーブルナンバー7が選択されてい
るとすると、負のテーブルに移っても同じテーブルナン
バー7が選択される。これは、音声データが正から負に
移る時、ほとんどの場合、同じ程度の振幅を示すからで
ある。
【0077】以上のようにして、配列E_DATA
〔I〕に4ビット精度の適応量子化値が求められたこと
になる。このようにして4ビットの精度で適応量子化さ
れたデータが、音源信号として図2のデータRAM4に
書き込まれる。
【0078】つぎに、演奏者による図2の鍵盤部10の
鍵盤の演奏操作に応じて、データRAM4に書き込まれ
た上記音源信号によって楽音信号が生成される動作につ
いて説明する。
【0079】このときの動作は、いままで説明した符号
化時(変調時)の逆の処理にほぼ相当するが、特徴的な
ことは、標本化周期T毎に適応量子化された差分値Δy
(図1(a)参照)が読み出され、それが標本化周期の
1/4の周期で順次累算されることである。すなわち、
累算動作が4回行われたら、つぎに、1回差分値が読み
出されるという動作が繰り返される。そのため補間カウ
ンタIPという変数が設けられ、IPが3になる毎に差
分値が読み出され、3以下のときはその差分値が順次累
算される。
【0080】以下、図11の動作フローチャートを用い
て再生時の動作を説明する。この図11の処理は、CP
U3がタイマー割り込みによって、図1の標本化周期T
の1/4のタイミング毎に、ROM5内の割込プログラ
ムを実行する動作として実現される。
【0081】まず、補間カウンタIPが3であるか否か
が判定される (ステップS1101)。この補間カウンタIP
の値は、特には図示しない楽音発生用のメインルーチン
でIP=3に初期化されているため、最初の場合の判定
はYESで、つぎのステップへ進む。
【0082】つぎに、補間カウンタIPがリセットされ
る (ステップS1102)。そのあと、アドレスポインタAD
Rによって指示されるデータRAM4上のADPCM方
式による適応量子化データ(前述した配列E_DATA
〔I〕の内容に対応している)が読み出され、適応量子
化値(図1(a)のΔyに相当)がRAM8上の変数P
に代入される (ステップS1103)。
【0083】この変数Pには、図8で説明したように
正、負の符号が付けられているため、その符号ビット
(MSB)が正か否かが判定される (ステップS1104)。
Pが正ならば、図12に例示される符号時と同様の正符
号用の変換テーブルが選択され (ステップS1105)、また
Pが負ならば、図13に例示される符号時と同様の負符
号用の変換テーブルが選択され (ステップS1106)、以下
の処理が行われる。
【0084】つづいて、現在のテーブルナンバーMで、
適応量子化値Pに対応する差分値が読み出されて、変数
Dに代入される (ステップS1107)。つぎのステップS110
8 〜S1113 は、図9のステップS713〜S718で説明したテ
ーブルナンバーの更新のときとまったく同じである。こ
のように、符号化時と復号時でまったく同じ規則でテー
ブルナンバーが更新されるため、完全に同じ値が再生さ
れる。
【0085】つぎに、次回の差分値の読み出しのため
に、アドレスポインタADRがインクリメントされる
(ステップS1114)。そのあと、適応量子化値Pに対応す
る現在の差分値(図1(a)のΔyに相当)が入ってい
る変数Dの値が、変数SDに順次累算され (ステップS1
115 )、さらに、その変数SDの値がD/A変換されて
再生信号として出力される (ステップS1116)。
【0086】この累算処理は計4回行われるが、1回目
は、前述したようにステップS1101の判定がYESにな
って差分値が読み出されたあとで累算が行われている
が、次回からは補間カウンタが3でなくなっているため
(ステップS1102 参照)、ステップS1101 の判定がNO
になり、ステップS1117 で補間カウンタがインクリメン
トされながら、同じ差分値Dが変数SDに累算される
(ステップS1115)。
【0087】このようにして、補間カウンタIPが3に
なるまで累算動作が繰り返され、結局、最初のIP=0
の場合を含めて計4回の差分値の累算が行われる。そし
て、その4回の累算毎に、標本化周期の1/4の周期内
でD/A変換が行われ、再生信号が出力される。そして
4回累算が行われたら、補間カウンタが3になるため、
ふたたびつぎの差分値が読み出され、上述の処理が繰り
返される。
【0088】以上説明した実施例では、適応量子化され
た差分値はメモリに記憶されるが、本発明はこれに限ら
れることなく、例えば適応量子化された差分値データが
伝送路を介して受信側に送信されるようなシステムにも
適用することができる。
【0089】この場合、従来と同じ容量の伝送路を用い
て、従来よりはるかに優れたS/N(信号対雑音比)を
有する信号伝送が実現される。
【0090】
【発明の効果】本発明によれば、データ圧縮時には、音
声信号などの差分値の下位nビットがカットされたあ
と、適応量子化が行われ、データ伸張時には、適応量子
化値から復号された第2の差分値は、入力信号の標本化
周期の1/2n に相当する周期で2n 回ずつ順次累算さ
れる。従って、入力信号の標本化1回あたりの量子化誤
差(量子化雑音)は、2n 回の周期に分散されるので、
単純に量子化ビット数をnビット減らした場合に比較し
て、優れた聴感上のS/Nを得ることができる。
【0091】また、入力信号から第1の差分値が量子化
される際、およびその第1の差分値の下位2ビットがカ
ットされる際、さらに適応量子化手段により適応量子化
される際の各量子化誤差が、それぞれ、つぎに処理され
る値に先き送りされるため、量子化誤差の蓄積を防止で
き、いわゆるオフセットドリフトの発生を回避すること
ができる。
【0092】このようにして、入力信号がnビットの適
応量子化値に圧縮される場合で比較すると、本発明は、
従来と同じ記憶容量または伝送容量で、従来よりはるか
に量子化誤差(量子化雑音)の少ない符号化を行うこと
が可能となる。
【0093】その他、標本化周波数は従来のn倍に高ま
るため、復号時に標本化周波数を中心として発生する折
り返し雑音を簡単な回路構成のフィルタで除くことが可
能となる。
【図面の簡単な説明】
【図1】本発明の原理を説明する図である。
【図2】本実施例の全体構成図である。
【図3】本実施例におけるデータ記録時の処理過程の動
作フローチャートである。
【図4】PCM楽音データAMP〔I〕と量子化された
差分値DATA〔I〕の関係を示す図である。
【図5】差分値データ作成時の動作に関する動作フロー
チャートである。
【図6】差分値データが2ビットカットされる際の処理
に関する動作フローチャートである。
【図7】適応化変調に関する動作フローチャート(その
1)である。
【図8】適応化変調に関する動作フローチャート(その
2)である。
【図9】適応化変調に関する動作フローチャート(その
3)である。
【図10】適応化変調に関する動作フローチャート(そ
の4)である。
【図11】再生時の動作に関する動作フローチャートで
ある。
【図12】ADPCM変換テーブル(正符号用)を示す
図である。
【図13】ADPCM変換テーブル(負符号用)を示す
図である。
【図14】先き送りされる量子化誤差を説明する図であ
る。
【図15】適応量子化の変換テーブルを説明するための
図である。
【符号の説明】
1 音検出部 2 A/D変換器 3 CPU 4 データRAM 5 ROM 6 楽音生成回路 7 D/A変換器 8 RAM 9 発音回路 10 鍵盤部
フロントページの続き (56)参考文献 特開 平2−233024(JP,A) 特開 昭63−54827(JP,A) 特開 平4−79607(JP,A) 特開 平2−242300(JP,A) 特開 昭63−169137(JP,A) 特開 昭63−283323(JP,A) 特開 昭64−10742(JP,A) 特開 昭64−10743(JP,A) 特開 平1−130640(JP,A) 特開 平1−255329(JP,A) 特開 平1−255330(JP,A) 特開 平3−200294(JP,A) 特開 昭62−260227(JP,A) 特開 昭62−260229(JP,A) 特開 昭62−242993(JP,A) 特開 昭62−242994(JP,A) 特開 昭62−242995(JP,A) 特開 昭62−242996(JP,A) 特許2565179(JP,B2) 特公 平6−81056(JP,B2) 特公 昭63−58413(JP,B2) (58)調査した分野(Int.Cl.7,DB名) G10H 7/02 G10L 19/00 H03M 7/32 - 7/38 H04B 14/00 - 14/06 JICSTファイル(JOIS)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力信号を適応型差分PCM方式によっ
    て符号化するデータ圧縮装置において、 前記入力信号の隣接する標本値間の第1の差分値を量子
    化するとともに、該量子化時の量子化誤差を順次つぎに
    量子化される第1の差分値に加算する差分値量子化手段
    と、 nを2以上の自然数として、 前記差分値量子化手段により前記各第1の差分値が量子
    化された時点において、量子化された前記各第1の差分
    値の下位nビットを順次切り捨てて第2の差分値を得る
    とともに、該切り捨てられた下位nビットを順次つぎに
    処理される第1の差分値に加算する下位ビット切り捨て
    手段と、 該下位ビット切り捨て手段で得られた前記第2の差分値
    を適応量子化して適応量子化値を得るとともに、該適応
    量子化値を復号することにより適用量子化時に生ずる量
    子化誤差をつぎに適応量子化される前記第2の差分値に
    加算する適応量子化手段と、 を有することを特徴とするデータ圧縮装置。
  2. 【請求項2】 請求項1に記載のデータ圧縮装置によっ
    て得られた適応量子化値を適応型差分PCM方式によっ
    て復号するデータ伸張装置において、 前記適応量子化値から前記第2の差分値を復号し、該復
    号された第2の差分値を前記入力信号の標本化周期の1
    /2n に相当する周期で2n回ずつ順次累算することに
    よって、前記入力信号を再生する差分値累算手段を有す
    る、 ことを特徴とするデータ伸張装置。
  3. 【請求項3】 入力信号を適応型差分PCM方式によっ
    て符号化および復号するデータ圧縮伸張装置において、 前記入力信号の隣接する標本値間の第1の差分値を量子
    化するとともに、該量子化時の量子化誤差を順次つぎに
    量子化される第1の差分値に加算する差分値量子化手段
    と、 nを2以上の自然数として、 前記差分値量子化手段により前記各第1の差分値が量子
    化された時点において、量子化された前記各第1の差分
    値の下位nビットを順次切り捨てて第2の差分値を得る
    とともに、該切り捨てられた下位nビットを順次つぎに
    処理される第1の差分値に加算する下位ビット切り捨て
    手段と、 該下位ビット切り捨て手段で得られた前記第2の差分値
    を適応量子化して適応量子化値を得るとともに、該適応
    量子化値を復号することにより適用量子化時に生ずる量
    子化誤差をつぎに適応量子化される前記第2の差分値に
    加算する適応量子化手段と、 該適応量子化手段から得られる適応量子化値から前記第
    2の差分値を復号し、該復号された第2の差分値を前記
    入力信号の標本化周期の1/2n に相当する周期で2n
    回ずつ順次累算して出力する差分値累算手段と、 を有することを特徴とするデータ圧縮伸張装置。
  4. 【請求項4】 音高を指定する演奏操作子と、 前記適応量子化手段から得られる適応量子化値を記憶す
    る記憶手段と、 前記演奏操作子で指定された音高に対応する周波数に基
    づいて前記記憶手段から前記適応量子化値を前記差分値
    累算手段により読み出すことにより楽音を発生する楽音
    発生手段と、 をさらに有することを特徴とする請求項3に記載のデー
    タ圧縮伸張装置を用いた電子楽器。
JP19960191A 1991-08-08 1991-08-08 データ圧縮伸張装置およびそれを用いた電子楽器 Expired - Fee Related JP3166218B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP19960191A JP3166218B2 (ja) 1991-08-08 1991-08-08 データ圧縮伸張装置およびそれを用いた電子楽器
US07/920,268 US5323154A (en) 1991-08-08 1992-07-27 Data compressing and expanding apparatus
US08/167,760 US5396238A (en) 1991-08-08 1993-12-15 Data compressing and expanding apparatus for tone generation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19960191A JP3166218B2 (ja) 1991-08-08 1991-08-08 データ圧縮伸張装置およびそれを用いた電子楽器

Publications (2)

Publication Number Publication Date
JPH0546176A JPH0546176A (ja) 1993-02-26
JP3166218B2 true JP3166218B2 (ja) 2001-05-14

Family

ID=16410572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19960191A Expired - Fee Related JP3166218B2 (ja) 1991-08-08 1991-08-08 データ圧縮伸張装置およびそれを用いた電子楽器

Country Status (2)

Country Link
US (2) US5323154A (ja)
JP (1) JP3166218B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3166218B2 (ja) * 1991-08-08 2001-05-14 カシオ計算機株式会社 データ圧縮伸張装置およびそれを用いた電子楽器
CN1591564B (zh) * 1995-06-19 2010-10-06 雅马哈株式会社 形成乐音波形的方法和装置
ATE314755T1 (de) * 2003-01-10 2006-01-15 Techem Energy Services Gmbh Verfahren zur einsparung von speicherplatz für eine folge numerischer werte
DE102008034437A1 (de) * 2008-07-24 2010-01-28 Leopold Kostal Gmbh & Co. Kg Vorrichtung zur zustandsabhängigen Ausgabe von Klängen in einem Kraftfahrzeug

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4516241A (en) * 1983-07-11 1985-05-07 At&T Bell Laboratories Bit compression coding with embedded signaling
US5128963A (en) * 1985-01-31 1992-07-07 Sony Corporation 3-mode PCM/DPCM/APCM maximizing dynamic range
JPS6230434A (ja) * 1985-08-01 1987-02-09 Fujitsu Ltd 適応差分符号化装置
JPS62194743A (ja) * 1986-02-21 1987-08-27 Hitachi Ltd Adpcm符号・復号器
JPS62194742A (ja) * 1986-02-21 1987-08-27 Hitachi Ltd Adpcm符号化方式
US4916996A (en) * 1986-04-15 1990-04-17 Yamaha Corp. Musical tone generating apparatus with reduced data storage requirements
JP2523549B2 (ja) * 1986-12-12 1996-08-14 株式会社日立製作所 Adpcm符号化器およびadpcm符号化方法
JPH082025B2 (ja) * 1987-01-12 1996-01-10 日本電気株式会社 適応量子化器
JP3166218B2 (ja) * 1991-08-08 2001-05-14 カシオ計算機株式会社 データ圧縮伸張装置およびそれを用いた電子楽器

Also Published As

Publication number Publication date
JPH0546176A (ja) 1993-02-26
US5396238A (en) 1995-03-07
US5323154A (en) 1994-06-21

Similar Documents

Publication Publication Date Title
EP0207171B1 (en) Digital signal transmission device
US5128963A (en) 3-mode PCM/DPCM/APCM maximizing dynamic range
EP0145788B1 (en) Method and apparatus for transmitting digital signal
US5594443A (en) D/A converter noise reduction system
JP3166218B2 (ja) データ圧縮伸張装置およびそれを用いた電子楽器
US4783792A (en) Apparatus for transmitting digital signal
US5812982A (en) Digital data encoding apparatus and method thereof
JPH07199996A (ja) 波形データ符号化装置、波形データ符号化方法、波形データ復号装置、及び波形データ符号化/復号装置
JP2007142547A (ja) 符号化方法及び復号化方法とその符号器及び復号器
JP4351684B2 (ja) ディジタル信号復号化方法、装置、プログラム及び記録媒体
US5739778A (en) Digital data formatting/deformatting circuits
JP2674161B2 (ja) 音源データ圧縮符号化方法
US5168116A (en) Method and device for compressing signals of plural channels
US6326907B1 (en) Coding device
KR100359037B1 (ko) 디지탈 데이타의 부호화 방법 및 부호화 장치
JP2005151327A (ja) Pcmデータ圧縮・伸長方法及び装置
JP2002271207A (ja) データ変換装置およびデータ圧縮装置およびデータ伸長装置
US4876935A (en) Electronic musical instrument
US5325240A (en) Data compression and expansion apparatus for audio recorders
JPH08181617A (ja) ディジタル信号伝送装置
JP3884131B2 (ja) データ圧縮装置およびデータ伸長装置
JP4319895B2 (ja) 時系列信号の符号化装置
JP2730029B2 (ja) 線形予測符号化方法
US20050025251A1 (en) Method of optimizing compression rate in adaptive differential pulse code modulation (ADPCM)
JP3512347B2 (ja) デジタルデータの符号化方法及び復号化方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010206

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

Free format text: PAYMENT UNTIL: 20090309

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090309

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100309

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110309

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees