JP3524747B2 - 離散コサイン変換回路 - Google Patents

離散コサイン変換回路

Info

Publication number
JP3524747B2
JP3524747B2 JP01926998A JP1926998A JP3524747B2 JP 3524747 B2 JP3524747 B2 JP 3524747B2 JP 01926998 A JP01926998 A JP 01926998A JP 1926998 A JP1926998 A JP 1926998A JP 3524747 B2 JP3524747 B2 JP 3524747B2
Authority
JP
Japan
Prior art keywords
adder
data
subtractor
discrete cosine
stored
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
JP01926998A
Other languages
English (en)
Other versions
JPH11212958A (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.)
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 JP01926998A priority Critical patent/JP3524747B2/ja
Priority to US09/239,192 priority patent/US6292817B1/en
Publication of JPH11212958A publication Critical patent/JPH11212958A/ja
Application granted granted Critical
Publication of JP3524747B2 publication Critical patent/JP3524747B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、デジタル音声録音
再生装置におけるデジタル音声データの圧縮/伸長処理
に用いることができる離散コサイン変換回路に関する。
【0002】
【従来の技術】図2は、デジタル化された音声データの
符号化/復号化を行う処理装置の概略のブロック図であ
る。録音時には、入力された音声信号が、まずA/D
(analogto degital)変換器2によりデジタル音声デー
タに変換される。デジタル音声データは、QMF(quad
rature mirror filter)回路4を用いて低、中、高の3
つの周波数帯域に分割される。デジタルの時系列音声デ
ータは、離散コサイン変換(DCT:discrete cosine
transform)回路6を用いて周波数成分データに変換さ
れ、さらに量子化器8にて量子化される。このように生
成された符号化データは、所定の記録媒体に記録するた
めの次段の処理回路に供給される。
【0003】一方、再生時には、上述とは逆の処理が行
われる。つまり、逆量子化器10、離散コサイン逆変換
回路(inverse DCT)12、IQMF(inverse quad
rature mirror filter)回路14、D/A(degital to
analog)変換器16はそれぞれ量子化器8、DCT回
路6、QMF回路4、A/D変換器2が行うのとは逆の
変換を行い、これらを用いて、記録された符号化データ
から音声信号が再生される。
【0004】さて、DCTは、音声信号の符号化/復号
化において有用であり、広く用いられるようになってい
る。DCTには種々のタイプがあり、例えば、音声録音
再生装置に用いられる一つのタイプとして、連続整数の
時刻インデックスnで表される2M個の時系列音声デー
タy(n)と連続整数の波数インデックスkで表されるM
個の周波数成分データX(k)との間の次の関係式、
【数1】 で表されるDCTがある。これはいくつかの基本的なD
CTからはやや変更を加えられたものであるため、ここ
ではModified DCT、以下、略してMDCTと呼び、
またその逆変換をIMDCT(Inverse MDCT)と呼
ぶ。
【0005】DCTを高速に処理するアルゴリズムとし
て高速フーリエ変換(FFT)を使用する方法が知られ
ている。上記MDCT又はIMDCTについても、同様
にFFTを用いたアルゴリズムにより数列X(k)から数
列y(n)を求めたり、逆に数列y(n)から数列X(k)を求
めることが行われている。
【0006】より厳密に述べれば、時系列音声データy
(n)と周波数成分データX(k)との関係式である(1)式
はIMDCTの計算に適した形式に表されたものであ
り、MDCTは後述の(6)式の表現に基づいて計算が
行われる。
【0007】まず(1)式に基づくIMDCTに関する
計算アルゴリズムを以下に説明する。まず、変換元デー
タである数列X(k)を所定規則に従って並べ替えて再構
成し、新たな数列U(k)を定義する。このU(k)に基づい
て、次式で表されるZ(j)が定義される。なお、ここ
で、iは虚数単位であり、ψ(j)は所定のjの関数を表
す。
【0008】 Z(j)=(U(2j)+iU(2j+1))・exp(iψ(j)) ………(2) さらに、このZ(j)から次式で定義されるz(n)が求めら
れる。
【0009】
【数2】 この(3)式を高速に計算するためにFFTが用いられ
る。よく知られているようにFFTは、上記(3)式を
次式で表される演算の繰り返しにより計算するものであ
る。なお、ψ'(j)は所定のjの関数である。
【0010】 Z(j1)+Z(j2)・exp(iψ'(j)) ………(4) IMDCTでは、このz(n)から、次の(5)式で定義
されるu(n)を求め、この数列u(n)を並べ替えにより再
構成して、時系列音声データy(n)を得る。なお、a0
3はnごとに定まる比例係数である。
【0011】
【数3】 u(n) =a0・Rez(n)+a1・Rez(M/2-1-n) +a2・Imz(n)+a3・Imz(M/2-1-n) u(M-1-n)=a2・Rez(n)−a3・Rez(M/2-1-n) −a0・Imz(n)+a1・Imz(M/2-1-n) ………(5) 一方、MDCTに関しては、時系列音声データy(n)に
基づいた数列x(n)から周波数成分データX(k)を求める
ために次の関係式が用いられる。
【0012】
【数4】 (1)式と(6)式とは係数2/Mを除けば、ほとんど
同一の形式を有していることから、MDCTの計算アル
ゴリズムは上述したIMDCTのそれと類似することが
期待される。実際、MDCTの計算アルゴリズムは、以
下のようなものであり、IMDCTのアルゴリズムと共
通点を有する。しかし、その一方、多少の相違点もある
ことに注意する。
【0013】まず、MDCTでは次式に示されるよう
な、変換元データである数列x(n)の所定の要素同士の
和(又は差)により、新たな数列x'(n)を定義する。こ
のプロセスはIMDCTにはないものである。
【0014】 x'(n)=x(n1)+x(n2)又はx(n1)−x(n2) ………(7) このx'(n)に基づいて、(2)式と同形式の次式で表さ
れるz(j)が定義される。
【0015】 z(j)=(x'(2j)+ix'(2j+1))・exp(iψ(j)) ………(8) さらに、このz(j)から次式で定義されるZ(k)が求めら
れる。
【0016】
【数5】 この(9)式は(3)式と同様の形式を有し、この高速
計算においても(3)式同様、FFTが用いられ、次の
形式の演算が実行される。
【0017】 z(j1)+z(j2)・exp(iψ'(j)) ………(10) MDCTでは、このZ(k)から、次の(11)式により
周波数成分データX(k)を得る。
【0018】
【数6】 X(k) =b0・ReZ(k)+b1・ReZ(M/2-1-k) +b2・ImZ(k)+b3・ImZ(M/2-1-k) X(M-1-k)=b2・ReZ(k)−b3・ReZ(M/2-1-k) −b0・ImZ(k)+b1・ImZ(M/2-1-k) ………(11) ただし、b0〜b3はkごとに定まる比例係数である。n
ごとに定まる比例係数aL(L=0〜3)をaL=a
L(n)、また比例係数bL(L=0〜3)をbL=bL(k)と
表すと、両者の間には bL(j)=aL(j)×2/M ………(12) という関係がある。
【0019】図3は、上述したIMDCT演算を実現す
る従来のIMDCT回路の概略のブロック図である。R
AM(random access memory)20には、変換元データ
である周波数成分データX(k)が格納される。またRA
M20は、演算の途中の結果を格納することもできるよ
うに構成されている。ROM(read only memory)22
には、比例係数aL(L=0〜3)が格納される。乗算
器24には、RAM20から読み出されレジスタ26に
保持された値と、ROM22から読み出されレジスタ2
8に保持された値とが入力され、これらを掛け合わせた
値がレジスタ30又はレジスタ32のいずれかへ出力さ
れる。
【0020】加減算器34は2つの入力A、Bを有し、
それぞれには、セレクタ36、38が設けられる。セレ
クタ36には、レジスタ26とレジスタ30とが入力側
に接続される。これによりセレクタ36は、RAM20
に格納されたそのままのデータか、乗算器24にて乗算
が行われたデータかのいずれかを選択的に加減算器34
の一つの入力端Aへ供給することができる。一方、セレ
クタ38には、セレクタ40を介してレジスタ42、4
4と、レジスタ32とが入力側に接続される。これによ
りセレクタ38は、レジスタ32に格納される値(例え
ばRAM20格納データに対して乗算器24にて乗算を
行った結果)と、加減算器34の出力結果とのいずれか
を加減算器34の他の入力端Bへ供給することができ
る。加減算器34の出力は、レジスタ42を介してRA
M20へ書き戻すことができる。
【0021】さて、時系列音声データy(n)と周波数成
分データX(k)との変換において、時系列音声データy
(n)は時間的に連続する2M個のデータを1ブロックと
してブロックごとに取り扱われる。生成された1ブロッ
ク分の時系列音声データは、RAM44に格納される。
このとき各ブロック間のつなぎ目において音声の歪みを
少なくするため、先行するブロックの終わりの部分と後
続するブロックの先頭部分とはオーバーラップするよう
にブロックの範囲が定められる。このオーバーラップす
る部分においては、両ブロックのデータ値を加算する処
理を行って最終的な音声データy(n)が生成される。こ
のデータの重ね合わせを行うために、RAM44に格納
された音声データは、加減算器34へ戻すことができる
ように構成される。すなわち、RAM44から読み出さ
れた値は、乗算器24とレジスタ32との間に配置され
るセレクタ46に入力される。セレクタ46は、乗算器
24の出力とRAM44の出力とのいずれかを選択し
て、選択された値は、セレクタ38を介して加減算器3
4へ入力される。
【0022】次にこの従来回路において、上記演算がど
のように行われるかを説明する。まず上記(2)式の右
辺を展開することによりZ(j)は次式で表される。
【0023】
【数7】 Z(j)=(U(2j)・cosψ(j)−U(2j+1)・sinψ(j)) +i(U(2j+1)・cosψ(j)−U(2j)・sinψ(j))) ……(13) よって、データU(k)をRAM20に格納し、sinψ
(j)、cosψ(j)をROM22に格納することにより、Z
(j)の実数部、虚数部はそれぞれ乗算器24、加減算器
34を順に用いて計算され、加減算器34から出力され
た実数部、虚数部の演算結果はRAM20に格納され
る。
【0024】z(n)は(4)式で表される演算を繰り返
すことにより求められることは既に述べた。RAM20
に格納されたZ(j)を乗算器24を通さずに、レジスタ
26、セレクタ36を経由してそのままの値で加減算器
34へ入力することにより、(4)式の右辺第一項が加
減算器34の一端Aへ供給される。また、右辺第二項
は、RAM20に格納されたZ(j)とROM22に格納
されているexp(iψ'(j))とをそれぞれ読み出して、乗
算器24にて掛け合わせて生成される。そして、これが
セレクタ46、レジスタ32、セレクタ38を経由し
て、加減算器34の他端Bに供給される。加減算器34
は(4)式の第一項と第二項との加算を行い、その結果
はRAM20に格納される。このz(n)の計算も複素演
算であり、やはり回路においては実数部と虚数部とが別
個に演算される。
【0025】この演算により(5)式の演算に用いられ
るRez(n)、Rez(M/2-1-n)、Imz(n)、Imz(M/2-1-n)が
RAM20に格納される。また、比例係数aL(L=0
〜3)はROM22に格納されている。(5)式の計算
は、乗算器24が右辺第一項から順に各項を計算し、加
減算器34がそれらを累積的に加減算することにより行
われる。
【0026】この計算をより詳しく説明する。例えば、
RAM20からRez(n)が読み出されてレジスタ26に
格納され、一方、ROM22からa0が読み出されてレ
ジスタ28に格納され、これらが乗算器24にて乗算さ
れレジスタ32に格納される。次に、RAM20からRe
z(M/2-1-n)が読み出されてレジスタ26に格納され、
一方、ROM22からa1が読み出されてレジスタ28
に格納される。ここで、レジスタ32の内容は、第一項
の計算のために格納したRez(n)から第二項の計算に用
いるRez(M/2-1-n)へと上書き変更されることに留意す
る。Rez(M/2-1-n)とa1とは乗算器24にて乗算されレ
ジスタ30に格納され、加減算器34はレジスタ32と
レジスタ30の内容に対し、“A+B”を計算してレジ
スタ44へ出力する。
【0027】次に第三項が第一項、第二項と同様にして
計算され、レジスタ30に格納される。加減算器34は
レジスタ30とレジスタ44から供給される第二項まで
の累積加算値とに対し“A+B”を計算して、レジスタ
44へ出力する。第四項も同様にして計算され、第三項
までの加算値に加え合わされ、その結果がRAM20に
戻される。しかる後に、(5)式の第二式の計算が上記
第一式と同様にして計算される。この第二式の計算にお
いては、入力端Aに入力される第二項は、入力端Bに供
給される第一項からの減算であり、加減算器34は“B
−A”を実行する。
【0028】すでに述べたように、IMDCT演算とM
DCT演算とは共通点が多い。例えば、MDCT演算の
(8)、(9)、(11)式はそれぞれIMDCT演算
の(2)、(3)、(5)式と同様の形式である。しか
し、MDCT演算は最初に(7)式の処理手順を要する
点、また(5)式と(11)とは形式上同一であるが、
それらがそれぞれ用いる比例係数aL、bL(L=0〜
3)は異なるものである点が、IMDCTとMDCTと
の演算の相違点として存在する。
【0029】
【発明が解決しようとする課題】そのため、単純に上述
した従来のIMDCT回路のRAM20やRAM44に
MDCT演算の元データを格納して、上記MDCT演算
を行わせようとしても不可能である。例えば、(7)式
は、被演算データに乗算を施さずにそのままの値で加減
算を行うことを表しているが、従来のIMDCT回路
は、RAM20、44からはそれぞれ加減算器34の一
方の入力にしか非乗算データを供給できないので、当該
回路で(7)式を計算できず、よってMDCT演算を行
わせることができない。この問題を解決しようとする
と、いずれかのRAMから加減算器34の両入力にそれ
ぞれ非乗算データを供給できるような構成としなければ
ならず、従来技術の延長では回路構成が複雑となるとい
う問題があった。
【0030】また、比例係数bL(L=0〜3)をaL
ともROM22に格納して、(11)式の演算を行うこ
とができるが、その場合、(5)式と(11)式とで、
ROM22の別々のアドレスから比例係数が読み出され
ることになり、アドレス生成回路が複雑になるという問
題があった。
【0031】以上のように、従来はIMDCT回路とM
DCT回路は別個の回路として構成されるため全体の回
路規模が大きくなるという問題や、一つの回路としよう
とすると構成が複雑になるという問題があった。
【0032】本発明は上記問題点を解消するためになさ
れたもので、上述したMDCTとIMDCTとの双方向
の変換を行うことができる簡単な構成の離散コサイン変
換回路を提供することを目的とする。
【0033】
【課題を解決するための手段】離散コサイン変換又はそ
の逆変換を行う本発明に係る離散コサイン変換回路は、
デジタル音声録音再生装置に用いられ、時系列音声デー
タと周波数成分データとの間の双方向の離散コサイン変
換を行う離散コサイン変換回路であって、再生処理開始
時に変換元データとなる前記周波数成分データを格納す
る第一のメモリと、前記第一のメモリから読み出された
データに掛け合わされる比例係数を供給する係数供給部
と、前記第一のメモリと前記係数供給部とを入力に接続
された乗算器と、前記乗算器の出力に接続される加減算
器とを備え、再生時の前記周波数成分データから前記時
系列音声データへの変換を行うとともに、録音処理開始
時に変換元データとなる前記時系列音声データを格納す
る第二のメモリと、前記加減算器の出力を保持する加減
算結果レジスタと、前記加減算結果レジスタの内容と値
「0」とのいずれかを出力する加減算結果セレクタとを
さらに有し、前記第二のメモリの出力は、前記加減算器
の第一の入力に接続され、前記加減算結果セレクタは、
その出力が前記加減算器の前記第二の入力に接続され、
前記第二のメモリから読み出されたデータをそのまま前
記第二の入力へ与えるときに値「0」を出力し、前記加
減算結果レジスタに前記乗算器の出力データを格納さ
せ、録音時の前記時系列音声データから周波数成分デー
タへの変換を可能としたものである。
【0034】本発明によれば、第二のメモリから非乗算
データである時系列音声データが加減算器の第一の入力
に供給される。この値は、加減算器の出力に設けられる
加減算結果セレクタが値「0」を加減算器の第二の入力
に供給して加減算を行うことにより、その値を変えるこ
となく加減算器の出力へ素通りさせられ、前記加減算結
果セレクタを介して加減算器の第二の入力へまわすこと
ができる。よって、次に第二のメモリから読み出され加
減算器の第一の入力へ供給される非乗算データと、第二
の入力へまわされた非乗算データとで、離散コサイン変
換の初段の加減算を行うことができる。以降の演算手順
は、離散コサイン逆変換と共通の演算に基づいて遂行さ
れる。
【0035】本発明に係る離散コサイン変換回路におい
ては、前記係数供給部は、前記離散コサイン変換又は前
記離散コサイン逆変換のうちいずれか一方の変換で用い
られる前記比例係数を記憶した比例係数メモリと、前記
一方の変換とは逆方向の変換を行う際に、前記比例係数
メモリから読み出された前記比例係数を2の所定ベキ乗
倍して前記乗算器へ出力するビットシフト回路とを有す
るものである。
【0036】本発明によれば、離散コサイン変換の(1
1)式とその逆変換の(5)式とでそれぞれ用いられる
比例係数bL、aL(L=0〜3)間には(12)式の関
係があることに着目し、比例係数メモリにはaL、b
L(L=0〜3)のいずれか一方を記憶し、必要に応じ
てビットシフト回路を用いて(12)式の変換を行うこ
ととしたものである。ここで、(12)式のMは2のベ
キ乗であることから、ビットシフト回路は、一方の比例
係数を2の所定ベキ乗倍して他方の比例係数を出力する
ことができる。
【0037】
【発明の実施の形態】次に、本発明の実施形態について
図面を参照して説明する。
【0038】図1は、MDCTを用いた音声録音再生装
置であるMDシステムにおいて、本発明を実施したMD
CT/IMDCT双方向変換回路の概略のブロック図で
ある。本実施の形態に係る音声録音再生装置は、図2と
同一のブロック構成を有した音声データ符号化/復号処
理部を含んで構成される。そして、本回路は図2におけ
るDCT回路6が行うデジタル音声データから周波数成
分データを生成する符号化処理と、IDCT回路12が
行うMDに記録されたデジタルデータから音声を再生す
る復号処理との両方の処理に用いることができる。DC
T回路として用いられる場合には、QMF回路4から入
力された高、中、低の3つの周波数帯域ごとのデジタル
の時系列音声データy(n)にDCT変換を施して、各周
波数帯域ごとの周波数成分データX(k)を生成し、量子
化器8へ出力し、一方、IMDCT回路として用いられ
る場合には、逆量子化器10から入力された高、中、低
の3つの周波数帯域ごとの周波数成分データX(k)にI
MDCT変換を施して、各周波数帯域ごとの時系列音声
データy(n)を生成し、IQMF回路14へ出力する。
【0039】本回路が行うMDCT及びIMDCTの演
算アルゴリズムは、従来技術として上述したものと同一
であるので、それを参照することにより説明の簡潔を図
る。
【0040】本回路は、IMDCTにおいてはRAM6
0に変換元データである周波数成分データX(k)を格納
し、これを変換し、その変換結果である時系列音声デー
タy(n)をRAM61に格納する。一方、MDCTにお
いてはRAM61に変換元データである時系列音声デー
タy(n)を格納し、これを変換し、その変換結果である
周波数成分データX(k)をRAM60に格納する。
【0041】またRAM60、61は、必要に応じて演
算の途中の結果を格納するために用いられる。ここで、
RAM60、61については、1つのRAMをアドレス
の分割によって2つ分として動作させるようにしてい
る。これにより、読み出しアドレスの入れ替えを行え
ば、RAM60、61の一方に記憶されているデータ
を、実際にデータの移動を行うことなく、見かけ上RA
M60、61の他方に移すことが可能になる。
【0042】4つのレジスタ62-1〜62-4は、RAM
60の出力に並列して設けられ、それぞれRAM60か
ら読み出されたデータを保持することができる。セレク
タ64は、これらレジスタ62-1〜62-4のいずれかを
選択して、その格納内容を乗算器66へ出力する。
【0043】ROM68には、RAM60から読み出さ
れたデータに乗じられる比例係数、例えばIMDCTに
て用いられるaL(L=0〜3)が格納される。
【0044】シフト器69は、ROM68から読み出さ
れた比例係数を必要に応じて所定桁数だけシフトするも
のである。例えば、データ数M=2μである場合には、
シフトは(μ−1)桁だけLSB(least significant
bit)方向へ行われる。このシフトをROM68から読
み出された比例係数aLに施すことにより(12)式の
関係によりMDCTにて用いられるbLが生成される。
これにより、IMDCTにおける(5)式の処理とMD
CTにおける(11)式の処理とでのROM68へのア
クセスアドレスの発生手順を共通にすることができる。
なお、ROM68に比例係数bL(L=0〜3)を格納
し、シフト器69にて逆方向へのシフトを行う構成とす
ることもできる。
【0045】2つのレジスタ70-1、70-2は、シフト
器69の出力に並列して設けられ、それぞれ比例係数を
保持することができる。セレクタ72は、セレクタ64
と同様、接続された2つのレジスタ70-1、70-2のい
ずれかを選択して、その保持内容を出力する機能を有す
るとともに、それらレジスタの保持内容以外に値“1”
を出力の選択肢として備えている。すなわちセレクタ7
2は、レジスタ70-1、70-2の保持内容と値“1”と
の3つのうちいずれかを外部からの制御により選択して
乗算器66へ出力する。この値“1”の意味については
後述する。
【0046】乗算器66は、RAM60側のセレクタ6
4から出力された値と、ROM68側のセレクタ72か
ら出力された値とを入力され、これらを掛け合わせた値
を出力する。
【0047】セレクタ74は、乗算器66から出力され
た乗算結果と、RAM61から読み出された値とのいず
れかを選択して、レジスタ78に格納する。
【0048】加減算器80は2つの入力A、Bを有し、
それらに入力される値の加減算を行う。一方の入力端、
例えば入力Aに、レジスタ78の出力が接続される。加
減算器80の出力には、3つのレジスタ82〜86が設
けられる。加減算器80のもう一つの入力Bには、これ
らレジスタ82〜86を入力に接続されたセレクタ88
の出力が接続される。
【0049】セレクタ88は、接続された3つのレジス
タ82〜86のいずれかを選択して、その保持内容を出
力するという一般的な機能を有するとともに、それらレ
ジスタの保持内容以外に値“0”を出力の選択肢として
備えている。すなわちセレクタ88は、レジスタ82〜
86の保持内容と値“0”との4つのうちいずれかを外
部からの制御により選択して、加減算器80の入力Bへ
供給する。この値“0”の意味については後述する。
【0050】加減算器80の出力は、レジスタ82を介
してRAM60やRAM61に格納することができる。
例えば、演算の途中段階でのデータをRAM60に蓄積
したり、IMDCTにおいて1ブロック分の周波数成分
データX(k)から音声データy(n)が得られた段階でそれ
をRAM61に格納することができる。
【0051】ここで、RAM61の出力はセレクタ74
を介して加減算器80の入力Aへ接続される。これによ
り、RAM61に格納された時系列音声データy(n)を
その値のまま加減算器80へ供給することができる。こ
のRAM61から加減算器80の入力Aへの経路は、次
の2つの処理において利用される。まず第一に、RAM
61に格納されたMDCTの変換元データである音声時
系列データy(n)を用いて(7)式を演算する際に利用
される。第二はIMDCTの最終段階での処理に関す
る。IMDCTでは各ブロック間のつなぎ目において音
声の歪みを少なくするため、先行するブロックの終わり
の部分と後続するブロックの先頭部分とはオーバーラッ
プするようにブロックの範囲が定められる。このオーバ
ーラップする部分においては、両ブロックのデータ値を
加算する処理を行って最終的な音声データy(n)が生成
される。上記経路は、RAM61に格納された音声デー
タを加減算器80へ戻して、このデータの重ね合わせを
行うためにも利用される。
【0052】さて、セレクタ72が値“1”を出力でき
る構成としている理由は、RAM60から読み出された
データに対し比例係数を乗算した結果を加減算器80へ
入力する場合と、行わずにそのままの値を加減算器80
へ入力する場合との加減算器80への入力系統を一本化
して、それらの切り替えに必要であったセレクタを廃し
回路構成を簡単にするためである。つまり、RAM60
から読み出されたデータは、必ず乗算器66を経由させ
る一方で、RAM60から読み出された値のまま加減算
器80へ入力したい場合には、セレクタ72から“1”
を出力させることとして、この場合の乗算器66の出力
値がその入力値と等しくなるようにしたものである。こ
れにより、従来回路で用いていたセレクタ36を不要と
することができた。
【0053】セレクタ88が値“0”を出力できる構成
としている理由は、乗算器66からの出力は加減算器8
0の一方の入力端Aのみに入力させ、他方の入力端Bへ
は加減算器80の出力からのループバックのみ接続する
構成としていることに関係する。この入力端Bには乗算
器66からは入力させない本回路の構成により、加減算
器80の出力からのループバックとの切り替えに必要で
あったセレクタを廃し回路構成を簡単にすることができ
る。この構成にて加減算器80の入力端へ供給される被
演算値同士の加減算を可能とするために、入力端Aへ入
力された値を、加減算器80を素通りさせて入力端Bへ
まわす。具体的には、入力端Aへ入力された値を素通り
させる場合には、セレクタ88に値“0”を出力させ、
これを加減算器80の入力端Bへ供給する。加減算器8
0は、入力端Aのデータと、入力端Bのデータ“0”と
を例えば加算して、その結果をレジスタ82〜86のい
ずれかに格納する。これにより、入力端Aへ入力された
被演算データが加減算器80の出力側へ素通りされ、そ
の値はセレクタ88を介して加減算器80の入力端Bへ
戻されることにより、次に入力端Aへ入力される被演算
データとの加減算に用いることができる。
【0054】次に本回路において、MDCT及びIMD
CTに関する上述した各段階の計算式がどのよう演算さ
れるかを説明する。
【0055】まず、(2)式、(8)式の演算は以下の
ように実行される。IMDCTの(2)式を例に説明
し、MDCTの(8)式については詳細には説明をしな
いが、両式は同一の形式であるので(8)式も同様の手
順で計算される。
【0056】(2)式の計算は実際にはそれと等価の
(13)式を計算することにより遂行される。すなわ
ち、変換元データである周波数成分データX(k)を並べ
替えて得られるU(k)からZ(j)が(13)式に基づいて
演算される。データU(k)をRAM60に格納し、sinψ
(j)、cosψ(j)をROM68に格納する点は従来と同様
である。あるjについての(13)式右辺を計算する
際、RAM60からは、U(2j)とU(2j+1)とが読み出さ
れ、それぞれレジスタ62-1〜62-4のいずれか2つ、
例えばレジスタ62-1とレジスタ62-2に格納される。
また、ROM68からは、cosψ(j)とsinψ(j)とが読み
出され、それぞれレジスタ70-1とレジスタ70-2に格
納される。そして、Z(j)の実数部、虚数部がそれぞれ
乗算器66、加減算器80を順に用いて計算される。
【0057】例えば、実数部の計算は、レジスタ62-2
に格納されたU(2j+1)と、レジスタ70-2に格納された
sinψ(j)とを乗算器66にて乗算して(13)式右辺第
二項を得、加減算器80の入力Aへ入力する。この第二
項の値は加減算器80を素通りさせられ、例えばレジス
タ86に格納される。次に、(13)式右辺第一項が、
レジスタ62-1に格納されたU(2j)と、レジスタ70-1
に格納されたcosψ(j)とを乗算器66にて乗算して得ら
れる。この第一項の値を加減算器80の入力Aへ供給す
るとともに、第二項の値をレジスタ86から入力Bへ供
給し、加減算器80は減算“A−B”を行うことによ
り、Z(j)の実数部が計算される。この出力結果は、レ
ジスタ82を介してRAM60へ格納される。
【0058】(8)式を計算する際には、それに先行す
る(7)式の計算結果であるx'(n)がRAM60に格納
されており、それを用いて、(2)式と同様の計算が行
われる。
【0059】次に、(3)式、(9)式の演算は以下の
ように実行される。IMDCTの(3)式を例に説明
し、MDCTの(9)式については詳細には説明をしな
いが、両式は同一の形式であるので(9)式も同様の手
順で計算される。
【0060】(3)式の演算は、Z(k)を用いてz(n)を
求めるものである。この演算においては、(4)式で表
される形の演算が繰り返される。ちなみに、本回路にお
ける一つの(4)式の演算は以下のように行われる。Z
(j)は上記演算によりRAM60に格納され、また位相
因子exp(iψ'(j)) はROM68に予め格納されてい
る。RAM60からはZ(j1)とZ(j2)とが読み出さ
れ、それぞれ例えばレジスタ62-1、62-2に格納され
る。一方、ROM68からはexp(iψ'(j)) が読み出さ
れ、レジスタ70-1に格納される。レジスタ62-2、レ
ジスタ70-1の値を用いて(4)式第二項の乗算が行わ
れ、その値は加減算器80を素通りさせられ、加減算器
80の入力端Bへ供給される。一方で、レジスタ62-1
に移動された第一項の値が乗算器66を素通りさせら
れ、加減算器80の入力端Aへ供給される。加減算器8
0はこれらの加算又は減算を行って、一つの(4)式の
計算を完了し、その値はRAM60に格納される。な
お、以上述べたz(n)の計算も複素演算であり、実数部
と虚数部とが別個に演算される。
【0061】一方、(9)式の計算に用いられるz(n)
は、先行する(8)式の計算結果としてRAM60に格
納されており、それを読み出して(3)式と同様の計算
が行われる。
【0062】次に、(5)式、(11)式の演算は以下
のように実行される。まずIMDCTの(5)式を説明
する。(5)式の演算は、このz(n)を用いてu(n)を求
めるものである。z(n)は上記演算によりRAM60に
格納され、また比例係数aL(L=0〜3)はROM6
8に予め格納されている。n=n1に関する(5)式の
計算においてはRAM60からRez(n1)、Rez(M/2-1-n
1)、Imz(n1)、Imz(M/2-1-n1)が読み出され、それぞれ
例えばレジスタ62-1、62-2、62-3、62-4に格納
される。一方、ROM68からはn=n1に対応する
2、a3が読み出され、それぞれレジスタ70-1、70
-2に格納される。レジスタ62-4、レジスタ70-2の値
を用いて(5)式第一式右辺第四項の乗算が行われ、そ
の値は加減算器80を素通りさせられ、加減算器80の
入力端Bへ供給される。一方で、右辺第三項がレジスタ
62-3、レジスタ70-1の値を用いて乗算器66にて計
算され、加減算器80の入力端Aへ供給される。加減算
器80はこれらを加算して、加減算器80出力に配置さ
れる例えばレジスタ86に格納する。次に、ROM68
からn=n1に対応するa0、a1が読み出され、それぞ
れレジスタ70-1、70-2に格納される。そしてレジス
タ62-2、レジスタ70-2の値を用いて右辺第二項の乗
算が行われる。その乗算結果の値と、レジスタ86に保
持された値とがそれぞれ加減算器80の入力A、Bに渡
され、加減算器80からの加算結果がレジスタ86に格
納される。同様にレジスタ62-1、レジスタ70-1の値
を用いて求められた右辺第一項の値と、レジスタ86に
保持された第二〜第四項の加算結果とがそれぞれ加減算
器80の入力A、Bに渡され、加減算器80にて加算さ
れる。これにより、(5)式第一式の演算が終了し、演
算結果はレジスタ82を経由してRAM60に格納され
る。
【0063】一方、MDCTの(11)式の計算に用い
られるZ(k)は、先行する(9)式の計算結果としてR
AM60に格納されており、それを読み出して(5)式
と同様の計算が行われる。ただし、ここで、(11)式
の比例係数は(5)式の比例係数aLではなく比例係数
Lである。比例係数aL、bLは(12)式の関係を有
し、(11)式の計算においては、シフト器69はRO
M68から読み出したaLに対しシフト処理を施しbL
の変換を行って、これを出力する。(11)式の処理手
順が(5)式のそれと基本的に異なるのはこの点だけで
あり、他の手順については上述した(5)式と同様の手
順で処理が行われる。特に、(5)式により、あるjに
ついてu(j)を計算する場合に用いられる比例係数a
Lと、同じjについて(11)式によりX(j)を計算する
場合の比例係数bLの生成に用いられる比例係数aL
は、どちらもaL(j)である。つまり、ROM68に対す
る比例係数の読み出しアドレスの発生の仕方もIMDC
TとMDCTとで同一であり、両処理はシフト器69を
動作させるか否かという単純な回路制御にて切り替えら
れる。
【0064】さて、IMDCTに関しては、上述した
(2)、(3)、(5)式を用いて変換処理を行うこと
ができる。一方、MDCTに関しては(8)、(9)、
(11)式の他に、最初に(7)式の演算が必要とな
る。この(7)式の演算は、以下のようにして行われ
る。この演算に用いられる時系列音声データx(n)は、
QMF回路4から窓関数が乗算されてRAM61に格納
される。RAM61から、まずx(n2)が読み出され、
加減算器80の入力Aへ供給される。本回路では、セレ
クタ88が値“0”を入力Bへ出力し、それとx(n2)
との加減算を加減算器80にて行うことにより、x
(n2)は値を変えることなく加減算器80を素通りさせ
られ、例えばレジスタ86に格納される。続いて、RA
M61からx(n1)が読み出され、加減算器80の入力
Aへ供給される。それと同時にレジスタ86のに保持さ
れたx(n2)が読み出され、入力Bへ供給される。そし
て加減算器80が加算“A+B”又は減算“A−B”を
行うことにより、(7)式の演算が行われる。ところ
で、x(n2)に窓関数が乗算されていない場合には、乗
算器66を用いてx(n2)に窓関数を乗算した後、その
乗算結果を加減算器80に供給するようにすればよい。
このような演算処理は、RAM60、61の読み出しア
ドレスを入れ替えることにより、RAM61に記憶され
たx(n2)を見かけ上RAM60に移し、RAM60か
ら乗算器66を通して加減算器80に供給することで容
易に実現することができる。このときのレジスタ86及
びセレクタ88の動作は、x(n2)をRAM61から読
み出す場合と同一である。
【0065】なお、IMDCTにおいては、最終的なデ
ジタルの音声時系列データy(n)は、上述のようにして
求められた数列u(n)を並べ替えにより再構成して得ら
れる。そして、その変換結果をD/A変換器16へ出力
して、一連の処理を終了する。一方、MDCTにおいて
は、X(k)が量子化器8へ渡され、一連の処理が終了す
る。
【0066】
【発明の効果】音声時系列データから周波数成分データ
への離散コサイン変換を行う演算は、周波数成分データ
から時系列音声データへの逆変換と同様の演算に先だっ
て、時系列音声データに比例係数を乗じないそのままの
値同士の加減算を含む。本発明の離散コサイン変換回路
によれば、離散コサイン逆変換を行う回路の構成を簡素
化する一方で、上記時系列音声データの非乗算データ同
士の加減算をも可能にすることができ、一つの回路で双
方向の変換が可能となり、離散コサイン変換回路の簡素
化が図られ回路規模を小さくできるという効果が得られ
る。
【図面の簡単な説明】
【図1】 音声録音再生装置であるMDシステムにおい
て用いられる、本発明を実施したMDCT/IMDCT
双方向変換回路の概略のブロック図である。
【図2】 DCTを用いた音声録音再生装置、例えばM
Dシステムにおける音声データの符号化/復号処理に関
わる部分の概略のブロック図である。
【図3】 従来のIMDCT回路の概略のブロック図で
ある。
【符号の説明】 60,61 RAM、62-1〜62−4,70-1,70-
2,78,82,84,86 レジスタ、64,72,
74,88 セレクタ、66 乗算器、68ROM、6
9 シフト器、80 加減算器。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 デジタル音声録音再生装置に用いられ、
    時系列音声データと周波数成分データとの間の双方向の
    離散コサイン変換を行う離散コサイン変換回路であっ
    て、 再生処理開始時に変換元データとなる前記周波数成分デ
    ータを格納する第一のメモリと、 前記第一のメモリから読み出されたデータに掛け合わさ
    れる比例係数を供給する係数供給部と、 前記第一のメモリと前記係数供給部とを入力に接続され
    た乗算器と、前記乗算器の出力に接続される加減算器
    と、を備え、再生時の前記周波数成分データから前記時
    系列音声データへの変換を行うとともに、 録音処理開始時に変換元データとなる前記時系列音声デ
    ータを格納する第二のメモリと、 前記加減算器の出力を保持する加減算結果レジスタと、 前記加減算結果レジスタの内容と値「0」とのいずれか
    を出力する加減算結果セレクタと、をさらに有し、 前記第二のメモリの出力は、前記加減算器の第一の入力
    に接続され、 前記加減算結果セレクタは、その出力が前記加減算器の
    前記第二の入力に接続され、前記第二のメモリから読み
    出されたデータをそのまま前記第二の入力へ与えるとき
    に値「0」を出力し、前記加減算結果レジスタに前記乗
    算器の出力データを格納させ、 録音時の前記時系列音声データから周波数成分データへ
    の変換を可能とする離散コサイン変換回路。
  2. 【請求項2】 請求項1記載の離散コサイン変換回路に
    おいて、 前記係数供給部は、 前記離散コサイン変換又は前記離散コサイン逆変換のう
    ちいずれか一方の変換で用いられる前記比例係数を記憶
    した比例係数メモリと、 前記一方の変換とは逆方向の変換を行う際に、前記比例
    係数メモリから読み出された前記比例係数を2の所定ベ
    キ乗倍して前記乗算器へ出力するビットシフト回路と、 を有することを特徴とする離散コサイン変換回路。
JP01926998A 1998-01-30 1998-01-30 離散コサイン変換回路 Expired - Fee Related JP3524747B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP01926998A JP3524747B2 (ja) 1998-01-30 1998-01-30 離散コサイン変換回路
US09/239,192 US6292817B1 (en) 1998-01-30 1999-01-28 Discrete cosine transformation circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01926998A JP3524747B2 (ja) 1998-01-30 1998-01-30 離散コサイン変換回路

Publications (2)

Publication Number Publication Date
JPH11212958A JPH11212958A (ja) 1999-08-06
JP3524747B2 true JP3524747B2 (ja) 2004-05-10

Family

ID=11994736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01926998A Expired - Fee Related JP3524747B2 (ja) 1998-01-30 1998-01-30 離散コサイン変換回路

Country Status (2)

Country Link
US (1) US6292817B1 (ja)
JP (1) JP3524747B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060224652A1 (en) * 2005-04-05 2006-10-05 Nokia Corporation Instruction set processor enhancement for computing a fast fourier transform
JP4482052B2 (ja) * 2006-02-14 2010-06-16 富士通株式会社 演算装置および演算方法
US8571340B2 (en) * 2006-06-26 2013-10-29 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
US8606023B2 (en) * 2006-06-26 2013-12-10 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8300698B2 (en) * 2006-10-23 2012-10-30 Qualcomm Incorporated Signalling of maximum dynamic range of inverse discrete cosine transform

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4748579A (en) 1985-08-14 1988-05-31 Gte Laboratories Incorporated Method and circuit for performing discrete transforms
JP2690932B2 (ja) 1988-03-18 1997-12-17 株式会社日立製作所 ディジタル信号処理プロセッサおよびディシタル信号処理プロセッサシステム
DE68928886T2 (de) * 1988-10-27 1999-06-02 Matsushita Electric Ind Co Ltd Gerät für die direkte oder umgekehrte orthogonale Transformation
JP2725544B2 (ja) * 1992-11-12 1998-03-11 日本電気株式会社 Dct及び逆dct演算装置並びにその演算方法
US5471412A (en) * 1993-10-27 1995-11-28 Winbond Electronic Corp. Recycling and parallel processing method and apparatus for performing discrete cosine transform and its inverse
US5831881A (en) * 1994-12-02 1998-11-03 Sican Gmbh Method and circuit for forward/inverse discrete cosine transform (DCT/IDCT)
KR19990022657A (ko) 1995-06-01 1999-03-25 나시모토 류조 이산코사인변환 연산회로
KR0182511B1 (ko) 1996-02-24 1999-05-01 김광호 2차원 역이산 코사인 변환장치
US6304847B1 (en) 1996-11-20 2001-10-16 Samsung Electronics, Co., Ltd. Method of implementing an inverse modified discrete cosine transform (IMDCT) in a dial-mode audio decoder
US6189021B1 (en) 1998-09-15 2001-02-13 Winbond Electronics Corp. Method for forming two-dimensional discrete cosine transform and its inverse involving a reduced number of multiplication operations

Also Published As

Publication number Publication date
JPH11212958A (ja) 1999-08-06
US6292817B1 (en) 2001-09-18

Similar Documents

Publication Publication Date Title
US7130952B2 (en) Data transmit method and data transmit apparatus
EP0128298B1 (en) Orthogonal transformer and apparatus operational thereby
JP3147984B2 (ja) デジタル信号の符号化−復号化方法およびその装置
JP3760385B2 (ja) 2次補間のための方法および装置
JP3524747B2 (ja) 離散コサイン変換回路
US20010051870A1 (en) Pitch changer for audio sound reproduced by frequency axis processing, method thereof and digital signal processor provided with the same
JP2725544B2 (ja) Dct及び逆dct演算装置並びにその演算方法
JP3547972B2 (ja) 離散コサイン変換回路
US5890126A (en) Audio data decompression and interpolation apparatus and method
JP3547971B2 (ja) 離散コサイン変換回路及びその動作方法
US5777249A (en) Electronic musical instrument with reduced storage of waveform information
JP3052516B2 (ja) 符号化データ処理装置
JPH03156497A (ja) 電子楽器の関数発生装置
JPH03256455A (ja) Idct処理装置
JP3154293B2 (ja) 音声信号帯域合成復号化装置
JP3246012B2 (ja) 楽音信号の音源装置
JP3501246B2 (ja) Mpegオーディオデコーダ
JP3904719B2 (ja) サブバンド合成装置
JP3889738B2 (ja) 逆量子化装置、オーディオ復号化装置、画像復号化装置、逆量子化方法および逆量子化プログラム
JP2815526B2 (ja) デジタル信号処理装置
JPH06169289A (ja) 圧縮データ再生装置
JPH0426895A (ja) 楽音信号発生装置
KR0181587B1 (ko) 엠펙-1 오디오 복호기의 합성 필터링 장치 및 방법
JP2776175B2 (ja) 楽音信号の合成に用いられる原楽音信号の発生方法
JPH10240293A (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: 20040127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040213

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

Free format text: PAYMENT UNTIL: 20090220

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees