JP2869668B2 - ディジタルデータの離散フーリエ又はコサイン変換装置 - Google Patents

ディジタルデータの離散フーリエ又はコサイン変換装置

Info

Publication number
JP2869668B2
JP2869668B2 JP15417890A JP15417890A JP2869668B2 JP 2869668 B2 JP2869668 B2 JP 2869668B2 JP 15417890 A JP15417890 A JP 15417890A JP 15417890 A JP15417890 A JP 15417890A JP 2869668 B2 JP2869668 B2 JP 2869668B2
Authority
JP
Japan
Prior art keywords
matrix
discrete fourier
product
cosine transform
output
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 - Lifetime
Application number
JP15417890A
Other languages
English (en)
Other versions
JPH0447454A (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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP15417890A priority Critical patent/JP2869668B2/ja
Publication of JPH0447454A publication Critical patent/JPH0447454A/ja
Application granted granted Critical
Publication of JP2869668B2 publication Critical patent/JP2869668B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はディジタルデータの離散フーリエ又はコサイ
ン変換装置に関するものである。
〔従来技術〕
従来、この種の分野の技術としては、日野幹雄著「ス
ペクトル解析」12章3節,朝倉書店,1977や、W.H.チェ
ン,エタノール(Chen,etal),IEEE,トランサクション
オンコミニュケーション(Transaction on communicati
on),Vol.COM−25,NO.9,9.1977に開示されたものがあ
る。
ベクトル〔x〕=(x0,x1,x2,‥‥,xN-1)で表わさ
れるN個のデータの一次元離散フーリェ変換〔yf〕と離
散コサイン変換〔yc〕はそれぞれ行列〔F〕と〔C〕を
用いて、 〔yf〕=〔F〕〔x〕 〔yc〕=〔C〕〔x〕 但し、 と表わすことができる。
従来、上記離散フーリェ変換〔yf〕或いは離散コサイ
ン変換〔yc〕計算する方法は、直接行列演算法と上記文
献に開示された高速演算方法がある。前者は上記行列
〔F〕或いは〔C〕と入力データ列〔x〕との積を直接
に計算するものであり、後者は入力データ数がN=2
n(nは正整数)を満たす場合に限定し、上記行列の中
の要素の周期特性を利用し、加減算及び乗算をバタフラ
イの形にすることにより、演算回数を大幅に削減したも
のであった。
〔発明が解決しようとする課題〕
しかしながら、上記直接行列演算法ではパイプライン
処理可能なプロセッサで実現しようとする場合、少なく
とも入力データ数と同じ数の乗算器を必要とするという
問題点がある。
また、上記高速演算ではアルゴリズムが不規則である
ため、一般的には計算機でプログラムによって処理され
る手法であるので、ハード構成で実現しようとすると制
御が複雑となり装置に導入するアルゴリズムには不向き
であるという問題点があった。
本発明は上述の点に鑑みてなされたもので、上記問題
点を除去するため、制御が簡単なアルゴリズムを有し、
従来の行列演算手法の半分の乗算器によるパイプライン
処理が可能な優れた離散フーリエ又はコサイン変換装置
を提供することを目的とする。
〔課題を解決するための手段〕
上記課題を解決するため本発明は、N=2n(nは正整
数)個のディジタルデータの離散フーリエ又はコサイン
変換装置において、第1段階の演算手段と、第2段階の
演算手段を具備し、第1段階の演算手段は加算器を具備
し、+1と−1のみの要素を持つウォルシュ変換行列
〔W〕と入力データとの積〔Z〕=〔W〕〔X〕を該加
算器のみにより計算し、第2段の演算手段は記憶手段と
演算手段を具備し、離散フーリエ変換行列〔F〕と逆ウ
ォルシュ変換行列〔W-1〕(=〔W〕)との積〔Af〕=
〔F〕〔W-1〕或いは離散コサイン変換行列〔C〕と逆
ウォルシュ変換行列〔W-1〕との積〔Ac〕=〔C〕
〔W-1〕を予め計算し該記憶手段に記憶しておき、第1
段階の演算手段の出力〔Z〕と該記憶手段に記憶されて
いる積〔Af〕との積〔yf〕=〔Af〕〔Z〕或いは該出力
〔Z〕と前記積〔Ac〕との積〔yc〕=〔Ac〕〔Z〕を該
演算手段でマトリックス演算することを特徴とする。
〔作用〕
ディジタルデータの離散フーリエ又はコサイン変換の
演算装置を上記のように構成することにより、第1段階
の演算手段では+1と−1のみの要素を持つウォルシュ
変換を導入したので、入力データ数Nと同じ数の加減算
器によるパイプライン処理が可能となり、第2段階の演
算手段では離散フーリエ或いはコサイン変換の行列にゼ
ロである要素が多くN/2行に圧縮できるので、N/2の乗算
器とN個の加算器によるパイプライン処理が可能とな
る。
〔実施例〕 以下、本発明の実施例を図面に基づいて説明する。
第1図は本発明の演算順序を示すブロック図である。
恒等式、 離散フーリェ変換: 〔yc〕=〔F〕〔x〕 =1/N〔F〕〔W-1〕〔W〕〔x〕 離散コサイン変換: 〔yc〕=〔C〕〔x〕 =1/N〔C〕〔W-1〕〔W〕〔x〕 により、第1段階の演算3では入力データ列〔x〕1と
ウォルシュ変換行列〔W〕2との積=〔Z〕=〔W〕
〔x〕を計算し、第2段階の演算では既知である離散フ
ーリェ変換行列〔F〕と逆ウォルシュ変換行列〔W-1
との積〔Af〕=〔H〕〔W-1〕或いは離散コサイン変換
行列〔C〕と逆ウォルシュ変換行列〔W-1〕との積〔A
c〕=〔C〕〔W-1〕をあらかじめ計算し用意しておき、
第1段階の演算の出力との積〔yf〕=〔Af〕〔Z〕或い
は〔yc〕=〔Ac〕〔Z〕を計算する。
例えば、N=8(n=3)の場合、ウォルシュ変換行
列〔W〕は、 で与えられ、すべての要素が+1か−1であるため、第
2図に示されるような、乗算器なしの8個の加算器のみ
によるパイプライン構成によっ第1段階の演算を実現す
ることができる。N=8の場合の離散フーリェ変換行列
〔F〕及び離散コサイン変換行列〔C〕は、 で与えられ、それぞれ上記ウォルシュ変換行列〔W〕と
の積は、 となる。行列〔Af〕及び〔Ac〕にはゼロである要素が多
く現れ、となり合う任意の2行の同じ列において必ず一
つのゼロである要素が存在するため、例えば第2図に示
されるように、第1行と第2行、第3行と第4行、第5
行と第6行及び第7行と第8行を組みにして、その各組
で乗算器を1つ割り当てて、演算結果を各行の演算結果
を格納するレジスタに割り振る。また、第2図に示した
ように、全ての組に対して乗算結果を割り振るタイミン
グが同じなので制御信号が1本で実現可能である。この
ようにN=2nを満たす限り、〔Af〕及び〔Ac〕は上記の
性質を有するので、N個の入力データに対する離散フー
リェ或いはコサイン変換はN/2個の乗算器により実現可
能である。
次に、第3図から第6図までを用いて実数のベクトル
データを前記変換方法で実行する変換装置の一例を説明
する。
第3図は前記変換装置の全体構成を示すブロック図で
ある。端子A1から直交変換を行なうベクトルデータが入
力される。そのデータは第1段階の演算ブロック10に送
られ、前記変換方法で説明した〔Z〕=〔W〕〔x〕の
マトリックス演算が行なわれる。この演算結果は、例え
ば、第3図においてはN=23の場合であるので、8次元
のベクトルデータが入力されると端子B1〜B8にそれぞれ
同時にデータが出力される。そのデータはアウトプット
コントローラ20の入力データとなり、端子A1からデータ
が8個入力すると一度に出力されるデータをこのアウト
プットコントローラ29によってデータ出力が制御され、
8クロックかかって端子B1から順番に端子C1に出力す
る。
第2段階の演算ブロック30では、前記変換方法の説明
でも示したように、離散フーリェ変換の場合は〔Af〕=
〔F〕〔W-1〕、離散コサイン変換の場合は〔Ac〕=
〔C〕〔W-1〕をあらかじめ計算しておき、その〔Af〕
〔Ac〕と端子C1からの入力データとの間でマトリックス
演算が行なわれる。この演算結果もN=23の時は、入力
データが8個入力されると一度にD1からD8までの端子
に、離散コサイン変換の場合は8個、離散フーリェ変換
の場合は16個(この場合は実数部8個,虚数部8個)の
データが出力されるので、アウトプットコントローラ40
に入力し、端子D1からの入力データから順番に端子E1
出力し、入力データの出力制御を行なう。
第4図は第3図における第1段階の演算ブロック10の
演算を実現するための構成を示すブロック図である。本
例ではN=23の時の場合を示しており、この第1段階の
演算ブロック10は前述の〔Z〕=〔W〕〔z〕のマトリ
ックス演算が行なわれる。ここで〔W〕はウォルシュ変
換行列で、その変換係数は1と−1しか存在しないた
め、マトリックス演算においても、乗算器を用いること
なく、符号反転が行なえる符号制御器とその値を累積加
算が行なえる加算器とレジスタによって構成することが
できる。次に、第4図を用いて各構成要素の接続状態及
びその動作について説明する。
端子A1から直交変換を行なうベクトルデータが入力さ
れ、該ベクトルデータが各プロセスエレメント11〜18に
同時に入力される。各プロセスエレメント11〜18では、
マトリックス演算の1行分の演算を行なう。
また、各プロセスエレメント11〜18では、符号反転を
行なう符号制御部が異なるのみでその構成は全て同じで
あるので、ここではプロセスエレメント11を用いて説明
する。
先ず、入力データは符号制御器111に入力され、ウォ
ルシュ変換行列のマトリックス係数の値によって、入力
データの符号が制御される。つまり、この符号制御器11
1では、マトリックス係数の値が1であればそのまま入
力データを出力し、−1である場合は、符号を反転して
出力する。例えば、プロセスエレメントがマトリックス
演算の2行目の演算を担当するとすれば、係数の値が
{1,−1,1,−1,1,−1,1,−1}であるので、最初のデー
タはそのまま出力し、次のデータは符号を反転し、その
次のデータは、またそのまま出力するといった動作を行
なう。符号制御器111の出力は加算器112に渡される。加
算器112の出力はレジスタ113に格納され、レジスタ113
の出力の一方は前記加算器112の入力となっており、も
う一方はレジスタ114に接続される。加算器112とレジス
タ113は累積加算器を構成しており、この例ではN=23
であるから、符号制御器111からの8個の出力を累積加
算した後、演算結果をレジスタ114に格納され端子B1
出力される。他のプロセスエレメント12〜18でも同様の
処理が行なわれ、それぞれ出力端子B2〜B8に出力され
る。
第5図は離散フーリェ変換を行なう場合の第2段階の
演算ブロック30の構成例を示すブロック図、第6図は離
散コサイン変換を行なう場合の第2段階の演算ブロック
30の構成例を示すブロック図である。以下それぞれの各
構成要素の接続状態及びその動作について説明する。
第2段階の演算では、あらかじめ計算しておいた離散
フーリエ変換時の時のマトリックス係数〔Af〕=〔F〕
〔W-1〕(離散コサイン変換時は〔Ac〕=〔C〕
〔W-1〕)と、前記において得られたベクトルデータと
ウォルッシュ変換のマトリックス演算結果との間でマト
リックス演算を行なう。
ここであらかじめ計算されているマトリックス係数
〔Af〕が特殊なものとなって、かなりゼロ係数が増し、
先に第2図を用いて説明したように、2行まとめて演算
することが可能となった場合は、乗算器の数の通常の場
合より半分の数で構成することができる。即ち、各行の
マトリックス演算を行なうために、乗算結果を累積加算
する最終段の累積加算器は各行数分設け、マトリックス
係数はゼロ係数との乗算を行なう組合わせが考えられる
ため、乗算器を2行分に1個の割り合いで設けることで
演算が可能である。以下離散フーリェ変換を行なう場合
の第2段階の演算回路の一例を第5図を用いて説明す
る。
端子C1から、前記第1段階の演算結果が入力され、各
プロセスエレメント31〜34に入力される。各プロセスエ
レメント31〜34では2行分のマトリックス演算を担当す
る。各プロセスエレメント31〜34は、乗算に必要なROM
データの内容が異なるだけで基本的にはその構成及び動
作は同じであるので、ここではプロセスエレメント31を
用いて説明する。図中でダッシュ符号が付しているもの
があるが、ダッシュ符号は、この演算が離散フーリェ変
換であるため、実数部と虚数部とを区別するため虚数部
の演算回路側に付加している。この実数部と虚数部の演
算回路も乗算に必要なROMデータが異なるだけで基本的
な構成及び動作は同一であるので実数部のみの演算回路
について説明する。
ROM312にはあらかじめ計算されたマトリックス係数デ
ータ〔Af〕=〔F〕〔W-1〕が格納されている。端子C1
から入力データが乗算器311に入力されと、同じタイミ
ングでこのROM312に格納されているマトリックス係数デ
ータ〔Af〕=〔F〕〔W-1〕が乗算器311に入力される。
乗算器311の出力は2つの加算器313,314に接続されてお
り、該加算器313,314の出力はそれぞれレジスタ315,316
に接続されている。レジスタ315の一方の出力は加算器3
13の入力に接続され、他の一方はレジスタ317に接続さ
れている。また、レジスタ316の一方の出力は加算器314
の入力に接続され、他の一方はレジスタ318に接続され
ている。つまり、加算器313とレジスタ315及び加算器31
4とレジスタ316はそれぞれ乗算結果を累積加算する累積
加算器を構成している。その累算加算結果は各々レジス
タ317,318に格納されることになる。
乗算器31は2行分の乗算を受け持つことになり、一方
の累積加算器で乗算結果を累積加算するときは、他方は
必ず乗算結果がゼロとなるため累積加算をする必要がな
い。このように乗算結果を累積加算側で加算するかしな
いかを制御することにより、マトリックス演算が可能と
なる。例えば第2図のマトリックス係数がAfである時の
1行目の演算を加算器313で、2行目を加算器314に対応
させるとすると、最初から4個までのデータと係数との
演算結果は、加算器313の方で累積加算を行ない残りの
データ4個と係数との乗算結果は加算器314の方で累積
加算が行なわれる。同様のことが虚数部、他のプロセス
エレメント32〜34でも行なわれる。そしてその演算結果
は端子D3〜D8,D1′〜D8′から出力される。
離散コサイン変換の場合でも、第6図に示したよう
に、第5図と同様の処理が行なわれる。但し、第6図に
示す離散コサイン変換の場合は、実数部のみで第5図に
示したような虚数部演算部は存在しない。
第7図はプロセスエレメント内部を簡略化したものの
構成例を示すブロック図である。第5図,第6図に示す
プロセスエレメントは、ROM312と乗算器311の説明を分
かりやすくするために、別のものとして示したが、実際
は2つの機能をまとめて第7図に示すようにROM乗算器3
11aとして構成することも可能である。また、第5図,
第6図に示すプロセスエレメントでは、プロセスエレメ
ント内の加算器313と加算器314が同時に演算することが
ないので、同一のものを使用する構成になることも可能
であり、第7図においては、加算器313の出力はレジス
タ315とレジスタ316に接続されており、累積加算する時
は累積加算する方のレジスタのデータ出力を選択器319
で選択して演算を行ない、演算結果をレジスタ317に格
納し、出力することによってプロセスエレメントの機能
を果たしている。
〔発明の効果〕
以上説明したように本発明によれば、第1段階の演算
手段においては+1と−1のみの要素を持つウォルシュ
変換を導入したので、入力データ数Nと同じ数の加減算
器によるパイプライン処理が可能となり、第2段階の演
算手段においては離散フーリエ或いはコサイン変換の行
列にゼロである要素が多くN/2行に圧縮できるので、N/2
の乗算器とN個の加算器によるパイプライン処理が可能
となり、全体として従来よりN個の加減算器を増やした
代わりに、パイプライン処理を保ちながら、より大きい
VLSI面積を必要とする乗算器をN/2個減らすことがで
き、よりコンパクトなVLSIが提供できるという優れた効
果が得られる。
【図面の簡単な説明】
第1図は本発明の演算順序を示すブロック図、第2図は
行列〔Af〕及び〔Ac〕を半分に圧縮するための概念図、
第3図は本発明の変換装置の全体構成を示すブロック
図、第4図は第1段階の演算の構成例を示すブロック
図、第5図は離散フーリェ変換を行なう場合の第2段階
の演算の構成例を示すブロック図、第6図は離散コサイ
ン変換を行なう場合の第2段階の演算の構成例を示すブ
ロック図、第7図は簡略化したプロセスエレメントの構
成例を示すブロック図である。 図中、10……第1段階の演算ブロック、20……アウトプ
ットコントローラ、30……第2段階の演算ブロック、40
……アウトプットコントローラ、11〜18……プロセスエ
レメント。

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】N=2n(nは正整数)個のディジタルデー
    タの離散フーリエ又はコサイン変換装置において、 第1段階の演算手段と、第2段階の演算手段を具備し、 前記第1段階の演算手段は加算器を具備し、+1と−1
    のみの要素を持つウォルシュ変換行列〔W〕と入力デー
    タとの積〔Z〕=〔W〕〔X〕を該加算器のみにより計
    算し、 前記第2段階の演算手段は記憶手段と演算手段を具備
    し、離散フーリエ変換行列〔F〕と逆ウォルシュ変換行
    列〔W-1〕(=〔W〕)との積〔Af〕=〔F〕〔W-1〕或
    いは離散コサイン変換行列〔C〕と逆ウォルシュ変換行
    列〔W-1〕との積〔Ac〕=〔C〕〔W-1〕を予め計算し該
    記憶手段に記憶しておき、前記第1段階の演算手段の出
    力〔Z〕と該記憶手段に記憶されている積〔Af〕との積
    〔yf〕=〔Af〕〔Z〕或いは該出力〔Z〕と前記積〔A
    c〕との積〔yc〕=〔Ac〕〔Z〕を該演算手段でマトリ
    ックス演算することを特徴とするディジタルデータの離
    散フーリエ又はコサイン変換装置。
  2. 【請求項2】前記記憶手段に記憶されている積〔Af〕或
    いは積〔Ac〕をゼロでない要素が重ならないようにグル
    ープ分けして前記演出手段でマトリックス演算すること
    を特徴とする請求項(1)に記載のディジタルデータの
    離散フーリエ又はコサイン変換装置。
  3. 【請求項3】前記グループ分けしてマトリックス演算を
    行なう時に、2行部のマトリックス演算に対して1つの
    乗算器を設けその乗算結果を2つの累積加算器に振り分
    けることによって、マトリックス演算を行なうように
    し、該2つの累積加算器に振り分けるタイミングと同一
    で同じ制御信号を使えることを特徴とする請求項(2)
    に記載のディジタルデータの離散フーリエ又はコサイン
    変換装置。
JP15417890A 1990-06-13 1990-06-13 ディジタルデータの離散フーリエ又はコサイン変換装置 Expired - Lifetime JP2869668B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15417890A JP2869668B2 (ja) 1990-06-13 1990-06-13 ディジタルデータの離散フーリエ又はコサイン変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15417890A JP2869668B2 (ja) 1990-06-13 1990-06-13 ディジタルデータの離散フーリエ又はコサイン変換装置

Publications (2)

Publication Number Publication Date
JPH0447454A JPH0447454A (ja) 1992-02-17
JP2869668B2 true JP2869668B2 (ja) 1999-03-10

Family

ID=15578542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15417890A Expired - Lifetime JP2869668B2 (ja) 1990-06-13 1990-06-13 ディジタルデータの離散フーリエ又はコサイン変換装置

Country Status (1)

Country Link
JP (1) JP2869668B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250337B2 (en) * 2006-04-28 2012-08-21 Qualcomm Incorporated Array processor with two parallel processing paths of multipliers and ALUs with idle operation capability controlled by portions of opcode including indication of valid output
US9846677B2 (en) * 2014-09-16 2017-12-19 Qualcomm Incorporated Event-based spatial transformation

Also Published As

Publication number Publication date
JPH0447454A (ja) 1992-02-17

Similar Documents

Publication Publication Date Title
EP1304797A2 (en) Digital filter having high accuracy and efficiency
JPH0235348B2 (ja)
JPH0793294A (ja) 2次元離散コサイン変換装置、2次元逆離散コサイン変換装置およびディジタル信号処理装置
US5270953A (en) Fast convolution multiplier
US5001661A (en) Data processor with combined adaptive LMS and general multiplication functions
US6574649B2 (en) Efficient convolution method and apparatus
JP2870756B2 (ja) 空間フィルタ画像処理装置
TW202020654A (zh) 具有壓縮進位之數位電路
JP2869668B2 (ja) ディジタルデータの離散フーリエ又はコサイン変換装置
JPH04135233A (ja) プログラマブル直列乗算器
EP0037130B1 (en) Arrangement for calculating the discrete fourier transform by means of two circular convolutions
Liao et al. Novel architectures for the lifting-based discrete wavelet transform
JPH10509011A (ja) 改良されたディジタルフィルタ
US5671169A (en) Apparatus for two-dimensional inverse discrete cosine transform
JPH01295365A (ja) デジタル計算用集積回路
Gallagher et al. A novel approach for the computation of Legendre polynomial expansions
JP2529229B2 (ja) コサイン変換装置
KR100193385B1 (ko) 단일화된 시스톨릭어레이 구조에 의한 dct/dst/dht의 수행 방법 및 그 장치
US5999958A (en) Device for computing discrete cosine transform and inverse discrete cosine transform
JP3221076B2 (ja) ディジタルフィルタ設計法
EP0412565B1 (en) A cube root calculation apparatus
KR100189195B1 (ko) 단일화된 시스톨릭어레이 구조에 의한 2차원 dct/dst/dht의 수행장치
JPS61213926A (ja) Dsp演算処理方式
JP2953918B2 (ja) 演算装置
JPS6117415B2 (ja)