JP3547972B2 - 離散コサイン変換回路 - Google Patents
離散コサイン変換回路 Download PDFInfo
- Publication number
- JP3547972B2 JP3547972B2 JP01926898A JP1926898A JP3547972B2 JP 3547972 B2 JP3547972 B2 JP 3547972B2 JP 01926898 A JP01926898 A JP 01926898A JP 1926898 A JP1926898 A JP 1926898A JP 3547972 B2 JP3547972 B2 JP 3547972B2
- Authority
- JP
- Japan
- Prior art keywords
- adder
- subtractor
- input
- subtraction
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete 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)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、デジタル音声録音装置、再生装置におけるデジタル音声データの圧縮/伸長処理に用いることができる離散コサイン変換回路に関し、特に回路構成を簡単にすることに関する。
【0002】
【従来の技術】
図2は、デジタル化された音声データの符号化/復号化を行う処理装置の概略のブロック図である。録音時には、入力された音声信号が、まずA/D(analogto degital)変換器2によりデジタル音声データに変換される。デジタル音声データは、QMF(quadrature mirror filter)回路4を用いて低、中、高の3つの周波数帯域に分割される。デジタルの時系列音声データは、離散コサイン変換(DCT:discrete cosine transform)回路6を用いて周波数成分データに変換され、さらに量子化器8にて量子化される。このように生成された符号化データは、所定の記録媒体に記録するための次段の処理回路に供給される。
【0003】
一方、再生時には、上述とは逆の処理が行われる。つまり、逆量子化器10、離散コサイン逆変換回路IDCT(Inverse DCT)12、IQMF(inverse quadrature 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がある。これはいくつかの基本的なDCTからはやや変更を加えられたものであるため、ここでは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〜a3はnごとに定まる比例係数である。
【0011】
【数3】
一方、MDCTに関しては、時系列音声データy(n)に基づいた数列x(n)から周波数成分データX(k)を求めるために次の関係式が用いられる。
【0012】
【数4】
(1)式と(6)式とは係数2/Mを除けば、ほとんど同一の形式を有していることから、MDCTの計算アルゴリズムは上述したIMDCTのそれと類似することが期待される。実際、(6)式に基づくMDCTの計算アルゴリズムは、以下のようなものであり、IMDCTのアルゴリズムと共通点を有する。
【0013】
まず、MDCTでは次式に示されるような、変換元データである数列x(n)の所定の要素同士の和(又は差)により、新たな数列x’(n)を定義する。
【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】
ただし、b0〜b3はkごとに定まる比例係数である。nごとに定まる比例係数aL(L=0〜3)をaL=aL(n)、また比例係数bL(L=0〜3)をbL=bL(k)と表すと、両者の間には
bL(j)=aL(j)×2/M ………(12)
という関係がある。
【0019】
図3は、上述したIMDCT演算を実現する従来のIMDCT回路の概略のブロック図である。RAM(random access memory)20には、変換元データである周波数成分データX(k)が格納される。またRAM20は、演算の途中段階での結果を格納することもできるように構成されている。ROM(read only memory)22には、例えば、比例係数aL(L=0〜3)が格納される。乗算器24は、RAM20から読み出されレジスタ26に保持された値と、ROM22から読み出されレジスタ28に保持された値とを入力され、これらを掛け合わせた値をレジスタ30又はレジスタ32のいずれかへ出力する。
【0020】
加減算器34は2つの入力A、Bを有し、“A+B”、“A−B”、“B−A”という加減算を行うことができるものである。その各入力A、Bには、それぞれセレクタ36、38が設けられる。セレクタ36には、レジスタ26とレジスタ30とが入力側に接続される。これによりセレクタ36は、RAM20に格納されたそのままのデータか、乗算器24にて乗算が行われたデータかのいずれかを選択的に加減算器34の一つの入力端Aへ供給することができる。一方、セレクタ38は、加減算結果セレクタ40を介してレジスタ42、44と、レジスタ32とが入力側に接続される。これによりセレクタ38には、レジスタ32に格納される値(例えばRAM20格納データに対して乗算器24にて乗算を行った結果)と、加減算器34の出力結果とのいずれかを加減算器34の他の入力端Bへ供給することができる。加減算器34の出力は、レジスタ42を介してRAM20へ書き戻すことができる。
【0021】
さて、時系列音声データy(n)と周波数成分データX(k)との変換において、時系列音声データy(n)は時間的に連続する2M個のデータを1ブロックとしてブロックごとに取り扱われる。生成された1ブロック分の時系列音声データは、RAM44に格納される。このとき各ブロック間のつなぎ目において音声の歪みを少なくするため、先行するブロックの終わりの部分と後続するブロックの先頭部分とはオーバーラップするようにブロックの範囲が定められる。このオーバーラップする部分においては、両ブロックのデータ値を加算する処理を行って最終的な音声データy(n)が生成される。このデータの重ね合わせを行うために、RAM44に格納された音声データは、加減算器34へ戻すことができるように構成される。すなわち、RAM44から読み出された値は、乗算器24とレジスタ32との間に配置されるセレクタ46に入力される。セレクタ46は、乗算器24の出力とRAM44の出力とのいずれかを選択して、選択された値は、セレクタ38を介して加減算器34へ入力される。
【0022】
次にこの従来回路において、上記演算がどのように行われるかを説明する。まず上記(2)式の右辺を展開することによりZ(j)は次式で表される。
【0023】
【数7】
よって、データ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】
以上が、従来のIMDCT回路の構成及びその動作であるが、IMDCT演算とMDCT演算とは上述したように共通部分を有し、よって、MDCT回路の従来構成も図3に示すIMDCT回路とほとんど同じものであり、その動作も上述したものとほぼ同様となる。
【0027】
【発明が解決しようとする課題】
上述した従来のIMDCT回路は、乗算と加減算とを行う主要部にセレクタを3つ含む構成であり、またMDCT回路も同様の構成を有する。そのため従来の離散コサイン変換回路は回路構成が複雑であり、それらの制御を行うタイミング発生回路も複雑となるという問題があり、回路規模の縮小が妨げられるという問題を有していた。また、加減算器も、“A+B”、“A−B”、“B−A”という3種類の加減算を行う構成とすると、構成が大きくなるという問題があった。
【0028】
本発明は上記問題点を解消するためになされたもので、離散コサイン変換やその逆変換を行う離散コサイン変換回路の乗算、加減算を行う主要部の構成を簡素化し、以てタイミング発生回路を含めた回路構成を簡単にする離散コサイン変換回路を提供することを目的とする。
【0029】
【課題を解決するための手段】
本発明に係る離散コサイン変換回路は、加減算器の出力を保持する加減算結果レジスタと、前記加減算結果レジスタの内容と値「0」とのいずれかを出力する加減算結果セレクタと、前記被演算データに基づく項同士の前記加減算に含まれる加算項と減算項とのうち前記減算項に関する前記乗算器における乗算処理及び当該減算項の乗算結果同士の加算処理を、前記加算項に関する計算に優先して実行させ、前記減算項の合計値を前記加減算器の第二の入力へ供給させる計算順序制御手段と、を有し、乗算器の出力は、前記加減算器の第一及び第二の入力のうち、第一の入力にのみ接続され、前記加減算結果セレクタは、その出力が前記加減算器の前記第二の入力に接続され、前記乗算器の出力データを前記第二の入力に与えるときに、値「0」を出力し、前記加減算結果レジスタに前記乗算器の出力データを格納させ、前記加減算器は、加減算機能として第一の入力と第二の入力とを加算する機能と、第一の入力から第二の入力を減算する機能のみを有するものである。
【0030】
一般に、加減算器の出力には、その演算結果を保持するためのレジスタが複数配置され、それらからの読み出しを選択するための加減算結果セレクタが設けられる。本発明によれば、そのような加減算結果セレクタを、それに接続されたレジスタの格納内容を出力できる他に、値“0”を選択して出力可能に構成したものである。加減算結果セレクタの出力は、加減算器の第二の入力に接続され、一方、第一の入力には乗算器等の出力が接続される。加減算器の第一の入力に乗算器の乗算結果を入力し、一方、第二の入力に加減算結果セレクタから“0”を入力することにより、加減算器の出力側に前記乗算結果の値を変えることなく素通りさせることができる。この値はさらに加減算器の第二の入力へ供給することができるので、第二の入力には改めて乗算器の出力を接続する必要がない。乗算器と加減算器の第二の入力との接続を廃することで、加減算器の第二の入力側に従来設けられていた、乗算器側出力と加減算結果セレクタの出力とを選択するためのセレクタを不要とすることができる。
【0032】
本発明によれば、例えば、“A−B+C−D−E”という演算は、まず加減算器において減算項“B”、“D”、“E”同士の加算が実行され、その結果値“B+D+E”が加減算器の第二の入力へ供給される。次にいずれかの加算項、例えば“A”が加減算器の第一の入力に供給され、第一の入力から第二の入力を引く減算が行われ、“A−B−D−E”が求められる。以降は、残りの加算項の加算処理のみが行われる。よって、加減算器は加減算機能として第一の入力と第二の入力とを加算する機能と、第一の入力から第二の入力を減算する機能のみを有するものであれば足り、第二の入力から第一の入力を減算する機能を省略できる。
【0033】
本発明に係る離散コサイン変換回路は、上記本発明の離散コサイン変換回路において比例係数と値「1」とのいずれかを前記乗算器の第一の入力へ供給する比例係数セレクタを有し、前記比例係数セレクタは、前記乗算器の第二の入力へ供給される前記被演算データの値をそのまま前記加減算に用いる場合に、値「1」を出力するものである。
【0034】
本発明によれば、乗算器はその第一の入力へ比例係数を入力され、第二の入力に被演算データを入力される。この乗算器の第一の入力側に比例係数セレクタが設けられる。この比例係数セレクタが比例係数以外に、任意に“1”を出力することができるように構成される。離散コサイン変換の処理演算には被演算データに対し比例係数を乗算した結果を加減算器へ入力する場合と、被演算データのそのままの値を加減算器へ入力する場合とが、本発明によればそれらいずれの場合についても、被演算データは乗算器へ入力され、後者の場合には、比例係数セレクタから値“1“を出力させて、これを被演算データに乗ずることにより、被演算データのそのままの値を加減算器へ渡すことが実現される。これにより、加減算器の第一の入力への入力系統が一本化される。つまり、加減算器へ乗算器から入力する場合と被演算データのそのままの値を入力する場合とでそれぞれの経路を設ける従来構成においては、それらの切り替えに必要であったセレクタが、本発明の離散コサイン変換回路では廃される。
【0035】
【発明の実施の形態】
次に、本発明の実施形態について図面を参照して説明する。
【0036】
図1は、MDCTを用いた音声録音再生装置であるMDシステムにおいて、本発明を実施したIMDCT回路の概略のブロック図である。本実施の形態に係る音声録音再生装置は、図2と同一のブロック構成を有した音声データ符号化/復号処理部を含んで構成される。そして、本回路は図2におけるIDCT回路12と同様、MDに記録されたデジタルデータから音声を再生する復号処理に用いられ、逆量子化器10から入力された高、中、低の3つの周波数帯域ごとの周波数成分データX(k)にIMDCT変換を施して、各周波数帯域ごとの時系列音声データy(n)を生成し、IQMF回路14へ出力するものである。
【0037】
本回路が行うIMDCTの基本的な演算アルゴリズムは、従来技術として上述したものと同一であるので、それを参照することにより説明の簡潔を図る。
【0038】
RAM60には、変換元データである周波数成分データX(k)が格納される。またRAM60は、演算の途中の結果を格納することもできるように構成されている。4つのレジスタ62−1〜62−4は、RAM60の出力に並列して設けられ、それぞれRAM60から読み出されたデータを保持することができる。セレクタ64は、これらレジスタ62−1〜62−4のいずれかを選択して、その格納内容を乗算器66へ出力する。
【0039】
ROM68には、RAM60から読み出されたデータに乗じられる比例係数、例えばaL(L=0〜3)が格納される。2つのレジスタ70−1、70−2は、ROM68の出力に並列して設けられ、それぞれROM68から読み出された係数を保持することができる。セレクタ(比例係数セレクタ)72は、セレクタ64と同様、接続された2つのレジスタ70−1、70−2のいずれかを選択して、その保持内容を出力する機能を有するとともに、それらレジスタの保持内容以外に値“1”を出力の選択肢として備えている。すなわちセレクタ72は、レジスタ70−1、70−2の保持内容と値“1”との3つのうちいずれかを外部からの制御により選択して乗算器66へ出力する。この値“1”の意味については後述する。
【0040】
乗算器66は、RAM60側のセレクタ64から出力された値と、ROM68側のセレクタ72から出力された値とを入力され、これらを掛け合わせた値を出力する。
【0041】
セレクタ74は、乗算器66から出力された乗算結果と、RAM76から読み出された値とのいずれかを選択して、レジスタ78に格納する。
【0042】
加減算器80は2つの入力A、Bを有し、“A+B”、“A−B”という加減算を行うことができるものである。本回路は、計算順序制御手段であるタイミング発生回路により動作を制御され、それにより“B−A”という減算が生じないように計算順序が調整される。そのため、加減算器80は“B−A”という減算機能を有さない簡単な構成とすることができる。加減算器80は、一方の入力端、例えば入力Aに、レジスタ78の出力を接続される。加減算器80の出力には、3つのレジスタ82〜86が設けられる。加減算器80のもう一つの入力Bには、これらレジスタ82〜86を入力に接続されたセレクタ(加減算結果セレクタ)88の出力が接続される。
【0043】
セレクタ88は、接続された3つのレジスタ82〜86のいずれかを選択して、その保持内容を出力するという一般的な機能を有するとともに、それらレジスタの保持内容以外に値“0”を出力の選択肢として備えている。すなわちセレクタ88は、レジスタ82〜86の保持内容と値“0”との4つのうちいずれかを外部からの制御により選択して、加減算器80の入力Bへ供給する。この値“0”の意味については後述する。
【0044】
加減算器80の出力は、レジスタ82を介してRAM60やRAM76に格納することができる。例えば、演算の途中段階でのデータをRAM60に蓄積したり、1ブロック分の周波数成分データX(k)から音声データy(n)が得られた段階でそれをRAM76に格納することができる。
【0045】
なお、各ブロック間のつなぎ目において音声の歪みを少なくするため、先行するブロックの終わりの部分と後続するブロックの先頭部分とはオーバーラップするようにブロックの範囲が定められる。このオーバーラップする部分においては、両ブロックのデータ値を加算する処理を行って最終的な音声データy(n)が生成される。このデータの重ね合わせを行うために、RAM76に格納された音声データは、加減算器80へ戻すことができるように構成する必要がある。本回路では、これを実現するために乗算器66と加減算器80との間にセレクタ74を設け、それにRAM76の出力を接続している。
【0046】
さて、セレクタ72が値“1”を出力できる構成としている理由は、RAM60から読み出されたデータに対し比例係数を乗算した結果を加減算器80へ入力する場合と、行わずにそのままの値を加減算器80へ入力する場合との加減算器80への入力系統を一本化して、それらの切り替えに必要であったセレクタを廃し回路構成を簡単にするためである。つまり、RAM60から読み出されたデータは、必ず乗算器66を経由させる一方で、RAM60から読み出された値のまま加減算器80へ入力したい場合には、セレクタ72から“1”を出力させることとして、この場合の乗算器66の出力値がその入力値と等しくなるようにしたものである。これにより、従来回路で用いていたセレクタ36を不要とすることができた。
【0047】
セレクタ88が値“0”を出力できる構成としている理由は、乗算器66からの出力は加減算器80の一方の入力端Aのみに入力させ、他方の入力端Bへは加減算器80の出力からのループバックのみ接続する構成としていることに関係する。この入力端Bには乗算器66からは入力させない本回路の構成により、加減算器80の出力からのループバックとの切り替えに必要であったセレクタを廃し回路構成を簡単にすることができる。この構成にて加減算器80の入力端へ供給される被演算値同士の加減算を可能とするために、入力端Aへ入力された値を、加減算器80を素通りさせて入力端Bへまわす。具体的には、入力端Aへ入力された値を素通りさせる場合には、セレクタ88に値“0”を出力させ、これを加減算器80の入力端Bへ供給する。加減算器80は、入力端Aのデータと、入力端Bのデータ“0”とを例えば加算して、その結果をレジスタ82〜86のいずれかに格納する。これにより、入力端Aへ入力された被演算データが加減算器80の出力側へ素通りされ、その値はセレクタ88を介して加減算器80の入力端Bへ戻されることにより、次に入力端Aへ入力される被演算データとの加減算に用いることができる。
【0048】
次に本回路において、上述したIMDCT演算がどのように行われるかを説明する。まず変換元データである周波数成分データ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を順に用いて計算される。
【0049】
例えば、実数部の計算は、レジスタ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へ格納される。
【0050】
次にZ(k)を用いて(3)式で定義される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へ供給される。加減算器80はこれらの加算又は減算を行って、一つの(4)式の計算を完了し、その値はRAM60に格納される。なお、以上述べたz(n)の計算も複素演算であり、やはり回路においては実数部と虚数部とが別個に演算される。
【0051】
次に、このz(n)を用いて(5)式で定義されるu(n)を求める演算が行われる。z(n)は上記演算によりRAM60に格納され、また比例係数aL(L=0〜3)はROM68に予め格納されている。n=n1に関する(5)式の計算においてはRAM60からRez(n1)、Rez(M/2−1−n1)、Imz(n1)、Imz(M/2−1−n1)が読み出され、それぞれ例えばレジスタ62−1、62−2、62−3、62−4に格納される。レジスタ62−1〜62−4に読み出されたこれらの値は、同一のnに対する(5)式の第一式と第二式とで共通に用いることができるので、両式の計算が行われる間、当該レジスタに保持される。
【0052】
まず(5)式の第一式の計算を説明する。この場合、右辺の各項は加算項であるので、本回路の動作を制御するタイミング制御回路は、例えば右辺第四項を求め、これに第三項、第二項、第一項を順に累積加算するように制御を行う。具体的には、まずROM68からはn=n1に対応するa2、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に格納される。
【0053】
次に(5)式の第二式の計算を説明する。この場合、右辺の第二項、第三項が減算項であり、タイミング発生回路が、それを考慮した順序で計算が行われるよう本回路の各部を制御する。簡単に述べれば、まず右辺第三項を求め、これに第二項を加算して減算項の合計値を求める。この合計値は加減算器80の入力Bへ渡され、これと入力Aへ供給される第四項との間で減算“A−B”が行われる。最後に、この結果と第一項との加算が行われる。具体的には、まずROM68からはn=n1に対応するa0、a3が読み出され、それぞれレジスタ70−1、70−2に格納される。レジスタ62−3、レジスタ70−1の値を用いて(5)式第二式右辺第三項の乗算が行われ、その値は加減算器80を素通りさせられ、加減算器80の入力端Bへ供給される。一方で、右辺第二項がレジスタ62−2、レジスタ70−2の値を用いて乗算器66にて計算され、加減算器80の入力端Aへ供給される。加減算器80はこれらを加算して、加減算器80出力に配置される例えばレジスタ86に格納する。次に、ROM68からn=n1に対応するa1、a2が読み出され、それぞれレジスタ70−1、70−2に格納される。そしてレジスタ62−4、レジスタ70−1の値を用いて右辺第四項の乗算が行われる。その乗算結果の値と、レジスタ86に保持された値とがそれぞれ加減算器80の入力A、Bに渡され、加減算器80は減算“A−B”を実行する。その減算結果はレジスタ86に格納される。最後に、レジスタ62−1、レジスタ70−2の値を用いて求められた右辺第一項の値と、レジスタ86に保持された第二〜第四項の演算結果とがそれぞれ加減算器80の入力A、Bに渡され、加減算器80にて加算される。これにより、(5)式第二式の演算が終了し、演算結果はレジスタ82を経由してRAM60に格納される。
【0054】
最終的なデジタルの音声時系列データy(n)は、上述のようにして求められた数列u(n)を並べ替えにより再構成して得られる。本IMDCT回路は、その変換結果をD/A回路16へ出力して、一連の処理を終了する。
【0055】
以上、IMDCT演算に関して本発明の実施形態を説明した。しかし、本発明は、MDCT回路にも用いることができる。なぜなら、MDCT演算とIMDCT演算とは上述したようにほとんど同一形式の式を用いて行われるからである。具体的には、MDCTでの(8)、(9)、(11)式はそれぞれIMDCTでの(2)、(3)、(5)式と同一の形式である。よって、MDCT回路においても、本回路とほぼ同様の構成として、セレクタの削減、加減算器の機能削減を実現することができる。
【0056】
【発明の効果】
本発明の離散コサイン変換回路によれば、加減算器の一端Bに随意に値“0”を入力できる仕組みを設けたことにより、他端Aに入力された値を加減算器の出力から入力へのループバック経由でそのまま入力Bにまわすことができる。つまり、このループバックで乗算器から入力Bへの経路が実現されるので、乗算器から他端Bへの直接的な接続を廃することができ、その直接的な接続とループバックとの選択に用いていたセレクタが省かれた簡単な回路構成が実現できる効果が得られる。また、乗算器の比例係数の入力端に随意に値“1”を入力できる仕組みを設けたことにより、被演算データを乗算器経由でそのまま加減算器の入力へ渡すことができる。つまり、別途、加減算器への乗算器を経由しない経路を設ける必要がなくなり、その経路か乗算器経由の経路かの選択に用いていたセレクタが省かれた簡単な回路構成が実現できる効果が得られる。また、加減算器での演算順序を計算順序制御手段が調整することにより、加減算器の減算機能を減縮することができ、その回路構成を簡単にすることができる。これらの回路の簡素化により、回路規模を縮小した離散コサイン変換回路が実現されるという効果がある。
【図面の簡単な説明】
【図1】MDCTを用いた音声録音再生装置であるMDシステムにおいて、本発明を実施したIMDCT回路の概略のブロック図である。
【図2】DCTを用いた音声録音再生装置、例えばMDシステムにおける音声データの符号化/復号処理に関わる部分の概略のブロック図である。
【図3】従来のIMDCT回路の概略のブロック図である。
【符号の説明】
60,76 RAM、62−1〜62−4,70−1,70−2,78,82,84,86 レジスタ、64,72,74,88 セレクタ、66 乗算器、68 ROM、80 加減算器。
Claims (2)
- 第一及び第二の入力を有する加減算器と前記加減算器へ結果を出力する乗算器とを備え、時系列音声データと周波数成分データとのいずれか一方から他方への離散コサイン変換を、前記時系列音声データ又は前記周波数成分データのうちいずれか変換元となるデータに基づく被演算データに比例係数を掛ける乗算と前記被演算データに基づく項同士の加減算とによって行う離散コサイン変換回路において、
前記加減算器の出力を保持する加減算結果レジスタと、
前記加減算結果レジスタの内容と値「0」とのいずれかを出力する加減算結果セレクタと、
前記被演算データに基づく項同士の前記加減算に含まれる加算項と減算項とのうち前記減算項に関する前記乗算器における乗算処理及び当該減算項の乗算結果同士の加算処理を、前記加算項に関する計算に優先して実行させ、前記減算項の合計値を前記加減算器の第二の入力へ供給させる計算順序制御手段と、
を有し、
前記乗算器の出力は、前記加減算器の前記第一及び前記第二の入力のうち、前記第一の入力にのみ接続され、
前記加減算結果セレクタは、その出力が前記加減算器の前記第二の入力に接続され、前記乗算器の出力データを前記第二の入力に与えるときに、値「0」を出力し、前記加減算結果レジスタに前記乗算器の出力データを格納させ、
前記加減算器は、加減算機能として第一の入力と第二の入力とを加算する機能と、第一の入力から第二の入力を減算する機能のみを有すること、
を特徴とする離散コサイン変換回路。 - 請求項1に記載の離散コサイン変換回路において、
前記比例係数と値「1」とのいずれかを前記乗算器の第一の入力へ供給する比例係数セレクタを有し、
前記比例係数セレクタは、前記乗算器の第二の入力へ供給される前記被演算データの値をそのまま前記加減算に用いる場合に、値「1」を出力すること、
を特徴とする離散コサイン変換回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01926898A JP3547972B2 (ja) | 1998-01-30 | 1998-01-30 | 離散コサイン変換回路 |
US09/239,348 US6460062B1 (en) | 1998-01-30 | 1999-01-28 | Discrete cosine transformation circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP01926898A JP3547972B2 (ja) | 1998-01-30 | 1998-01-30 | 離散コサイン変換回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11212957A JPH11212957A (ja) | 1999-08-06 |
JP3547972B2 true JP3547972B2 (ja) | 2004-07-28 |
Family
ID=11994709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01926898A Expired - Fee Related JP3547972B2 (ja) | 1998-01-30 | 1998-01-30 | 離散コサイン変換回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6460062B1 (ja) |
JP (1) | JP3547972B2 (ja) |
Families Citing this family (3)
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 |
US8327384B2 (en) * | 2008-06-30 | 2012-12-04 | International Business Machines Corporation | Event driven disposition |
CN101989254B (zh) * | 2009-08-05 | 2012-03-14 | 鸿富锦精密工业(深圳)有限公司 | 离散余弦转换及其逆转换电路 |
Family Cites Families (10)
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) |
WO1996038794A1 (fr) | 1995-06-01 | 1996-12-05 | Hitachi, Ltd. | Circuit de transformation en cosinus discrets |
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 |
-
1998
- 1998-01-30 JP JP01926898A patent/JP3547972B2/ja not_active Expired - Fee Related
-
1999
- 1999-01-28 US US09/239,348 patent/US6460062B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11212957A (ja) | 1999-08-06 |
US6460062B1 (en) | 2002-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4689762A (en) | Dynamically configurable fast Fourier transform butterfly circuit | |
US6510445B2 (en) | Digital filters | |
JP4396233B2 (ja) | 複素指数変調フィルタバンクの信号分析方法、信号合成方法、そのプログラム及びその記録媒体 | |
US5502277A (en) | Filter device and electronic musical instrument using the filter device | |
JP3760385B2 (ja) | 2次補間のための方法および装置 | |
JP2004294712A (ja) | 残響音生成装置およびプログラム | |
JP3547972B2 (ja) | 離散コサイン変換回路 | |
JP2001356799A (ja) | タイム/ピッチ変換装置及びタイム/ピッチ変換方法 | |
JP3524747B2 (ja) | 離散コサイン変換回路 | |
JP3547971B2 (ja) | 離散コサイン変換回路及びその動作方法 | |
US5777249A (en) | Electronic musical instrument with reduced storage of waveform information | |
JP3246012B2 (ja) | 楽音信号の音源装置 | |
US6363406B1 (en) | Audio data compression/expansion apparatus and digital filter | |
KR0151523B1 (ko) | 디지탈 오디오 디코더에 있어서 데이터 연산처리 속도 개선회로 | |
JP3006095B2 (ja) | 楽音波形発生装置 | |
JP3904719B2 (ja) | サブバンド合成装置 | |
JP3778739B2 (ja) | オーディオ信号再生装置およびオーディオ信号再生方法 | |
JP3692661B2 (ja) | 楽音合成装置 | |
JP2007228349A (ja) | サンプリング周波数変換方法、そのプログラム及びその記録媒体 | |
JP2814939B2 (ja) | 波形処理装置 | |
JPS60176100A (ja) | 信号のピッチ変換器 | |
JP2905904B2 (ja) | 電子楽器の信号処理装置 | |
US5861568A (en) | Generation of wave functions by storage of parameters for piecewise linear approximations | |
JPH07273656A (ja) | 信号処理方法及び装置 | |
Ables et al. | A Powerful New VLSI Processor for Digital Audio |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040315 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040315 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040406 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040415 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090423 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090423 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100423 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |