JPH06232762A - 信号符号化装置および信号復号化装置 - Google Patents

信号符号化装置および信号復号化装置

Info

Publication number
JPH06232762A
JPH06232762A JP5016392A JP1639293A JPH06232762A JP H06232762 A JPH06232762 A JP H06232762A JP 5016392 A JP5016392 A JP 5016392A JP 1639293 A JP1639293 A JP 1639293A JP H06232762 A JPH06232762 A JP H06232762A
Authority
JP
Japan
Prior art keywords
signal
data
point position
decimal point
calculation device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP5016392A
Other languages
English (en)
Other versions
JP3138100B2 (ja
Inventor
Masato Fuma
正人 夫馬
Saneyuki Okamoto
実幸 岡本
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 JP05016392A priority Critical patent/JP3138100B2/ja
Publication of JPH06232762A publication Critical patent/JPH06232762A/ja
Application granted granted Critical
Publication of JP3138100B2 publication Critical patent/JP3138100B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】回路規模を増大させることなく精度を高めるこ
とが可能な信号符号化装置および信号復号化装置を提供
する。 【構成】分割フィルタ3は入力信号を所定の周波数帯域
毎にブロック化して分割する。波形切り出し回路2は時
間軸上の入力信号を所定の時間毎にブロック化して切り
出す。各順変換計算装置4は時間軸上の入力信号を周波
数軸上に変換する。その際に、各グループ毎に固定小数
点方式をとり、その小数点位置を各グループ毎に任意に
設定すると共に、変換のための演算処理において演算結
果がオーバーフローした場合には、小数点位置を最適な
値に設定し直す。各量子化装置5は各順変換計算装置4
の出力信号を量子化して出力する。信号復号化装置6
は、信号符号化装置1の周波数軸上の出力信号に信号符
号化装置1とは逆の処理を施して、信号符号化装置1に
入力された元の時間軸上の入力信号に復号化する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は信号符号化装置および信
号復号化装置に関するものである。
【0002】
【従来の技術】近年、信号圧縮符号化の一つとして変換
符号化が多用されている。変換符号化では、入力信号を
相互に独立な変換軸、例えば、直交する変換軸で変換
(すなわち、直交変換)した後に量子化して出力する。
この変換符号化された出力信号を元の入力信号に復号化
するには、前記符号化と逆の処理、つまり、逆量子化し
た後に逆直交変換を施せばよい。
【0003】ところで、直交変換には、アダマール変
換、カルーネンレーブ変換、ルジャンドル変換、離散的
フーリエ変換(DFT;Discrete Fourier Transfor
m)、離散的余弦変換(DCT;Discrete Cosine Trans
form )等がある。
【0004】この中で、DCTについては、オーディオ
のディジタル信号を扱うために特に改良を加えた、改良
離散的余弦変換(MDCT;Modified Discrete Cosine
Transform)がある。このMDCTでは時間軸上の信号
を周波数軸上に変換することができ、MDCTの線形逆
変換であるIMDCT(Inverse Modified DiscreteCos
ine Transform)では周波数軸上の信号を時間軸上に変
換することができる。尚、MDCTについては、アイイ
ーイーイー・トランザクションズ・オン・エイエスエス
ピー(IEEE TRANSACTIONS ON ASSP )34巻5号,1986
年,1153〜1161頁に詳述されている。
【0005】ところで、上記文献のMDCTまたはIM
DCTでは、線形順変換または線形逆変換にて積和演算
を用いている。そのため、ブロック長(サンプル数)N
が大きくなると乗算回数および加算回数が、ほぼNの2
乗に比例して増加してしまい、処理に時間がかかりすぎ
るという問題があった。
【0006】そこで、積和演算で行っていた線形順変換
および線形逆変換に、高速フーリエ変換(FFT;Fast
Fourier Transform)を利用して処理時間を短縮する方
法が、特開平4−44099号公報に開示されている。
【0007】この方法において、線形順変換を行う順変
換計算装置は、入力バッファと順変換用ウィンドウ部と
線形順変換部とから構成されている。入力バッファはN
サンプルの入力信号を保持する。順変換用ウィンドウ部
は、入力バッファの出力信号にそれぞれ順変換用ウィン
ドウ関数を乗算する。線形順変換部は前処理用乗算部と
FFT部と後処理用乗算部とから構成され、順変換用ウ
ィンドウ部の出力信号に線形順変換を施す。
【0008】すなわち、前処理用乗算部は、順変換用ウ
ィンドウ部で順変換用ウィンドウ関数を乗算して得られ
たNサンプル(第0番〜第N−1番まで)の入力信号に
対して、第0番から第N/4−1番までのN/4サンプ
ルの入力信号を逆極性として第3N/4番から第N番ま
での中間信号とする。また、前処理用乗算部は、第N/
4番から第N−1番までの3N/4サンプルの入力信号
を第0番から第3N/4−1番までの中間信号とする。
そして、前処理用乗算部は、得られたNサンプルの中間
信号にexp(−2πjn/N)を乗算する。
【0009】FFT部は、前処理用乗算部の出力信号に
FFTを施して時間軸上から周波数軸上に変換する。後
処理用乗算部は、FFT部のNサンプルの出力信号にe
xp{−2πj(k+1/2)/2N}を乗算して実数
成分を出力する。
【0010】一方、線形逆変換を行う逆変換計算装置
は、線形逆変換部と逆変換用ウィンドウ部と出力バッフ
ァとから構成されている。線形逆変換部は前処理用乗算
部とIFFT部と後処理用乗算部とから構成され、入力
信号(すなわち、順変換計算装置の出力信号)に線形逆
変換を施す。逆変換用ウィンドウ部は、線形逆変換部の
出力信号にそれぞれ逆変換用ウィンドウ関数を乗算す
る。出力バッファは逆変換用ウィンドウ部の出力信号を
保持する。
【0011】ここで、前処理用乗算部は、順変換計算装
置によって生成されたNサンプルの信号にexp{2π
j(N/4+1/2)k/N}を乗算する。IFFT部
は、前処理用乗算部の出力信号に逆高速フーリエ変換
(IFFT;Inverse Fast Fourier Transform)を施し
て周波数軸上から時間軸上に変換する。
【0012】後処理用乗算部は、IFFT部のNサンプ
ルの出力信号にexp{2πj(n+N/4+1/2)
/2N}を乗算して実数成分を出力する。但し、nとk
は0からN−1までの整数である。
【0013】ここで、順変換計算装置の各部において必
要な乗算回数は、前処理乗算部においてN回、FFT部
で最大Nlog2N回、後処理乗算部でN回であり、順変換
計算装置全体で必要な乗算回数の合計N(2+log2N)
はNが大きくなると、ほぼNlog2N回に等しくなる。ま
た、順変換計算装置において必要な加算回数は、FFT
部における2Nlog2N回である。
【0014】一方、逆変換計算装置の各部において必要
な乗算回数は、前処理乗算部においてN回、IFFT部
で最大Nlog2N回、後処理乗算部でN回であり、逆変換
計算装置全体で必要な乗算回数の合計N(2+log2N)
はNが大きくなると、順変換計算装置と同様にほぼNlo
g2N回に等しくなる。また、逆変換計算装置において必
要な加算回数は、IFFT部における2Nlog2N回であ
る。
【0015】従って、この方法では線形順変換および線
形逆変換に必要な乗算回数および加算回数がほぼNlog2
Nに比例して増加するため、ほぼNの2乗に比例して増
加する前記方法に比べて、処理時間を大幅に短縮するこ
とができる。
【0016】
【発明が解決しようとする課題】ところで、上記の順変
換計算装置および逆変換計算装置を具体化する場合は、
前記入力バッファまたは出力バッファとして、装置内に
ワークRAMを設けるのが一般的である。そして、演算
処理に必要なデータ(前記入力信号、中間信号、出力信
号、演算途中の信号等)をそのワークRAMから読み出
して演算し、演算結果を再びワークRAMに書き込むと
いう処理を繰り返し行うようになっている。また、デー
タのワークRAMへの格納方法(すなわち、表示方法)
および演算方法においては、固定小数点方式または浮動
小数点方式をとっている。
【0017】図8に、固定小数点方式をとる順変換計算
装置51のブロック回路図を示す。順変換計算装置51
は、固定小数点演算を行うMDCT演算回路53とRA
M52とから構成されている。
【0018】前記入力バッファとしてのRAM52は、
実時間上のサンプル点がN個(つまり、時間軸上のN点
の離散値によって信号が表される)である入力信号を入
力して保持する。
【0019】前記順変換ウィンドウ部および線形順変換
部としてのMDCT演算回路53は、RAM52から所
望の入力信号を読み出しては前記した演算処理を行い、
その結果を再びRAM52に書き込むという動作を繰り
返し行う。
【0020】これにより、Nサンプルの入力信号の全て
について所定の演算処理が終了すると、RAM52に保
持されていたNサンプルの入力信号は、入力信号を周波
数軸上のN点の離散値に変換した信号であるNサンプル
の出力信号に置き代わることになる。
【0021】ここで、RAM52中のデータの表示方法
は固定小数点表示であるため、例えば、各データのデー
タ長を24ビットに設定した場合、RAM52内におけ
る1つ1つのデータの格納状態は図10に示すようにな
る。すなわち、最上位ビット(24ビット目)をサイン
ビットとして、残りの23ビットで1つのデータが表さ
れる。このとき、小数点は各データの大きさ(すなわ
ち、信号のレベルの大小)に関係なく、予め定められた
位置に固定されている(図10においては、7ビットと
8ビットの間)。
【0022】ところで、MDCT演算回路53内におけ
る演算処理には誤差がつきものであり、その誤差がノイ
ズとなって信号に影響を与える。従って、固定小数点方
式によれば、大きなレベルの信号について十分なS/N
比を得るように小数点位置を設定すると、小さなレベル
の信号についてはS/N比が悪化してしまう。
【0023】図12および図13は、Nサンプルの全デ
ータ(すなわち、全信号)のデータ長を24ビットに設
定し、小数点位置を7ビットと8ビットの間に固定した
場合における、RAM52内の全信号の格納状態を模式
的に示したものである。
【0024】図12に示すように、信号のレベルが全体
的に大きなときにはS/N比も大きくなる。一方、図1
3に示すように、信号のレベルが全体的に小さなときに
はS/N比も小さくなってしまい、ノイズレベルに埋も
れることになってS/N比が悪化してしまう。
【0025】ここで、小数点を7ビットと8ビットの間
ではなく、もっと高いビット(例えば、十数ビット)に
固定すれば、図13に示すような全体的に小さな信号に
対して十分なS/N比を得ることができる。しかしなが
ら、その場合は、図12に示すような大きな信号に対し
てオーバーフローしてしまうことになる。すなわち、固
定小数点方式によれば、小さなレベルの信号について十
分なS/N比を得るように小数点位置を設定すると、大
きなレベルの信号についてはオーバーフローして歪んで
しまう。
【0026】このように、固定小数点方式をとる順変換
計算装置51においては、大きなレベルの信号に合わせ
て小数点位置を固定すると、小さなレベルの信号のS/
N比が悪化し、反対に、小さなレベルの信号に合わせて
小数点位置を固定すると、大きなレベルの信号が歪んで
しまうという問題があった。すなわち、レベル差が大き
な信号を扱う場合には十分なS/N比がとれず、精度が
低くなるという問題があった。
【0027】また、MDCT演算回路53による演算処
理においては、演算処理を繰り返す度にデータの値が大
きくなることがある。そのため、演算処理によってデー
タがオーバーフローし、その結果がRAM52に書き込
まれると、次に、そのオーバーフローしたデータをRA
M52から読み出して演算処理した結果も同様にオーバ
ーフローしてしまう。すなわち、演算処理によってデー
タが一旦オーバーフローすると、それ以降の演算結果は
全てオーバーフローすることになり意味をなさなくな
る。
【0028】そこで、固定小数点方式をとる順変換計算
装置51においては、小数点位置をできるだけ低いビッ
トに固定して、Nサンプルの全データについて所定の演
算処理が終了するまで絶対にオーバーフローしないよう
にする必要がある。しかしながら、小数点位置を低いビ
ットに固定すると、前記したように、大きなレベルの信
号については十分なS/N比が得られる反面、小さなレ
ベルの信号のS/N比が悪化してしまうという問題があ
った。
【0029】図9に、浮動小数点方式をとる順変換計算
装置61のブロック回路図を示す。順変換計算装置61
は、MDCT演算回路63とRAM62と小数点位置レ
ジスタ64とから構成されている。
【0030】ここで、浮動小数点方式の順変換計算装置
61と固定小数点方式の順変換計算装置51との違いは
下記の点についてだけであり、全体の動作は同じであ
る。 MDCT演算回路63が固定小数点演算ではなく浮動
小数点演算を行う。
【0031】RAM62内の各データ毎に小数点位置
レジスタ64が設けられており、各データは浮動小数点
表示される。 上記については、例えば、各データのデータ長を24
ビットに設定した場合、RAM62内における1つ1つ
のデータの格納状態は図11に示すようになる。すなわ
ち、最上位ビット(24ビット目)をサインビットとし
て、残りの23ビットで1つのデータが表される。この
とき、当該データの小数点位置は、各データ毎に設けら
れた5ビットの小数点位置レジスタ64に格納されてい
る。そのため、各データの小数点位置は任意に設定する
ことができる。
【0032】従って、浮動小数点方式によれば信号のレ
ベルの大小に応じて最適な小数点位置を設定することが
でき、固定小数点方式における上記問題点を解決するこ
とができる。
【0033】しかしながら、浮動小数点方式の順変換計
算装置61においては、小数点位置レジスタ64を各デ
ータ毎に設けなければならないため、サンプル数Nが多
くなると全体の回路規模が著しく大きくなるという問題
があった。
【0034】さらに、MDCT演算回路63において、
小数点位置が異なるデータ同志を演算処理する際には、
小数点位置を合わせる操作(いわゆる、スケール合わ
せ)が必要であるため、処理が複雑になって回路規模が
大きくなるという問題もあった。
【0035】また、逆変換計算装置と順変換計算装置と
の違いは、上記MDCT演算回路53,63を前記線形
逆変換部および逆変換ウィンドウ部としてのIMDCT
演算回路に置き換えた点のみである。そのため、固定小
数点方式の逆変換計算装置においては上記順変換計算装
置51と同様の問題が、浮動小数点方式の逆変換計算装
置においては上記順変換計算装置61と同様の問題があ
った。
【0036】本発明は上記問題点を解決するためになさ
れたものであって、第1の発明の目的は、回路規模を増
大させることなく精度を高めることができる信号符号化
装置を提供することにある。また、第2の発明の目的
は、回路規模を増大させることなく精度を高めることが
できる信号復号化装置を提供することにある。また、第
3の発明の目的は、第1の発明の信号符号化装置または
第2の発明の信号復号化装置において、信号をデータと
して処理する際に、オーバーフローを判定すると共に、
オーバーフローしたデータを正確なデータに復元するこ
とにある。
【0037】
【課題を解決するための手段】第1の発明は、信号符号
化装置において、入力信号波形を所定の周波数帯域毎に
ブロック化して分割すると共に、そのブロック内の信号
を所定の時間毎にブロック化して切り出し、その分割さ
れて切り出された各グループの信号を相互に独立な変換
軸で変換して符号化する際に、各グループ毎に固定小数
点方式をとり、その小数点位置を各グループ毎に任意に
設定すると共に、変換のための演算処理において演算結
果がオーバーフローした場合には、小数点位置を最適な
値に設定し直すことをその要旨とする。
【0038】第2の発明は、信号復号化装置において、
第1の発明の信号符号化装置から出力される各グループ
毎の信号を相互に独立な変換軸で変換して復号化する際
に、各グループ毎に固定小数点方式をとり、その小数点
位置を各グループ毎に任意に設定すると共に、変換のた
めの演算処理において演算結果がオーバーフローした場
合には、小数点位置を最適な値に設定し直すことをその
要旨とする。
【0039】第3の発明は、第1の発明の信号符号化装
置または第2の発明の信号復号化装置において、前記各
グループの信号をデータとして処理する際に、データの
サインビットに適宜なビット数のマージンビットを付加
して複数ビットから成るサインビットとし、前記演算処
理は当該マージンビットのビット数を越えないように設
定して、前記オーバーフローは当該マージンビットの演
算処理による変化から判定すると共に、そのマージンビ
ットの変化からオーバーフローしたデータを正確なデー
タに復元することをその要旨とする。
【0040】
【作用】従って第1の発明によれば、各グループの信号
に対して固定小数点方式による変換符号化がなされる
が、その小数点位置は各グループ毎に任意に設定するこ
とができる。また、変換のための演算処理において演算
結果がオーバーフローした場合には、小数点位置を最適
な値に設定し直すことができる。そのため、入力信号波
形の時間軸に対する変動が大きい場合や高調波成分が複
雑に変動する場合においても、最適な小数点位置に基づ
く変換処理を行うことができ、高い変換精度を実現する
ことができる。
【0041】また、第2の発明によれば、各グループの
信号に対して固定小数点方式による変換復号化がなされ
るが、その小数点位置は各グループ毎に任意に設定する
ことができる。また、変換のための演算処理において演
算結果がオーバーフローした場合には、小数点位置を最
適な値に設定し直すことができる。そのため、第1の発
明と同様に、入力信号波形の時間軸に対する変動が大き
い場合や高調波成分が複雑に変動する場合においても、
最適な小数点位置に基づく変換処理を行うことができ、
高い変換精度を実現することができる。
【0042】また、第3の発明によれば、前記オーバー
フローは、サインビットに付加した適宜なビット数のマ
ージンビットの演算処理による変化から判定することが
できる。さらに、そのマージンビットの変化からオーバ
ーフローしたデータを正確なデータに復元することがで
きる。
【0043】
【実施例】以下、本発明を具体化した一実施例を図1〜
図7に従って説明する。尚、本実施例において、図8〜
図13に示す従来例と同じ構成については符号を等しく
してその詳細な説明を省略する。
【0044】図1に、本実施例のブロック回路図を示
す。信号符号化装置1は、分割フィルタ3と各波形切り
出し回路2と各順変換計算装置4と各量子化装置5とか
ら構成されている。また、信号復号化装置6は、各逆量
子化装置7と各逆変換計算装置8と各波形連結回路10
と合成フィルタ9とから構成されている。
【0045】QMF(Quadrature Mirror Filter)等に
よる分割フィルタ3は、入力信号を所定の周波数帯域毎
にブロック化して分割する。各波形切り出し回路2は、
分割フィルタ3にて周波数帯域毎にブロック化された時
間軸上の入力信号を、所定の時間毎にブロック化して切
り出す。そして、波形切り出し回路2にて所定の時間毎
にブロック化された入力信号はそれぞれ、各順変換計算
装置4に入力される。
【0046】この入力信号の時間軸上および周波数帯域
毎のブロック化を、図2に従って説明する。図2に示す
例では、分割フィルタ3により、入力信号は3つの周波
数帯域0〜f1,f1〜f2,f2〜f3にブロック化
され、各ブロックA〜Cとして分割される。そして、各
波形切り出し回路2により、各ブロックA〜Cの入力信
号は時間T1,T2,T3…でブロック化され、各ブロ
ック1〜3として切り出される。これにより、各波形切
り出し回路2からは、まず、ブロック1の各ブロックA
〜Cであるグループ1A〜1Cに対応する入力信号が出
力され、次に、ブロック2の各ブロックA〜Cであるグ
ループ2A〜2Cに対応する入力信号が出力され、続い
て、ブロック3の各ブロックA〜Cであるグループ3A
〜3Cに対応する入力信号が出力される。
【0047】ここで、順変換計算装置4は、分割フィル
タ3による周波数帯域のブロックA〜C毎に設けられて
いる(つまり、図2に示す例では、3つの順変換計算装
置が設けられている)。従って、各順変換計算装置4に
はそれぞれ、まず、各グループ1A〜1Cに対応する入
力信号が入力され、次に、各グループ2A〜2Cに対応
する入力信号が入力され、続いて、各グループ3A〜3
Cに対応する入力信号が入力される。
【0048】各順変換計算装置4はそれぞれ、後記する
ように、時間軸上の入力信号を周波数軸上に変換する。
各量子化装置5はそれぞれ、各順変換計算装置4の出力
信号を量子化し、その量子化した信号を信号符号化装置
1の出力信号(すなわち、入力信号を変換符号化した信
号)として出力する。
【0049】信号復号化装置6は、信号符号化装置1の
周波数軸上の出力信号に信号符号化装置1とは逆の処理
を施して、信号符号化装置1に入力された元の時間軸上
の入力信号に復号化する。
【0050】すなわち、各逆量子化装置7はそれぞれ、
信号符号化装置1の出力信号である各量子化装置5の出
力信号を逆量子化する。これにより、各逆量子化装置7
の出力信号は、対応する各順変換計算装置4の出力信号
と同じになる。
【0051】各逆変換計算装置8はそれぞれ、後記する
ように、各逆量子化装置7の出力信号を周波数軸上から
時間軸上に変換する。これにより、各逆変換計算装置8
の出力信号は、対応する各波形切り出し回路2の出力信
号と同じになる。
【0052】各波形連結回路10は、各逆変換計算装置
8の出力信号を順次連結する。これにより、各波形連結
回路10の出力信号は、分割フィルタ3によって所定の
周波数帯域毎にブロック化された時間軸上の入力信号と
同じになる。
【0053】QMF等による合成フィルタ9は、各逆変
換計算装置8の出力信号を合成する。これにより、合成
フィルタ9の出力信号(すなわち、信号復号化装置6の
出力信号)は、信号符号化装置1に入力された元の入力
信号と同じになる。
【0054】図3に、順変換計算装置4のブロック回路
図を示す。順変換計算装置4は、固定小数点演算を行う
MDCT演算回路53とRAM21と小数点位置レジス
タ22とオーバーフロー検出回路23とから構成されて
いる。
【0055】ここでは前記入力バッファとして働くRA
M21は、前記グループ(1A〜1C,2A〜2C,3
A〜3C)の内の対応する1つのグループの入力信号を
入力して保持する。この1つのグループの入力信号の実
時間上のサンプル点は従来例と同様にN個であるとする
(つまり、時間軸上のN点の離散値によって信号が表さ
れる)。
【0056】前記順変換ウィンドウ部および線形順変換
部としてのMDCT演算回路53は、オーバーフロー検
出回路23を介してRAM21から所望の入力信号を読
み出しては前記した演算処理を行い、その結果を再びR
AM21に書き込むという動作を繰り返し行う。
【0057】これにより、Nサンプルの入力信号の全て
について所定の演算処理が終了すると、RAM21に保
持されていたNサンプルの入力信号は、入力信号を周波
数軸上のN点の離散値に変換した信号であるNサンプル
の出力信号に置き代わることになる。すなわち、順変換
計算装置4の入力信号は時間軸上から周波数軸上に直交
変換される。
【0058】ここで、MDCT演算回路53が固定小数
点演算を行う点と、RAM21中のデータの表示方法が
固定小数点表示である点については、図8に示す固定小
数点方式をとる従来例と同じである。
【0059】但し、その固定小数点位置は小数点位置レ
ジスタ22に格納されており、任意に設定することがで
きる点が当該従来例と異なっている。また、オーバーフ
ロー検出回路23を設けてRAM21から読み出したデ
ータがオーバーフローしているかどうかを検出し、その
検出結果に基づいて小数点位置レジスタ22に格納され
ている固定小数点位置を設定し直すことができる点も当
該従来例と異なっている。
【0060】すなわち、MDCT演算回路53において
は、1回の演算処理でデータの値が2倍を越えないよう
に(つまり、演算処理によってデータが繰り上がった場
合でも、その繰り上がりが1ビットを越えないように)
アルゴリズムが設定されている。
【0061】そして、従来例では1ビットであったサイ
ンビットに1ビット分のマージンビットを加えて、2ビ
ットでサインビットが構成されている。これにより、デ
ータが正の最大値「1111…」の場合は、サインビッ
ト「00」がその先頭に付加されて「001111…」
と表されることになる。一方、データが負の最大値「0
000…」の場合は、サインビット「11」がその先頭
に付加されて「110000…」と表されることにな
る。
【0062】従って、正の最大値「001111…」で
あったデータが繰り上がった場合(すなわち、オーバー
フローした場合)、繰り上がりは1ビットであるため、
そのデータは「011111…」になる。一方、負の最
大値「110000…」であったデータが繰り上がった
場合(すなわち、オーバーフローした場合)、繰り上が
りは1ビットであるため、そのデータは「100000
…」になる。
【0063】このように、データがオーバーフローした
場合、先頭のサインビットは変わらずにサインビットと
しての機能を保ち、2ビット目のサインビットは反転し
てデータがオーバーフローしたことを表す。
【0064】そこで、オーバーフロー検出回路23によ
ってサインビットを検出することにより、RAM21か
ら読み出したデータのオーバーフローの有無を検出する
ことができる。そして、データがオーバーフローしてい
た場合、オーバーフロー検出回路23は小数点位置レジ
スタ22に格納されている固定小数点位置を1ビットシ
フトダウンして設定し直す。
【0065】そのオーバーフロー検出回路23の動作
を、図5に従って説明する。図5に示す例では、Nサン
プルの全データ(すなわち、全信号)のデータ長を24
ビットに設定し、23,24ビットをサインビットとし
て、残りの22ビットで1つのデータが表される。この
とき、その固定小数点位置は小数点位置レジスタ22に
格納されている。
【0066】図5の(a)に示すように、RAM21か
ら読み出したデータが正の値でオーバーフローしていな
い場合、そのサインビットSSは「00」になってい
る。一方、RAM21から読み出したデータが負の値で
オーバーフローしていない場合、そのサインビットSS
は「11」になっている。オーバーフロー検出回路23
は、そのサインビットSSから当該データがオーバーフ
ローしていないことを検出しオーバーフローフラグ
「0」を立てる。
【0067】このようにRAM21から読み出したデー
タがオーバーフローしていない場合、MDCT演算回路
53は、小数点位置レジスタ22に格納されている固定
小数点位置に基づいて固定小数点演算を行う。
【0068】このとき、RAM21から読み出したデー
タが正の最大値「001111…」であった場合、MD
CT演算回路53における演算処理によりデータは繰り
上がってオーバーフローするが、その繰り上がりは1ビ
ットになるようにMDCT演算回路53のアルゴリズム
は設定されている。そのため、MDCT演算回路53か
らRAM21に書き込まれるデータは「011111
…」になる。同様に、RAM21から読み出したデータ
が負の最大値「110000…」であった場合、MDC
T演算回路53における演算処理によりデータは繰り上
がってオーバーフローするが、その繰り上がりは1ビッ
トになる。そのため、MDCT演算回路53からRAM
21に書き込まれるデータは「100000…」にな
る。
【0069】すなわち、MDCT演算回路53における
演算処理によりデータがオーバーフローした場合、その
サインビットSXは「01」または「10」になる。こ
こで、先頭のサインビットSはサインビットとしての機
能を保ち、2ビット目のサインビットXはデータがオー
バーフローしたことを表している。
【0070】図5の(b)に示すように、これらオーバ
ーフローしたデータがRAM21から読み出されると、
オーバーフロー検出回路23はサインビットSXから当
該データがオーバーフローしていることを検出しオーバ
ーフローフラグ「1」を立てる。
【0071】次に、オーバーフロー検出回路23は、小
数点位置レジスタ22に格納されている固定小数点位置
を1ビット分だけ右にシフト(すなわち、シフトダウ
ン)させて正規化し直し、新しい固定小数点位置を設定
する。また、オーバーフロー検出回路23は、2ビット
目のサインビットを先頭のサインビットと同じにする。
すなわち、サインビットSXが「01」の場合は「0
0」にし、「10」の場合は「11」にする。これによ
り、オーバーフローしたデータを正確なデータに復元す
ることができる。
【0072】そして、MDCT演算回路53は、オーバ
ーフロー検出回路23によって設定し直され小数点位置
レジスタ22に格納された新しい固定小数点位置に基づ
いて、復元したデータの固定小数点演算を行う。
【0073】以後は、データがオーバーフローする度に
同様の処理を行う。従って、MDCT演算回路53によ
る演算処理においてデータがオーバーフローする度に、
小数点位置レジスタ22に格納されている固定小数点位
置が1ビットシフトダウンした値に設定し直される。
【0074】このように、順変換計算装置4は、1つの
グループの入力信号に対して任意の固定小数点位置によ
る演算処理が終了したら、次のグループの入力信号に対
しては前のグループとは別の固定小数点位置を設定して
演算処理を行うことができる。また、複数設けられてい
る順変換計算装置4のそれぞれが、別の固定小数点位置
による演算処理を行うこともできる。そして、MDCT
演算回路53による演算処理においてデータがオーバー
フローしても、そのデータをRAM21から読み出した
時点で正確に復元することができる。さらに、データが
オーバーフローする度に、小数点位置レジスタ22に格
納されている固定小数点位置を設定し直すため、1つの
グループの入力信号に対して固定小数点位置を常に最適
に保つことができる。
【0075】図4に、逆変換計算装置8のブロック回路
図を示す。順変換計算装置4と逆変換計算装置8との違
いは、MDCT演算回路53をIMDCT演算回路31
に置き換えた点のみである。すなわち、逆変換計算装置
8は、固定小数点演算を行うIMDCT演算回路31と
RAM21と小数点位置レジスタ22とオーバーフロー
検出回路23とから構成されている。
【0076】ここでは前記出力バッファとして働くRA
M21は、量子化装置5の出力信号(すなわち、分割フ
ィルタ3から出力された1つのグループの〔Nサンプル
の〕入力信号を周波数軸上に変換した後に量子化した信
号)を保持する。
【0077】前記線形逆変換部および逆変換ウィンドウ
部としてのIMDCT演算回路31は、RAM21から
所望の信号を読み出しては前記した演算処理を行い、そ
の結果を再びRAM21に書き込むという動作を繰り返
し行う。
【0078】これにより、RAM21のNサンプルの信
号の全てについて所定の演算処理が終了すると、RAM
21に保持されていた周波数軸上のNサンプルの信号
は、その信号を時間軸上のN点の離散値に変換(ここで
は、逆変換)した信号(すなわち、順変換計算装置1の
入力信号)であるNサンプルの出力信号に置き代わるこ
とになる。すなわち、逆変換計算装置8の入力信号は周
波数軸上から時間軸上に直交変換される。
【0079】ここで、RAM21中のデータの表示方法
は順変換計算装置4と同様に固定小数点表示であり、I
MDCT演算回路31は固定小数点演算を行う。また、
当該固定小数点位置は小数点位置レジスタ22に格納さ
れており、任意に設定することができる。さらに、オー
バーフロー検出回路23を設けてRAM21から読み出
したデータがオーバーフローしているかどうかを検出
し、その検出結果に基づいて小数点位置レジスタ22に
格納されている固定小数点位置を設定し直すことができ
る。
【0080】尚、IMDCT演算回路53はMDCT演
算回路53と同様に、1回の演算処理でデータの値が2
倍を越えないようにアルゴリズムが設定されている。ま
た、逆変換計算装置8においても順変換計算装置4と同
様に、2ビットでサインビットが構成されている。逆変
換計算装置8のオーバーフロー検出回路23の動作は、
順変換計算装置4のそれと同じであるためここでは説明
を省略する。
【0081】このように、逆変換計算装置8は順変換計
算装置4と同様に、1つのグループの入力信号(すなわ
ち、量子化装置5の出力信号)に対して任意の固定小数
点位置による演算処理が終了したら、次のグループの入
力信号に対しては前のグループとは別の固定小数点位置
を設定して演算処理を行うことができる。また、複数設
けられている逆変換計算装置8のそれぞれが、別の固定
小数点位置による演算処理を行うこともできる。そし
て、IMDCT演算回路31による演算処理においてデ
ータがオーバーフローしても、そのデータをRAM21
から読み出した時点で正確に復元することができる。さ
らに、データがオーバーフローする度に、小数点位置レ
ジスタ22に格納されている固定小数点位置を設定し直
すため、1つのグループの入力信号に対して固定小数点
位置を常に最適に保つことができる。
【0082】このように、本実施例の順変換計算装置4
および逆変換計算装置8は、時間軸上の入力信号を所定
の時間毎にブロック化した各ブロック(図2に示す、ブ
ロック1〜3)の1つ1つの処理については固定小数点
方式をとっている。その一方で、順変換計算装置4およ
び逆変換計算装置8は、当該時間軸上の各ブロック毎に
それぞれ別の固定小数点位置を設定することができる。
つまり、順変換計算装置4および逆変換計算装置8は、
各データ単位ではなく、時間軸上の各ブロック単位で浮
動小数点方式をとっていることになる。
【0083】また、順変換計算装置4および逆変換計算
装置8は、時間軸上の各ブロックを所定の周波数帯域毎
にブロック化した各ブロック(図2に示す、ブロックA
〜C)毎に設けられている。そのため、本実施例では、
当該周波数帯域毎の各ブロックの1つ1つの処理につい
ては固定小数点方式をとっている。その一方で、各順変
換計算装置4および各逆変換計算装置8はそれぞれ別の
固定小数点位置を設定することができるため、周波数帯
域毎の各ブロック毎にそれぞれ別の固定小数点位置を設
定することができる。つまり、本実施例では、周波数帯
域毎の各ブロック毎に順変換計算装置4および逆変換計
算装置8を設けることにより、各データ単位ではなく、
周波数帯域毎の各ブロック単位で浮動小数点方式をとっ
ていることになる。
【0084】すなわち、本実施例では、前記各グループ
(1A〜1C,2A〜2C,3A〜3C)単位で浮動小
数点方式をとっていることになる。従って、各グループ
毎に最適な小数点位置を設定することができる。
【0085】図6および図7は、Nサンプルの全データ
(すなわち、全信号)のデータ長を24ビットに設定
し、時間軸上および周波数帯域毎の各ブロックを図2に
示すように設定した場合における、各順変換計算装置4
または各逆変換計算装置8の各RAM21内の信号の格
納状態を模式的に示したものである。尚、図2に示す例
では、順変換計算装置および逆変換計算装置8がそれぞ
れ3つずつ設けられているため、RAM21もそれぞれ
3つずつ設けられていることになる。
【0086】図7に示すように、入力信号のレベルが全
周波数帯域にわたって小さなときには、各RAM21の
小数点位置を上位のビット側に設定することにより、S
/N比を大きくすることができる。また、図6に示すよ
うに、入力信号のレベルが全周波数帯域にわたって大き
なときには、各RAM21の小数点位置を図7に比べて
下位のビット側に設定することにより、やはりS/N比
を大きくすることができる。
【0087】このように本実施例においては、時間軸上
の入力信号を所定の時間毎にブロック化し、その時間軸
上の各ブロックを所定の周波数帯域毎にブロック化して
各グループとしている。そして、周波数帯域毎の各ブロ
ック毎に順変換計算装置4および逆変換計算装置8を設
けている。さらに、各順変換計算装置4および各逆変換
計算装置8は固定小数点方式をとっているが、その固定
小数点位置は時間軸上の各ブロック毎に任意に設定する
ことができる。そのため、本実施例では、時間軸上の各
ブロック単位で浮動小数点方式をとると共に、周波数帯
域毎の各ブロック単位で浮動小数点方式をとっているこ
とになる。すなわち、時間軸上の各ブロックを周波数帯
域毎に分割した各グループ単位で浮動小数点方式をとっ
ていることになる。
【0088】従って、本実施例では、従来例の固定小数
点方式に比べて、レベル差が大きな信号を扱う場合でも
十分なS/N比を得ることができ、精度を高めることが
できる。
【0089】また、MDCT演算回路53およびIMD
CT演算回路31においては1回の演算処理でデータの
値が2倍を越えないようにアルゴリズムを設定し、サイ
ンビットに1ビット分のマージンビットを加えて2ビッ
トでサインビットを構成している。そして、オーバーフ
ロー検出回路23により、RAM21から読み出したデ
ータのサインビットから当該データがオーバーフローし
ているかどうかを検出する。データがオーバーフローし
ている場合、オーバーフロー検出回路23は、小数点位
置レジスタ22に格納されている固定小数点位置を設定
し直す。また、オーバーフロー検出回路23は、サイン
ビットに基づいて当該オーバーフローしたデータを正確
に復元してMDCT演算回路53またはIMDCT演算
回路31に転送している。
【0090】従って、本実施例では、従来例の固定小数
点方式のように、データが一旦オーバーフローすると、
それ以降の演算結果は全てオーバーフローすることにな
り意味をなさなくなるということはない。
【0091】また、各順変換計算装置4および各逆変換
計算装置8には、それぞれ1つの小数点位置レジスタ2
2しか設けていない。そのため、本実施例では、図9に
示すように各データ毎に小数点位置レジスタ64を設け
ている従来例の浮動小数点方式に比べて、回路規模を小
さくすることができる。
【0092】さらに、MDCT演算回路53およびIM
DCT演算回路31はそれぞれ固定小数点演算を行って
いるため前記スケール合わせを行う必要がなく、従来例
の浮動小数点方式に比べて回路規模を小さくすることが
できる。
【0093】ところで、本実施例はオーディオ信号や画
像信号の処理に使用することができる。例えば、オーデ
ィオ信号の処理に用いる場合には、周波数帯域毎の各グ
ループA〜Cをそれぞれ、低域,中域,高域に対応させ
ることが考えられる。
【0094】すなわち、一般の音楽ソースのエネルギー
レベルは、低域,中域,高域がそれぞれ6:3:1程度
の割合になっている。そこで、従来の固定小数点方式を
オーディオ信号の処理に利用する場合には、各帯域のエ
ネルギーレベルに合わせて、設計時に小数点位置を設定
していた。
【0095】ところが、トライアングルやハイハット等
の打楽器を多用した音楽ソースでは高域のレベルだけが
極端に高くなることがある。一方、パイプオルガンやバ
スドラムが入っている音楽ソースでは低域のレベルだけ
が極端に高くなることがある。このように各帯域でレベ
ルが変動しても、本実施例によれば、そのレベル変動に
合わせて各帯域毎に小数点位置を設定し直すことができ
るため、高い精度で変換符号化または復号化することが
できる。従って、本実施例をオーディオ信号の処理に利
用すれば、レベル変動に関係なく聴感に即して各帯域を
バランス良く明瞭に記録・再生することができる。
【0096】尚、本発明は上記実施例に限定されるもの
ではなく、以下のように実施してもよい。 1)量子化装置5および逆量子化装置7を省き、順変換
計算装置4の出力信号を直接、逆変換計算装置8に入力
させるようにする。
【0097】2)信号符号化装置1の出力信号を直接、
信号復号化装置2に入力させるのではなく、信号符号化
装置1の出力信号を一旦記録媒体(磁気テープ、磁気デ
ィスク、光ディスク、光磁気ディスク等)に記録させ、
記録媒体から読み出した信号を信号復号化装置2に入力
させるようにする。
【0098】3)周波数帯域毎のブロック化を図2に示
すような3つではなく、2つ又は4つ以上にして行う。
この周波数帯域毎のブロック数が多いほど精度は向上す
るが、その反面、回路規模は増大する。
【0099】4)MDCT演算回路53およびIMDC
T演算回路31において、1回の演算処理でデータの値
がm倍(mは2以上の整数)を越えないようにアルゴリ
ズムを設定する。この場合は、サインビットに(m−
1)ビット分のマージンビットを加えてmビットでサイ
ンビットを構成し、上記実施例と同様に具体化する。
【0100】5)MDCTでなく、アダマール変換、カ
ルーネンレーブ変換、ルジャンドル変換、DFT、DC
T等の他の直交変換によって具体化する。 6)分割フィルタ3によって所定の周波数帯域毎にブロ
ック化された入力信号を、各波形切り出し回路2によっ
て所定の時間毎にブロック化して切り出すのではなく、
分割フィルタ3と各波形切り出し回路2の処理とを逆に
する。
【0101】すなわち、時間軸上の入力信号を先ず1つ
の波形切り出し回路2によって所定の時間毎にブロック
化して切り出した後、分割フィルタ3によって所定の周
波数帯域毎にブロック化して分割する。
【0102】
【発明の効果】以上詳述したように、第1の発明によれ
ば、回路規模を増大させることなく精度を高めることが
可能な信号符号化装置を提供することができるという優
れた効果がある。また、第2の発明によれば、回路規模
を増大させることなく精度を高めることが可能な信号復
号化装置を提供することができるという優れた効果があ
る。また、第3の発明によれば、第1の発明の信号符号
化装置または第2の発明の信号復号化装置において、信
号をデータとして処理する際に、オーバーフローを判定
すると共に、オーバーフローしたデータを正確なデータ
に復元することができるという優れた効果がある。
【図面の簡単な説明】
【図1】本発明を具体化した一実施例のブロック回路図
である。
【図2】入力信号の時間軸上および周波数帯域毎のブロ
ック化の一例を説明するための説明図である。
【図3】一実施例の順変換計算装置4のブロック回路図
である。
【図4】一実施例の逆変換計算装置8のブロック回路図
である。
【図5】オーバーフロー検出回路23の動作を説明する
ための説明図である。
【図6】一実施例の各RAM21内の信号の格納状態を
説明するための模式図である。
【図7】一実施例の各RAM21内の信号の格納状態を
説明するための模式図である。
【図8】固定小数点方式をとる従来例の順変換計算装置
51のブロック回路図である。
【図9】浮動小数点方式をとる従来例の順変換計算装置
61のブロック回路図である。
【図10】固定小数点表示のRAM内におけるデータの
格納状態を示す説明図である。
【図11】浮動小数点表示のRAM内におけるデータの
格納状態を示す説明図である。
【図12】固定小数点方式をとる従来例のRAM52内
の信号の格納状態を説明するための模式図である。
【図13】固定小数点方式をとる従来例のRAM52内
の信号の格納状態を説明するための模式図である。
【符号の説明】
1 信号符号化装置 2 波形切り出し回路 3 分割フィルタ 4 順変換計算装置 5 量子化装置 6 信号復号化装置 7 逆量子化装置 8 逆変換計算装置 9 合成フィルタ 10 波形連結回路 22 小数点位置レジスタ 23 オーバーフロー検出回路

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 入力信号波形を所定の周波数帯域毎にブ
    ロック化して分割すると共に、そのブロック内の信号を
    所定の時間毎にブロック化して切り出し、その分割され
    て切り出された各グループの信号を相互に独立な変換軸
    で変換して符号化する際に、各グループ毎に固定小数点
    方式をとり、その小数点位置を各グループ毎に任意に設
    定すると共に、変換のための演算処理において演算結果
    がオーバーフローした場合には、小数点位置を最適な値
    に設定し直すことを特徴とする信号符号化装置。
  2. 【請求項2】 請求項1記載の信号符号化装置から出力
    される各グループ毎の信号を相互に独立な変換軸で変換
    して復号化する際に、各グループ毎に固定小数点方式を
    とり、その小数点位置を各グループ毎に任意に設定する
    と共に、変換のための演算処理において演算結果がオー
    バーフローした場合には、小数点位置を最適な値に設定
    し直すことを特徴とする信号復号化装置。
  3. 【請求項3】 請求項1記載の信号符号化装置または請
    求項2記載の信号復号化装置において、 前記各グループの信号をデータとして処理する際に、デ
    ータのサインビットに適宜なビット数のマージンビット
    を付加して複数ビットから成るサインビットとし、前記
    演算処理は当該マージンビットのビット数を越えないよ
    うに設定して、前記オーバーフローは当該マージンビッ
    トの演算処理による変化から判定すると共に、そのマー
    ジンビットの変化からオーバーフローしたデータを正確
    なデータに復元することを特徴とする信号符号化装置ま
    たは信号復号化装置。
