(57)【特許請求の範囲】
【請求項１】
第一及び第二の入力を有する加減算器と前記加減算器へ結果を出力する乗算器とを備え、時系列音声データと周波数成分データとのいずれか一方から他方への離散コサイン変換を、前記時系列音声データ又は前記周波数成分データのうちいずれか変換元となるデータに基づく被演算データに比例係数を掛ける乗算と前記被演算データに基づく項同士の加減算とによって行う離散コサイン変換回路において、
前記加減算器の出力を保持する加減算結果レジスタと、
前記加減算結果レジスタの内容と値「０」とのいずれかを出力する加減算結果セレクタと、
前記被演算データに基づく項同士の前記加減算に含まれる加算項と減算項とのうち前記減算項に関する前記乗算器における乗算処理及び当該減算項の乗算結果同士の加算処理を、前記加算項に関する計算に優先して実行させ、前記減算項の合計値を前記加減算器の第二の入力へ供給させる計算順序制御手段と、
を有し、
前記乗算器の出力は、前記加減算器の前記第一及び前記第二の入力のうち、前記第一の入力にのみ接続され、
前記加減算結果セレクタは、その出力が前記加減算器の前記第二の入力に接続され、前記乗算器の出力データを前記第二の入力に与えるときに、値「０」を出力し、前記加減算結果レジスタに前記乗算器の出力データを格納させ、
前記加減算器は、加減算機能として第一の入力と第二の入力とを加算する機能と、第一の入力から第二の入力を減算する機能のみを有すること、
を特徴とする離散コサイン変換回路。
【請求項２】
請求項１に記載の離散コサイン変換回路において、
前記比例係数と値「１」とのいずれかを前記乗算器の第一の入力へ供給する比例係数セレクタを有し、
前記比例係数セレクタは、前記乗算器の第二の入力へ供給される前記被演算データの値をそのまま前記加減算に用いる場合に、値「１」を出力すること、
を特徴とする離散コサイン変換回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタル音声録音装置、再生装置におけるデジタル音声データの圧縮／伸長処理に用いることができる離散コサイン変換回路に関し、特に回路構成を簡単にすることに関する。
【０００２】
【従来の技術】
図２は、デジタル化された音声データの符号化／復号化を行う処理装置の概略のブロック図である。録音時には、入力された音声信号が、まずＡ／Ｄ（ａｎａｌｏｇｔｏ  ｄｅｇｉｔａｌ）変換器２によりデジタル音声データに変換される。デジタル音声データは、ＱＭＦ（ｑｕａｄｒａｔｕｒｅ  ｍｉｒｒｏｒ  ｆｉｌｔｅｒ）回路４を用いて低、中、高の３つの周波数帯域に分割される。デジタルの時系列音声データは、離散コサイン変換（ＤＣＴ：ｄｉｓｃｒｅｔｅ  ｃｏｓｉｎｅ  ｔｒａｎｓｆｏｒｍ）回路６を用いて周波数成分データに変換され、さらに量子化器８にて量子化される。このように生成された符号化データは、所定の記録媒体に記録するための次段の処理回路に供給される。
【０００３】
一方、再生時には、上述とは逆の処理が行われる。つまり、逆量子化器１０、離散コサイン逆変換回路ＩＤＣＴ（Ｉｎｖｅｒｓｅ  ＤＣＴ）１２、ＩＱＭＦ（ｉｎｖｅｒｓｅ  ｑｕａｄｒａｔｕｒｅ  ｍｉｒｒｏｒ  ｆｉｌｔｅｒ）回路１４、Ｄ／Ａ（ｄｅｇｉｔａｌ  ｔｏ  ａｎａｌｏｇ）変換器１６はそれぞれ量子化器８、ＤＣＴ回路６、ＱＭＦ回路４、Ａ／Ｄ変換器２が行うのとは逆の変換を行い、これらを用いて、記録された符号化データから音声信号が再生される。
【０００４】
さて、ＤＣＴは、音声信号の符号化／復号化において有用であり、広く用いられるようになっている。ＤＣＴには種々のタイプがあり、例えば、音声録音再生装置に用いられる一つのタイプとして、連続整数の時刻インデックスｎで表される２Ｍ個の時系列音声データｙ（ｎ）と連続整数の波数インデックスｋで表されるＭ個の周波数成分データＸ（ｋ）との間の次の関係式、
【数１】
0003547972.tif 000002
で表されるＤＣＴがある。これはいくつかの基本的なＤＣＴからはやや変更を加えられたものであるため、ここではＭｏｄｉｆｉｅｄ  ＤＣＴ、以下、略してＭＤＣＴと呼び、またその逆変換をＩＭＤＣＴ（Ｉｎｖｅｒｓｅ  ＭＤＣＴ）と呼ぶ。
【０００５】
ＤＣＴを高速に処理するアルゴリズムとして高速フーリエ変換（ＦＦＴ）を使用する方法が知られている。上記ＭＤＣＴ又はＩＭＤＣＴについても、同様にＦＦＴを用いたアルゴリズムにより数列Ｘ（ｋ）から数列ｙ（ｎ）を求めたり、逆に数列ｙ（ｎ）から数列Ｘ（ｋ）を求めることが行われている。
【０００６】
より厳密に述べれば、時系列音声データｙ（ｎ）と周波数成分データＸ（ｋ）との関係式である（１）式はＩＭＤＣＴの計算に適した形式に表されたものであり、ＭＤＣＴは後述の（６）式の表現に基づいて計算が行われる。
【０００７】
まず（１）式に基づくＩＭＤＣＴに関する計算アルゴリズムを以下に説明する。まず、変換元データである数列Ｘ（ｋ）を所定規則に従って並べ替えて再構成し、新たな数列Ｕ（ｋ）を定義する。このＵ（ｋ）に基づいて、次式で表されるＺ（ｊ）が定義される。なお、ここで、ｉは虚数単位であり、ψ（ｊ）は所定のｊの関数を表す。
【０００８】
Ｚ（ｊ）＝（Ｕ（２ｊ）＋ｉＵ（２ｊ＋１））・ｅｘｐ（ｉψ（ｊ））            ………（２）
さらに、このＺ（ｊ）から次式で定義されるｚ（ｎ）が求められる。
【０００９】
【数２】
0003547972.tif 000003
この（３）式を高速に計算するためにＦＦＴが用いられる。よく知られているようにＦＦＴは、上記（３）式を次式で表される演算の繰り返しにより計算するものである。なお、ψ’（ｊ）は所定のｊの関数である。
【００１０】
Ｚ（ｊ１）＋Ｚ（ｊ２）・ｅｘｐ（ｉψ’（ｊ））                                                ………（４）
ＩＭＤＣＴでは、このｚ（ｎ）から、次の（５）式で定義されるｕ（ｎ）を求め、この数列ｕ（ｎ）を並べ替えにより再構成して、時系列音声データｙ（ｎ）を得る。なお、ａ０〜ａ３はｎごとに定まる比例係数である。
【００１１】
【数３】
0003547972.tif 000004
一方、ＭＤＣＴに関しては、時系列音声データｙ（ｎ）に基づいた数列ｘ（ｎ）から周波数成分データＸ（ｋ）を求めるために次の関係式が用いられる。
【００１２】
【数４】
0003547972.tif 000005
（１）式と（６）式とは係数２／Ｍを除けば、ほとんど同一の形式を有していることから、ＭＤＣＴの計算アルゴリズムは上述したＩＭＤＣＴのそれと類似することが期待される。実際、（６）式に基づくＭＤＣＴの計算アルゴリズムは、以下のようなものであり、ＩＭＤＣＴのアルゴリズムと共通点を有する。
【００１３】
まず、ＭＤＣＴでは次式に示されるような、変換元データである数列ｘ（ｎ）の所定の要素同士の和（又は差）により、新たな数列ｘ’（ｎ）を定義する。
【００１４】
ｘ’（ｎ）＝ｘ（ｎ１）＋ｘ（ｎ２）又はｘ（ｎ１）−ｘ（ｎ２）                ………（７）
このｘ’（ｎ）に基づいて、（２）式と同形式の次式で表されるｚ（ｊ）が定義される。
【００１５】
ｚ（ｊ）＝（ｘ’（２ｊ）＋ｉｘ’（２ｊ＋１））・ｅｘｐ（ｉψ（ｊ））          ………（８）
さらに、このｚ（ｊ）から次式で定義されるＺ（ｋ）が求められる。
【００１６】
【数５】
0003547972.tif 000006
この（９）式は（３）式と同様の形式を有し、この高速計算においても（３）式同様、ＦＦＴが用いられ、次の形式の演算が実行される。
【００１７】
ｚ（ｊ１）＋ｚ（ｊ２）・ｅｘｐ（ｉψ’（ｊ））                                                ………（１０）
ＭＤＣＴでは、このＺ（ｋ）から、次の（１１）式により周波数成分データＸ（ｋ）を得る。
【００１８】
【数６】
0003547972.tif 000007
ただし、ｂ０〜ｂ３はｋごとに定まる比例係数である。ｎごとに定まる比例係数ａＬ（Ｌ＝０〜３）をａＬ＝ａＬ（ｎ）、また比例係数ｂＬ（Ｌ＝０〜３）をｂＬ＝ｂＬ（ｋ）と表すと、両者の間には
ｂＬ（ｊ）＝ａＬ（ｊ）×２／Ｍ                                                            ………（１２）
という関係がある。
【００１９】
図３は、上述したＩＭＤＣＴ演算を実現する従来のＩＭＤＣＴ回路の概略のブロック図である。ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）２０には、変換元データである周波数成分データＸ（ｋ）が格納される。またＲＡＭ２０は、演算の途中段階での結果を格納することもできるように構成されている。ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）２２には、例えば、比例係数ａＬ（Ｌ＝０〜３）が格納される。乗算器２４は、ＲＡＭ２０から読み出されレジスタ２６に保持された値と、ＲＯＭ２２から読み出されレジスタ２８に保持された値とを入力され、これらを掛け合わせた値をレジスタ３０又はレジスタ３２のいずれかへ出力する。
【００２０】
加減算器３４は２つの入力Ａ、Ｂを有し、“Ａ＋Ｂ”、“Ａ−Ｂ”、“Ｂ−Ａ”という加減算を行うことができるものである。その各入力Ａ、Ｂには、それぞれセレクタ３６、３８が設けられる。セレクタ３６には、レジスタ２６とレジスタ３０とが入力側に接続される。これによりセレクタ３６は、ＲＡＭ２０に格納されたそのままのデータか、乗算器２４にて乗算が行われたデータかのいずれかを選択的に加減算器３４の一つの入力端Ａへ供給することができる。一方、セレクタ３８は、加減算結果セレクタ４０を介してレジスタ４２、４４と、レジスタ３２とが入力側に接続される。これによりセレクタ３８には、レジスタ３２に格納される値（例えばＲＡＭ２０格納データに対して乗算器２４にて乗算を行った結果）と、加減算器３４の出力結果とのいずれかを加減算器３４の他の入力端Ｂへ供給することができる。加減算器３４の出力は、レジスタ４２を介してＲＡＭ２０へ書き戻すことができる。
【００２１】
さて、時系列音声データｙ（ｎ）と周波数成分データＸ（ｋ）との変換において、時系列音声データｙ（ｎ）は時間的に連続する２Ｍ個のデータを１ブロックとしてブロックごとに取り扱われる。生成された１ブロック分の時系列音声データは、ＲＡＭ４４に格納される。このとき各ブロック間のつなぎ目において音声の歪みを少なくするため、先行するブロックの終わりの部分と後続するブロックの先頭部分とはオーバーラップするようにブロックの範囲が定められる。このオーバーラップする部分においては、両ブロックのデータ値を加算する処理を行って最終的な音声データｙ（ｎ）が生成される。このデータの重ね合わせを行うために、ＲＡＭ４４に格納された音声データは、加減算器３４へ戻すことができるように構成される。すなわち、ＲＡＭ４４から読み出された値は、乗算器２４とレジスタ３２との間に配置されるセレクタ４６に入力される。セレクタ４６は、乗算器２４の出力とＲＡＭ４４の出力とのいずれかを選択して、選択された値は、セレクタ３８を介して加減算器３４へ入力される。
【００２２】
次にこの従来回路において、上記演算がどのように行われるかを説明する。まず上記（２）式の右辺を展開することによりＺ（ｊ）は次式で表される。
【００２３】
【数７】
0003547972.tif 000008
よって、データＵ（ｋ）をＲＡＭ２０に格納し、ｓｉｎψ（ｊ）、ｃｏｓψ（ｊ）をＲＯＭ２２に格納することにより、Ｚ（ｊ）の実数部、虚数部はそれぞれ乗算器２４、加減算器３４を順に用いて計算され、加減算器３４から出力された実数部、虚数部の演算結果はＲＡＭ２０に格納される。
【００２４】
ｚ（ｎ）は（４）式で表される演算を繰り返すことにより求められることは既に述べた。ＲＡＭ２０に格納されたＺ（ｊ）を乗算器２４を通さずに、レジスタ２６、セレクタ３６を経由してそのままの値で加減算器３４へ入力することにより、（４）式の右辺第一項が加減算器３４の一端Ａへ供給される。また、右辺第二項は、ＲＡＭ２０に格納されたＺ（ｊ）とＲＯＭ２２に格納されているｅｘｐ（ｉψ’（ｊ））とをそれぞれ読み出して、乗算器２４にて掛け合わせて生成される。そして、これがセレクタ４６、レジスタ３２、セレクタ３８を経由して、加減算器３４の他端Ｂに供給される。加減算器３４は（４）式の第一項と第二項との加算を行い、その結果はＲＡＭ２０に格納される。このｚ（ｎ）の計算も複素演算であり、やはり回路においては実数部と虚数部とが別個に演算される。
【００２５】
この演算により（５）式の演算に用いられるＲｅｚ（ｎ）、Ｒｅｚ（Ｍ／２−１−ｎ）、Ｉｍｚ（ｎ）、Ｉｍｚ（Ｍ／２−１−ｎ）がＲＡＭ２０に格納される。また、比例係数ａＬ（Ｌ＝０〜３）はＲＯＭ２２に格納されている。（５）式の計算は、乗算器２４が右辺第一項から順に各項を計算し、加減算器３４がそれらを累積的に加減算することにより行われる。
【００２６】
以上が、従来のＩＭＤＣＴ回路の構成及びその動作であるが、ＩＭＤＣＴ演算とＭＤＣＴ演算とは上述したように共通部分を有し、よって、ＭＤＣＴ回路の従来構成も図３に示すＩＭＤＣＴ回路とほとんど同じものであり、その動作も上述したものとほぼ同様となる。
【００２７】
【発明が解決しようとする課題】
上述した従来のＩＭＤＣＴ回路は、乗算と加減算とを行う主要部にセレクタを３つ含む構成であり、またＭＤＣＴ回路も同様の構成を有する。そのため従来の離散コサイン変換回路は回路構成が複雑であり、それらの制御を行うタイミング発生回路も複雑となるという問題があり、回路規模の縮小が妨げられるという問題を有していた。また、加減算器も、“Ａ＋Ｂ”、“Ａ−Ｂ”、“Ｂ−Ａ”という３種類の加減算を行う構成とすると、構成が大きくなるという問題があった。
【００２８】
本発明は上記問題点を解消するためになされたもので、離散コサイン変換やその逆変換を行う離散コサイン変換回路の乗算、加減算を行う主要部の構成を簡素化し、以てタイミング発生回路を含めた回路構成を簡単にする離散コサイン変換回路を提供することを目的とする。
【００２９】
【課題を解決するための手段】
本発明に係る離散コサイン変換回路は、加減算器の出力を保持する加減算結果レジスタと、前記加減算結果レジスタの内容と値「０」とのいずれかを出力する加減算結果セレクタと、前記被演算データに基づく項同士の前記加減算に含まれる加算項と減算項とのうち前記減算項に関する前記乗算器における乗算処理及び当該減算項の乗算結果同士の加算処理を、前記加算項に関する計算に優先して実行させ、前記減算項の合計値を前記加減算器の第二の入力へ供給させる計算順序制御手段と、を有し、乗算器の出力は、前記加減算器の第一及び第二の入力のうち、第一の入力にのみ接続され、前記加減算結果セレクタは、その出力が前記加減算器の前記第二の入力に接続され、前記乗算器の出力データを前記第二の入力に与えるときに、値「０」を出力し、前記加減算結果レジスタに前記乗算器の出力データを格納させ、前記加減算器は、加減算機能として第一の入力と第二の入力とを加算する機能と、第一の入力から第二の入力を減算する機能のみを有するものである。
【００３０】
一般に、加減算器の出力には、その演算結果を保持するためのレジスタが複数配置され、それらからの読み出しを選択するための加減算結果セレクタが設けられる。本発明によれば、そのような加減算結果セレクタを、それに接続されたレジスタの格納内容を出力できる他に、値“０”を選択して出力可能に構成したものである。加減算結果セレクタの出力は、加減算器の第二の入力に接続され、一方、第一の入力には乗算器等の出力が接続される。加減算器の第一の入力に乗算器の乗算結果を入力し、一方、第二の入力に加減算結果セレクタから“０”を入力することにより、加減算器の出力側に前記乗算結果の値を変えることなく素通りさせることができる。この値はさらに加減算器の第二の入力へ供給することができるので、第二の入力には改めて乗算器の出力を接続する必要がない。乗算器と加減算器の第二の入力との接続を廃することで、加減算器の第二の入力側に従来設けられていた、乗算器側出力と加減算結果セレクタの出力とを選択するためのセレクタを不要とすることができる。
【００３２】
本発明によれば、例えば、“Ａ−Ｂ＋Ｃ−Ｄ−Ｅ”という演算は、まず加減算器において減算項“Ｂ”、“Ｄ”、“Ｅ”同士の加算が実行され、その結果値“Ｂ＋Ｄ＋Ｅ”が加減算器の第二の入力へ供給される。次にいずれかの加算項、例えば“Ａ”が加減算器の第一の入力に供給され、第一の入力から第二の入力を引く減算が行われ、“Ａ−Ｂ−Ｄ−Ｅ”が求められる。以降は、残りの加算項の加算処理のみが行われる。よって、加減算器は加減算機能として第一の入力と第二の入力とを加算する機能と、第一の入力から第二の入力を減算する機能のみを有するものであれば足り、第二の入力から第一の入力を減算する機能を省略できる。
【００３３】
本発明に係る離散コサイン変換回路は、上記本発明の離散コサイン変換回路において比例係数と値「１」とのいずれかを前記乗算器の第一の入力へ供給する比例係数セレクタを有し、前記比例係数セレクタは、前記乗算器の第二の入力へ供給される前記被演算データの値をそのまま前記加減算に用いる場合に、値「１」を出力するものである。
【００３４】
本発明によれば、乗算器はその第一の入力へ比例係数を入力され、第二の入力に被演算データを入力される。この乗算器の第一の入力側に比例係数セレクタが設けられる。この比例係数セレクタが比例係数以外に、任意に“１”を出力することができるように構成される。離散コサイン変換の処理演算には被演算データに対し比例係数を乗算した結果を加減算器へ入力する場合と、被演算データのそのままの値を加減算器へ入力する場合とが、本発明によればそれらいずれの場合についても、被演算データは乗算器へ入力され、後者の場合には、比例係数セレクタから値“１“を出力させて、これを被演算データに乗ずることにより、被演算データのそのままの値を加減算器へ渡すことが実現される。これにより、加減算器の第一の入力への入力系統が一本化される。つまり、加減算器へ乗算器から入力する場合と被演算データのそのままの値を入力する場合とでそれぞれの経路を設ける従来構成においては、それらの切り替えに必要であったセレクタが、本発明の離散コサイン変換回路では廃される。
【００３５】
【発明の実施の形態】
次に、本発明の実施形態について図面を参照して説明する。
【００３６】
図１は、ＭＤＣＴを用いた音声録音再生装置であるＭＤシステムにおいて、本発明を実施したＩＭＤＣＴ回路の概略のブロック図である。本実施の形態に係る音声録音再生装置は、図２と同一のブロック構成を有した音声データ符号化／復号処理部を含んで構成される。そして、本回路は図２におけるＩＤＣＴ回路１２と同様、ＭＤに記録されたデジタルデータから音声を再生する復号処理に用いられ、逆量子化器１０から入力された高、中、低の３つの周波数帯域ごとの周波数成分データＸ（ｋ）にＩＭＤＣＴ変換を施して、各周波数帯域ごとの時系列音声データｙ（ｎ）を生成し、ＩＱＭＦ回路１４へ出力するものである。
【００３７】
本回路が行うＩＭＤＣＴの基本的な演算アルゴリズムは、従来技術として上述したものと同一であるので、それを参照することにより説明の簡潔を図る。
【００３８】
ＲＡＭ６０には、変換元データである周波数成分データＸ（ｋ）が格納される。またＲＡＭ６０は、演算の途中の結果を格納することもできるように構成されている。４つのレジスタ６２−１〜６２−４は、ＲＡＭ６０の出力に並列して設けられ、それぞれＲＡＭ６０から読み出されたデータを保持することができる。セレクタ６４は、これらレジスタ６２−１〜６２−４のいずれかを選択して、その格納内容を乗算器６６へ出力する。
【００３９】
ＲＯＭ６８には、ＲＡＭ６０から読み出されたデータに乗じられる比例係数、例えばａＬ（Ｌ＝０〜３）が格納される。２つのレジスタ７０−１、７０−２は、ＲＯＭ６８の出力に並列して設けられ、それぞれＲＯＭ６８から読み出された係数を保持することができる。セレクタ（比例係数セレクタ）７２は、セレクタ６４と同様、接続された２つのレジスタ７０−１、７０−２のいずれかを選択して、その保持内容を出力する機能を有するとともに、それらレジスタの保持内容以外に値“１”を出力の選択肢として備えている。すなわちセレクタ７２は、レジスタ７０−１、７０−２の保持内容と値“１”との３つのうちいずれかを外部からの制御により選択して乗算器６６へ出力する。この値“１”の意味については後述する。
【００４０】
乗算器６６は、ＲＡＭ６０側のセレクタ６４から出力された値と、ＲＯＭ６８側のセレクタ７２から出力された値とを入力され、これらを掛け合わせた値を出力する。
【００４１】
セレクタ７４は、乗算器６６から出力された乗算結果と、ＲＡＭ７６から読み出された値とのいずれかを選択して、レジスタ７８に格納する。
【００４２】
加減算器８０は２つの入力Ａ、Ｂを有し、“Ａ＋Ｂ”、“Ａ−Ｂ”という加減算を行うことができるものである。本回路は、計算順序制御手段であるタイミング発生回路により動作を制御され、それにより“Ｂ−Ａ”という減算が生じないように計算順序が調整される。そのため、加減算器８０は“Ｂ−Ａ”という減算機能を有さない簡単な構成とすることができる。加減算器８０は、一方の入力端、例えば入力Ａに、レジスタ７８の出力を接続される。加減算器８０の出力には、３つのレジスタ８２〜８６が設けられる。加減算器８０のもう一つの入力Ｂには、これらレジスタ８２〜８６を入力に接続されたセレクタ（加減算結果セレクタ）８８の出力が接続される。
【００４３】
セレクタ８８は、接続された３つのレジスタ８２〜８６のいずれかを選択して、その保持内容を出力するという一般的な機能を有するとともに、それらレジスタの保持内容以外に値“０”を出力の選択肢として備えている。すなわちセレクタ８８は、レジスタ８２〜８６の保持内容と値“０”との４つのうちいずれかを外部からの制御により選択して、加減算器８０の入力Ｂへ供給する。この値“０”の意味については後述する。
【００４４】
加減算器８０の出力は、レジスタ８２を介してＲＡＭ６０やＲＡＭ７６に格納することができる。例えば、演算の途中段階でのデータをＲＡＭ６０に蓄積したり、１ブロック分の周波数成分データＸ（ｋ）から音声データｙ（ｎ）が得られた段階でそれをＲＡＭ７６に格納することができる。
【００４５】
なお、各ブロック間のつなぎ目において音声の歪みを少なくするため、先行するブロックの終わりの部分と後続するブロックの先頭部分とはオーバーラップするようにブロックの範囲が定められる。このオーバーラップする部分においては、両ブロックのデータ値を加算する処理を行って最終的な音声データｙ（ｎ）が生成される。このデータの重ね合わせを行うために、ＲＡＭ７６に格納された音声データは、加減算器８０へ戻すことができるように構成する必要がある。本回路では、これを実現するために乗算器６６と加減算器８０との間にセレクタ７４を設け、それにＲＡＭ７６の出力を接続している。
【００４６】
さて、セレクタ７２が値“１”を出力できる構成としている理由は、ＲＡＭ６０から読み出されたデータに対し比例係数を乗算した結果を加減算器８０へ入力する場合と、行わずにそのままの値を加減算器８０へ入力する場合との加減算器８０への入力系統を一本化して、それらの切り替えに必要であったセレクタを廃し回路構成を簡単にするためである。つまり、ＲＡＭ６０から読み出されたデータは、必ず乗算器６６を経由させる一方で、ＲＡＭ６０から読み出された値のまま加減算器８０へ入力したい場合には、セレクタ７２から“１”を出力させることとして、この場合の乗算器６６の出力値がその入力値と等しくなるようにしたものである。これにより、従来回路で用いていたセレクタ３６を不要とすることができた。
【００４７】
セレクタ８８が値“０”を出力できる構成としている理由は、乗算器６６からの出力は加減算器８０の一方の入力端Ａのみに入力させ、他方の入力端Ｂへは加減算器８０の出力からのループバックのみ接続する構成としていることに関係する。この入力端Ｂには乗算器６６からは入力させない本回路の構成により、加減算器８０の出力からのループバックとの切り替えに必要であったセレクタを廃し回路構成を簡単にすることができる。この構成にて加減算器８０の入力端へ供給される被演算値同士の加減算を可能とするために、入力端Ａへ入力された値を、加減算器８０を素通りさせて入力端Ｂへまわす。具体的には、入力端Ａへ入力された値を素通りさせる場合には、セレクタ８８に値“０”を出力させ、これを加減算器８０の入力端Ｂへ供給する。加減算器８０は、入力端Ａのデータと、入力端Ｂのデータ“０”とを例えば加算して、その結果をレジスタ８２〜８６のいずれかに格納する。これにより、入力端Ａへ入力された被演算データが加減算器８０の出力側へ素通りされ、その値はセレクタ８８を介して加減算器８０の入力端Ｂへ戻されることにより、次に入力端Ａへ入力される被演算データとの加減算に用いることができる。
【００４８】
次に本回路において、上述したＩＭＤＣＴ演算がどのように行われるかを説明する。まず変換元データである周波数成分データＸ（ｋ）を並べ替えて得られるＵ（ｋ）からＺ（ｊ）が（１３）式に基づいて演算される。データＵ（ｋ）をＲＡＭ６０に格納し、ｓｉｎψ（ｊ）、ｃｏｓψ（ｊ）をＲＯＭ６８に格納する点は従来と同様である。あるｊについての（１３）式右辺を計算する際、ＲＡＭ６０からは、Ｕ（２ｊ）とＵ（２ｊ＋１）とが読み出され、それぞれレジスタ６２−１〜６２−４のいずれか２つ、例えばレジスタ６２−１とレジスタ６２−２に格納される。また、ＲＯＭ６８からは、ｃｏｓψ（ｊ）とｓｉｎψ（ｊ）とが読み出され、それぞれレジスタ７０−１とレジスタ７０−２に格納される。そして、Ｚ（ｊ）の実数部、虚数部がそれぞれ乗算器６６、加減算器８０を順に用いて計算される。
【００４９】
例えば、実数部の計算は、レジスタ６２−２に格納されたＵ（２ｊ＋１）と、レジスタ７０−２に格納されたｓｉｎψ（ｊ）とを乗算器６６にて乗算して（１３）式右辺第二項を得、加減算器８０の入力Ａへ入力する。この第二項の値は加減算器８０を素通りさせられ、例えばレジスタ８６に格納される。次に、（１３）式右辺第一項が、レジスタ６２−１に格納されたＵ（２ｊ）と、レジスタ７０−１に格納されたｃｏｓψ（ｊ）とを乗算器６６にて乗算して得られる。この第一項の値を加減算器８０の入力Ａへ供給するとともに、第二項の値をレジスタ８６から入力Ｂへ供給し、加減算器８０は減算“Ａ−Ｂ”を行うことにより、Ｚ（ｊ）の実数部が計算される。この出力結果は、レジスタ８２を介してＲＡＭ６０へ格納される。
【００５０】
次にＺ（ｋ）を用いて（３）式で定義されるｚ（ｎ）を求める演算が行われる。この演算においては、（４）式で表される形の演算が繰り返される。ちなみに、本回路における一つの（４）式の演算は以下のように行われる。Ｚ（ｊ）は上記演算によりＲＡＭ６０に格納され、また位相因子ｅｘｐ（ｉψ’（ｊ））  はＲＯＭ６８に予め格納されている。ＲＡＭ６０からはＺ（ｊ１）とＺ（ｊ２）とが読み出され、それぞれ例えばレジスタ６２−１、６２−２に格納される。一方、ＲＯＭ６８からはｅｘｐ（ｉψ’（ｊ））  が読み出され、レジスタ７０−１に格納される。レジスタ６２−２、レジスタ７０−１の値を用いて（４）式第二項の乗算が行われ、その値は加減算器８０を素通りさせられ、加減算器８０の入力端Ｂへ供給される。一方で、レジスタ６２−１に格納された第一項の値が乗算器６６を素通りさせられ、加減算器８０の入力端Ａへ供給される。加減算器８０はこれらの加算又は減算を行って、一つの（４）式の計算を完了し、その値はＲＡＭ６０に格納される。なお、以上述べたｚ（ｎ）の計算も複素演算であり、やはり回路においては実数部と虚数部とが別個に演算される。
【００５１】
次に、このｚ（ｎ）を用いて（５）式で定義されるｕ（ｎ）を求める演算が行われる。ｚ（ｎ）は上記演算によりＲＡＭ６０に格納され、また比例係数ａＬ（Ｌ＝０〜３）はＲＯＭ６８に予め格納されている。ｎ＝ｎ１に関する（５）式の計算においてはＲＡＭ６０からＲｅｚ（ｎ１）、Ｒｅｚ（Ｍ／２−１−ｎ１）、Ｉｍｚ（ｎ１）、Ｉｍｚ（Ｍ／２−１−ｎ１）が読み出され、それぞれ例えばレジスタ６２−１、６２−２、６２−３、６２−４に格納される。レジスタ６２−１〜６２−４に読み出されたこれらの値は、同一のｎに対する（５）式の第一式と第二式とで共通に用いることができるので、両式の計算が行われる間、当該レジスタに保持される。
【００５２】
まず（５）式の第一式の計算を説明する。この場合、右辺の各項は加算項であるので、本回路の動作を制御するタイミング制御回路は、例えば右辺第四項を求め、これに第三項、第二項、第一項を順に累積加算するように制御を行う。具体的には、まずＲＯＭ６８からはｎ＝ｎ１に対応するａ２、ａ３が読み出され、それぞれレジスタ７０−１、７０−２に格納される。レジスタ６２−４、レジスタ７０−２の値を用いて（５）式第一式右辺第四項の乗算が行われ、その値は加減算器８０を素通りさせられ、加減算器８０の入力端Ｂへ供給される。一方で、右辺第三項がレジスタ６２−３、レジスタ７０−１の値を用いて乗算器６６にて計算され、加減算器８０の入力端Ａへ供給される。加減算器８０はこれらを加算して、加減算器８０出力に配置される例えばレジスタ８６に格納する。次に、ＲＯＭ６８からｎ＝ｎ１に対応するａ０、ａ１が読み出され、それぞれレジスタ７０−１、７０−２に格納される。そしてレジスタ６２−２、レジスタ７０−２の値を用いて右辺第二項の乗算が行われる。その乗算結果の値と、レジスタ８６に保持された値とがそれぞれ加減算器８０の入力Ａ、Ｂに渡され、加減算器８０からの加算結果がレジスタ８６に格納される。同様にレジスタ６２−１、レジスタ７０−１の値を用いて求められた右辺第一項の値と、レジスタ８６に保持された第二〜第四項の加算結果とがそれぞれ加減算器８０の入力Ａ、Ｂに渡され、加減算器８０にて加算される。これにより、（５）式第一式の演算が終了し、演算結果はレジスタ８２を経由してＲＡＭ６０に格納される。
【００５３】
次に（５）式の第二式の計算を説明する。この場合、右辺の第二項、第三項が減算項であり、タイミング発生回路が、それを考慮した順序で計算が行われるよう本回路の各部を制御する。簡単に述べれば、まず右辺第三項を求め、これに第二項を加算して減算項の合計値を求める。この合計値は加減算器８０の入力Ｂへ渡され、これと入力Ａへ供給される第四項との間で減算“Ａ−Ｂ”が行われる。最後に、この結果と第一項との加算が行われる。具体的には、まずＲＯＭ６８からはｎ＝ｎ１に対応するａ０、ａ３が読み出され、それぞれレジスタ７０−１、７０−２に格納される。レジスタ６２−３、レジスタ７０−１の値を用いて（５）式第二式右辺第三項の乗算が行われ、その値は加減算器８０を素通りさせられ、加減算器８０の入力端Ｂへ供給される。一方で、右辺第二項がレジスタ６２−２、レジスタ７０−２の値を用いて乗算器６６にて計算され、加減算器８０の入力端Ａへ供給される。加減算器８０はこれらを加算して、加減算器８０出力に配置される例えばレジスタ８６に格納する。次に、ＲＯＭ６８からｎ＝ｎ１に対応するａ１、ａ２が読み出され、それぞれレジスタ７０−１、７０−２に格納される。そしてレジスタ６２−４、レジスタ７０−１の値を用いて右辺第四項の乗算が行われる。その乗算結果の値と、レジスタ８６に保持された値とがそれぞれ加減算器８０の入力Ａ、Ｂに渡され、加減算器８０は減算“Ａ−Ｂ”を実行する。その減算結果はレジスタ８６に格納される。最後に、レジスタ６２−１、レジスタ７０−２の値を用いて求められた右辺第一項の値と、レジスタ８６に保持された第二〜第四項の演算結果とがそれぞれ加減算器８０の入力Ａ、Ｂに渡され、加減算器８０にて加算される。これにより、（５）式第二式の演算が終了し、演算結果はレジスタ８２を経由してＲＡＭ６０に格納される。
【００５４】
最終的なデジタルの音声時系列データｙ（ｎ）は、上述のようにして求められた数列ｕ（ｎ）を並べ替えにより再構成して得られる。本ＩＭＤＣＴ回路は、その変換結果をＤ／Ａ回路１６へ出力して、一連の処理を終了する。
【００５５】
以上、ＩＭＤＣＴ演算に関して本発明の実施形態を説明した。しかし、本発明は、ＭＤＣＴ回路にも用いることができる。なぜなら、ＭＤＣＴ演算とＩＭＤＣＴ演算とは上述したようにほとんど同一形式の式を用いて行われるからである。具体的には、ＭＤＣＴでの（８）、（９）、（１１）式はそれぞれＩＭＤＣＴでの（２）、（３）、（５）式と同一の形式である。よって、ＭＤＣＴ回路においても、本回路とほぼ同様の構成として、セレクタの削減、加減算器の機能削減を実現することができる。
【００５６】
【発明の効果】
本発明の離散コサイン変換回路によれば、加減算器の一端Ｂに随意に値“０”を入力できる仕組みを設けたことにより、他端Ａに入力された値を加減算器の出力から入力へのループバック経由でそのまま入力Ｂにまわすことができる。つまり、このループバックで乗算器から入力Ｂへの経路が実現されるので、乗算器から他端Ｂへの直接的な接続を廃することができ、その直接的な接続とループバックとの選択に用いていたセレクタが省かれた簡単な回路構成が実現できる効果が得られる。また、乗算器の比例係数の入力端に随意に値“１”を入力できる仕組みを設けたことにより、被演算データを乗算器経由でそのまま加減算器の入力へ渡すことができる。つまり、別途、加減算器への乗算器を経由しない経路を設ける必要がなくなり、その経路か乗算器経由の経路かの選択に用いていたセレクタが省かれた簡単な回路構成が実現できる効果が得られる。また、加減算器での演算順序を計算順序制御手段が調整することにより、加減算器の減算機能を減縮することができ、その回路構成を簡単にすることができる。これらの回路の簡素化により、回路規模を縮小した離散コサイン変換回路が実現されるという効果がある。
【図面の簡単な説明】
【図１】ＭＤＣＴを用いた音声録音再生装置であるＭＤシステムにおいて、本発明を実施したＩＭＤＣＴ回路の概略のブロック図である。
【図２】ＤＣＴを用いた音声録音再生装置、例えばＭＤシステムにおける音声データの符号化／復号処理に関わる部分の概略のブロック図である。
【図３】従来のＩＭＤＣＴ回路の概略のブロック図である。
【符号の説明】
６０，７６  ＲＡＭ、６２−１〜６２−４，７０−１，７０−２，７８，８２，８４，８６  レジスタ、６４，７２，７４，８８  セレクタ、６６  乗算器、６８  ＲＯＭ、８０  加減算器。
【図１】
0003547972.tif 000009
【図２】
0003547972.tif 000010
【図３】
0003547972.tif 000011