JP05016392A 1993-02-03 1993-02-03 信号符号化装置および信号復号化装置 Expired - Fee Related JP3138100B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05016392A JP3138100B2 (ja) 1993-02-03 1993-02-03 信号符号化装置および信号復号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05016392A JP3138100B2 (ja) 1993-02-03 1993-02-03 信号符号化装置および信号復号化装置

Publications (2)

Publication Number Publication Date
JPH06232762A true JPH06232762A (ja) 1994-08-19
JP3138100B2 JP3138100B2 (ja) 2001-02-26

Family

ID=11914979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05016392A Expired - Fee Related JP3138100B2 (ja) 1993-02-03 1993-02-03 信号符号化装置および信号復号化装置

Country Status (1)

Country Link
JP (1) JP3138100B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054806B1 (en) 1998-03-09 2006-05-30 Canon Kabushiki Kaisha Speech synthesis apparatus using pitch marks, control method therefor, and computer-readable memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054806B1 (en) 1998-03-09 2006-05-30 Canon Kabushiki Kaisha Speech synthesis apparatus using pitch marks, control method therefor, and computer-readable memory
US7428492B2 (en) 1998-03-09 2008-09-23 Canon Kabushiki Kaisha Speech synthesis dictionary creation apparatus, method, and computer-readable medium storing program codes for controlling such apparatus and pitch-mark-data file creation apparatus, method, and computer-readable medium storing program codes for controlling such apparatus

Also Published As

Publication number Publication date
JP3138100B2 (ja) 2001-02-26

Similar Documents

Publication Publication Date Title
JP4689625B2 (ja) 信号解析及び合成のための適応型混合変換
US8195730B2 (en) Apparatus and method for conversion into a transformed representation or for inverse conversion of the transformed representation
US7512539B2 (en) Method and device for processing time-discrete audio sampled values
RU2323469C2 (ru) Устройство и способ для обработки, по меньшей мере, двух входных значений
JPH06232763A (ja) 信号符号化装置および信号復号化装置
JP3138100B2 (ja) 信号符号化装置および信号復号化装置
US6775587B1 (en) Method of encoding frequency coefficients in an AC-3 encoder
JPH01319100A (ja) スループットが極めて小さいボコーダ内の音声信号のエネルギをエンコードする方法と装置
JPH09230898A (ja) 音響信号変換符号化方法及び復号化方法
JP3889738B2 (ja) 逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラム
JP3222967B2 (ja) ディジタル信号処理装置
JP3568213B2 (ja) ディジタル信号処理装置
AU2012247062B2 (en) Adaptive Hybrid Transform for Signal Analysis and Synthesis
JPH07225598A (ja) 動的に決定された臨界帯域を用いる音響コード化の方法および装置
JP3458942B2 (ja) ディジタル信号の復号化方法
US7580843B2 (en) Synthesis subband filter process and apparatus
JPWO2018225412A1 (ja) 符号化装置、復号装置、平滑化装置、逆平滑化装置、それらの方法、およびプログラム
Kwon et al. Real time implementation of MPEG-1 Layer III audio decoder with TMS320C6201 DSP

Legal Events

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