JP2677969B2 - 直交変換装置 - Google Patents

直交変換装置

Info

Publication number
JP2677969B2
JP2677969B2 JP6307244A JP30724494A JP2677969B2 JP 2677969 B2 JP2677969 B2 JP 2677969B2 JP 6307244 A JP6307244 A JP 6307244A JP 30724494 A JP30724494 A JP 30724494A JP 2677969 B2 JP2677969 B2 JP 2677969B2
Authority
JP
Japan
Prior art keywords
input
register
output
multiplexer
bit
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
JP6307244A
Other languages
English (en)
Other versions
JPH07234864A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP6307244A priority Critical patent/JP2677969B2/ja
Priority to US08/364,037 priority patent/US5477478A/en
Publication of JPH07234864A publication Critical patent/JPH07234864A/ja
Application granted granted Critical
Publication of JP2677969B2 publication Critical patent/JP2677969B2/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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、離散フーリエ変換(di
screte Fourier transform:略してDFT)、離散コサ
イン変換(discrete cosine transform :略してDC
T)などの直交変換の手法を用いて、時間領域の信号を
周波数領域の信号にあるいはその逆に変換するための直
交変換装置に関するものである。
【0002】
【従来の技術】近年、画像情報、音声情報などの高能率
圧縮符号化方式の重要な一部分として、直交変換を実現
する小規模かつ高速な回路が要求されている。符号器で
は順方向の直交変換が、復号器では逆方向の直交変換が
要求される。米国特許4,791,598(及びその対
応日本出願に係る特公平5−26229)には直交変換
装置の1つである1次元DCTプロセッサの内部構成が
示されている。この1次元DCTプロセッサは、第1段
の周波数間引き(decimation-in-frequency )の技術
と、乗算器を用いずにベクトル内積を求めるための分布
演算(distributedarithmetic)の技術とを用いたもの
である。なお、周波数間引きの技術は、DFTの高速ア
ルゴリズムである高速フーリエ変換(fast Fourier tra
nsform:略してFFT)において所要の乗算回数を低減
するための周知の技術である。
【0003】詳細には、上記米国特許4,791,59
8の(N×1)DCTプロセッサは、次のような入力シ
フトレジスタと保持レジスタ(holding register)とを
備えている。すなわち、入力シフトレジスタは、N×N
ワード(Mビット/ワード)のデータからなる1ブロッ
クのうちの1行又は1列からなる入力ベクトルを構成す
るNワードのデータを順次入力するように、互いに縦続
接続されたN個の入力レジスタ(各々Mビット幅)で構
成されたものである。保持レジスタは、入力シフトレジ
スタのN個の入力レジスタの全てがデータで満たされる
毎に該入力シフトレジスタから前記Nワードのデータを
並列に受け取るように、各々入力シフトレジスタのN個
の入力レジスタのうちの対応する入力レジスタに接続さ
れた入力を有し、かつ1サイクルに1ビットずつをNビ
ットのビットスライスワードの一部としてシフトアウト
するための出力を有するN個のビットシフトレジスタ
(各々Mビット幅)で構成されたものである。これらの
入力シフトレジスタと保持レジスタとは、2×N×Mビ
ットの規模のビット列配布回路を構成する。
【0004】上記米国特許4,791,598の(N×
1)DCTプロセッサは、次のようなバタフライ演算器
とROM/累算回路とを更に備えている。すなわち、バ
タフライ演算器は、第1段の周波数間引き演算を実行す
るために、前記保持レジスタから受け取ったNビットの
ビットスライスワードから一対のN/2ビットのワード
を作り出すように該保持レジスタの出力に接続されたN
/2個のシリアル加算器とN/2個のシリアル減算器と
で構成されたものである。例えば、8個のデータからな
るデータ列x1、x2、x3、x4、x5、x6、x
7、x8に対して、x1+x8、x1−x8、x2+x
7、x2−x7、x3+x6、x3−x6、x4+x
5、x4−x5のバタフライ演算が実行される。ROM
/累算回路は、バタフライ演算器の出力に接続されたN
個のROM/累算器(ROM and accumulator :略してR
AC)で構成されたものである。該N個のRACの各々
は、離散コサイン行列に基づくベクトル内積の部分和を
ルックアップテーブルの形式で記憶した少なくとも1個
のROMと、前記ビットスライスワードをアドレスとし
て前記ROMから順次索引された部分和を桁合わせ加算
して前記入力ベクトルに対応する各々1個のベクトル内
積を得るための累算器とを有する。ROM/累算回路
は、乗算器を用いずにN個のベクトル内積を同時に計算
するための分布演算回路を構成する。
【0005】上記米国特許4,791,598の(N×
1)DCTプロセッサは、次のような出力シフトレジス
タを更に備えている。すなわち、該出力シフトレジスタ
は、前記ROM/累算回路からN個のベクトル内積を並
列に受け取るように各々前記N個のRACのうちの対応
するRACの累算器に接続され、かつ該受け取ったN個
のベクトル内積を順次出力するように互いに縦続接続さ
れたN個の出力レジスタで構成されたものである。
【0006】
【発明が解決しようとする課題】上記のとおり、従来の
DCTプロセッサは多数のレジスタを備えた大規模な回
路構成であった。このため、集積化されたプロセッサの
チップ面積が大きくなる問題があった。
【0007】本発明の目的は、従来より小規模の直交変
換装置を提供することにある。
【0008】
【課題を解決するための手段】上記目的を達成するた
め、本発明の直交変換装置では、順方向直交変換の場合
には第1のメモリからのデータ読み出しをx8、x1、
x7、x2、x6、x3、x5、x4の順序で行うよう
に第1のアドレス発生器がはたらき、このようにして得
られたデータ列がバタフライ演算器に供給される。これ
により、順方向直交変換の周波数間引き演算のために必
要なレジスタの数が削減される。
【0009】また、本発明の直交変換装置では、例えば
16ビットパラレル入力と2ビットシフト出力とを持ち
各々ビット幅が異なっている8個のレジスタからなるレ
ジスタ回路をビット列配布回路として採用する。これに
より、従来はビット列配布回路が2×8×16ビットの
規模であったのに対して、ビット列配布回路が8×16
+(14+12+...+2)ビットの規模に削減され
る。
【0010】更に、本発明の直交変換装置では、例えば
ROM/累算回路の8個のRACに1サイクル毎ずらし
てビット列を入力することにより最終累算結果が逆方向
直交変換の場合にF8、F1、F7、F2、F6、F
3、F5、F4の順序で順次出力されるように、ビット
列配布回路とROM/累算回路との間に複数のシフトレ
ジスタを設ける。このようにして得られた逆方向直交変
換の場合のデータ列は、バタフライ演算器に供給され
る。これにより、逆方向直交変換の周波数間引き演算の
ために必要なレジスタの数が削減される。
【0011】また、本発明のバタフライ演算器は、3個
のレジスタと、1個のマルチプレクサと、1個の並列加
算器とで構成された小規模なものである。
【0012】
【作用】本発明の双方向直交変換器によれば、第1のア
ドレス発生器により第1のメモリから2次元データの1
行又は1列を適切な順序でデータ列として読み出し、該
読み出されたデータ列に対してバタフライ演算器が加算
と減算を交互に行うことによって周波数間引き演算を行
い、バタフライ演算器の加算結果を第1のレジスタ回路
でP個のビット列にまとめ、バタフライ演算器の減算結
果を第2のレジスタ回路でP個のビット列にまとめ、該
第1のレジスタ回路と第2のレジスタ回路から出力され
るビット列に対応してROM/累算回路で部分積を累算
し、該ROM/累算回路から最終累算結果が1サイクル
毎に適切な順序で出力され、該ROM/累算回路の出力
をN入力マルチプレクサが適切な順序で選択し、第2の
アドレス発生器により最終累算結果が第2のメモリに格
納され、以上の動作を複数行分又は複数列分行うことに
より順方向の直交変換を実現する。
【0013】また、本発明の双方向直交変換器によれ
ば、第1のアドレス発生器により第1のメモリから2次
元データの1行又は1列を適切な順序でデータ列として
読み出し、該読み出されたデータ列の半分を第1のレジ
スタ回路でP個のビット列にまとめ、前記読み出された
データ列の他の半分を第2のレジスタ回路でP個のビッ
ト列にまとめ、該第1のレジスタ回路と第2のレジスタ
回路から出力されるビット列に対応してROM/累算回
路で部分積を累算し、該ROM/累算回路から最終累算
結果が1サイクル毎に適切な順序で出力され、該ROM
/累算回路の出力をN入力マルチプレクサが適切な順序
で選択し、該N入力マルチプレクサの出力に対してバタ
フライ演算器が加算と減算を交互に行うことによって周
波数間引き演算を行い、該バタフライ演算器の出力が第
2のアドレス発生器により第2のメモリに格納され、以
上の動作を複数行分又は複数列分行うことにより逆方向
の直交変換を実現する。
【0014】また、本発明のバタフライ演算器によれ
ば、Nを偶数とするとき、データ列x(N)、x
(1)、x(N−1)、x(2)、...x(N/2+
1)、x(N/2)を第1と第2のレジスタに入力し、
第1のレジスタがx(1)、x(2)、...x(N/
2)を取り込み、第2のレジスタがx(N)、x(N−
1)、...x(N/2+1)を取り込み、マルチプレ
クサは、第2のレジスタから出力されたx(N)、x
(N−1)、...x(N/2+1)の正の値と負の値
を交互に選択し、並列加算器の第1入力に第1のレジス
タからx(1)、x(1)、x(2)、x
(2)、...x(N/2)、x(N/2)を入力し、
並列加算器の第2入力に第3のレジスタからx(N)、
!x(N)、x(N−1)、!x(N−1)...x
(N/2+1)、!x(N/2+1)を入力し、該並列
加算器がx(1)+x(N)、x(1)−x(N)、x
(2)+x(N−1)、x(2)−x(N−
1)、...x(N/2)+x(N/2+1)、x(N
/2)−x(N/2+1)を出力する。ここに、!x
(N)はx(N)の反転データを意味するものである。
【0015】
【実施例】以下、本発明の実施例に係る1次元DCTプ
ロセッサについて、図面を参照しながら説明する。
【0016】(実施例1)まず、本発明の第1の実施例
に係る双方向DCTプロセッサの構成について、図1〜
図4に基づき説明する。
【0017】図1に示す双方向DCTプロセッサにおい
て、10は8×8ワードの16ビット幅のメモリであ
り、20はアドレス発生器であり、30は16ビット幅
のパイプラインレジスタであり、40は16ビット幅の
第1と第2入力と出力を持つマルチプレクサであり、3
00は16ビット幅の入力と34ビット幅の出力を持つ
積和演算器であり、190は34ビット幅のパイプライ
ンレジスタであり、50は16ビット幅の第1入力と3
4ビット幅の第2入力と34ビット幅の出力を持つマル
チプレクサであり、60は34ビット幅の入力と16ビ
ット幅の出力を持つバタフライ演算器であり、66は1
6ビット幅のパイプラインレジスタであり、200は3
4ビットの第1入力と16ビットの第2入力と16ビッ
トの出力を持つマルチプレクサであり、210は16ビ
ット幅のパイプラインレジスタであり、220は8×8
ワードの16ビット幅のメモリであり、230はアドレ
ス発生器である。
【0018】図2に示す積和演算器300において、7
1は30ビット幅のビットシフトレジスタであり、72
は26ビット幅のビットシフトレジスタであり、73は
22ビット幅のビットシフトレジスタであり、74は1
8ビット幅のビットシフトレジスタであり、81は28
ビット幅のビットシフトレジスタであり、82は24ビ
ット幅のビットシフトレジスタであり、83は20ビッ
ト幅のビットシフトレジスタであり、84は16ビット
幅のビットシフトレジスタであり、70は前記ビットシ
フトレジスタ71〜74からなるレジスタ回路であり、
80は前記ビットシフトレジスタ81〜84からなるレ
ジスタ回路であり、前記レジスタ回路70の各ビットシ
フトレジスタはLSBからMSBの順序で2ビットづつ
シフト出力し、前記レジスタ回路80の各ビットシフト
レジスタはLSBからMSBの順序で2ビットづつシフ
ト出力し、90は4ビット幅のバスであり、100は4
ビット幅のバスであり、110は4ビット幅のバスであ
り、120は4ビット幅のバスであり、前記レジスタ回
路70の全レジスタの上位ビット出力(上位ビットスラ
イスワード)を前記バス90にまとめ、前記レジスタ回
路70の全レジスタの下位ビット出力(下位ビットスラ
イスワード)を前記バス110にまとめ、前記レジスタ
回路80の全レジスタの上位ビット出力(上位ビットス
ライスワード)を前記バス100にまとめ、前記レジス
タ回路80の全レジスタの下位ビット出力(下位ビット
スライスワード)を前記バス120にまとめ、130は
7つの4ビット幅を持つレジスタ131〜137からな
るシフトレジスタであり、150は7つの4ビット幅を
持つレジスタ151〜157からなるシフトレジスタで
あり、140は6つの4ビット幅を持つレジスタ141
〜146からなるシフトレジスタであり、160は6つ
の4ビット幅を持つレジスタ161〜166からなるシ
フトレジスタであり、170は分布演算による双方向D
CTの部分積を累算するための8個の4ビット幅の第1
と第2入力と34ビット幅の出力を持つROM/累算器
(RAC)171〜178からなるROM/累算回路で
あり、180は34ビット幅の第1〜第8入力と出力を
持つマルチプレクサである。
【0019】図3に示すRAC171において、311
は正出力と負出力を持ち前記シフトレジスタ130から
の上位ビットスライスワードを4ビット幅のアドレスと
して入力するROMであり、312は16ビット幅の第
1と第2入力と出力を持つマルチプレクサであり、31
3は前記シフトレジスタ150からの下位ビットスライ
スワードを4ビット幅のアドレスとして入力するROM
であり、314は16ビット幅の第1と第2入力と34
ビット幅の第3入力と34ビット幅の出力を持つ並列加
算器であり、315は34ビット幅のシフトレジスタで
あり、316は該シフトレジスタ315のための初期値
設定器である。ROM311及びROM313は、各々
順方向DCT及び逆方向DCTのための離散コサイン行
列に基づくベクトル内積の部分和をルックアップテーブ
ルの形式で記憶している。マルチプレクサ312は、2
の補数演算を行うため最後のMSBのビットスライスを
減算するように、ROM311の出力を選択する。並列
加算器314及びシフトレジスタ315は、ROM31
1及びROM313から索引された部分和を桁合わせ加
算するための累算器を構成する。
【0020】図4に示すバタフライ演算器60におい
て、61は34ビット幅のレジスタであり、62は正出
力と負出力を持つ34ビット幅のレジスタであり、63
は34ビット幅の第1と第2入力と出力を持つマルチプ
レクサであり、64は34ビット幅のレジスタであり、
65は34ビット幅の第1と第2入力と16ビット幅の
出力を持つ並列加算器である。
【0021】次に、図5〜図7に基づき、図1に示す双
方向DCTプロセッサの順方向DCTの動作を説明す
る。順方向DCTの場合には、マルチプレクサ40はパ
イプラインレジスタ66の出力を、マルチプレクサ50
はパイプラインレジスタ30の出力を、マルチプレクサ
200はパイプラインレジスタ190の出力を各々選択
する。
【0022】まず、アドレス発生器20によりメモリ1
0からデータ列x1〜x8がx8、x1、x7、x2、
x6、x3、x5、x4の順序で1サイクル毎に読み出
され、該メモリ20の出力がパイプラインレジスタ30
に入力される(図5(a))。このパイプラインレジス
タ30の出力がマルチプレクサ50に選択され、該マル
チプレクサ50からデータ列x1〜x8がx8、x1、
x7、x2、x6、x3、x5、x4の順序で1サイク
ル毎に出力され、バタフライ演算器60の中のレジスタ
62にデータ列x5〜x8がx8、x7、x6、x5の
順序で2サイクル毎に格納される(図5(b))。ま
た、バタフライ演算器60の中のレジスタ61にデータ
列x1〜x4がx1、x2、x3、x4の順序で2サイ
クル毎に格納される(図5(c))。
【0023】更にバタフライ演算器60の中では、レジ
スタ62の正出力からデータ列x5〜x8がx8、x
7、x6、x5の順序で2サイクル毎に出力され、レジ
スタ62の負出力からデータ列x5〜x8の反転データ
列!x5〜!x8が!x8、!x7、!x6、!x5の
順序で2サイクル毎に出力され、マルチプレクサ63に
よりデータ列x5〜x8とデータ列!x5〜!x8がx
8、!x8、x7、!x7、x6、!x6、x5、!x
5の順序でレジスタ62の正出力と負出力を交互に選択
され、レジスタ64にマルチプレクサ63の出力が格納
される(図5(d))。並列加算器65がレジスタ61
とレジスタ64の出力を加算することによりデータx1
+x8、x1−x8、x2+x7、x2−x7、x3+
x6、x3−x6、x4+x5、x4−x5が1サイク
ル毎に出力され、パイプラインレジスタ66に並列加算
器65の出力が格納される(図5(e))。
【0024】そして、パイプラインレジスタ66からデ
ータx1+x8、x1−x8、x2+x7、x2−x
7、x3+x6、x3−x6、x4+x5、x4−x5
が出力され、マルチプレクサ40によりパイプラインレ
ジスタ66の出力が選択され、積和演算器300の中の
レジスタ71にデータx1+x8が入力され、レジスタ
81にデータx1−x8が入力され、レジスタ72にデ
ータx2+x7が入力され、レジスタ82にデータx2
−x7が入力され、レジスタ73にデータx3+x6が
入力され、レジスタ83にデータx3−x6が入力さ
れ、レジスタ74にデータx4+x5が入力され、レジ
スタ84にデータx4−x5が入力されることによりデ
ータx1+x8、x2+x7、x3+x6、x4+x5
がレジスタ回路70に格納され(図5(f))、データ
x1−x8、x2−x7、x3−x6、x4−x5がレ
ジスタ回路80に格納される(図5(g))。この際、
レジスタ回路70及びレジスタ回路80を構成する8個
のレジスタ71〜74,81〜84のうちのビット幅の
長いレジスタから順にデータが左詰めで入力され、かつ
該8個のレジスタは各々LSBからMSBの順序で1サ
イクルに2ビット毎シフトアウトするので、16ビット
幅のレジスタ84が16ビットのデータx4−x5で満
たされた時点では他のレジスタ71〜74,81〜83
の中のデータはいずれも右詰めになっており、次のサイ
クルで全てのレジスタ71〜74,81〜84から同時
に2ビットづつシフトアウトされることとなる。また、
30ビット幅のレジスタ71から16ビットのデータx
1+x8のうちの2ビットがシフトアウトされた時点で
該レジスタ71に16ビット幅のブランクができるの
で、該ブランクへ直ちに次のデータ列に由来するデータ
x1+x8を書き込むことができる。
【0025】更に積和演算器300の中では、データx
1+x8、x2+x7、x3+x6、x4+x5を保持
しているレジスタ回路70のビットシフトレジスタ71
〜74から1サイクル毎に順次シフトアウトされる最下
位2ビットのうちの上位ビットはバス90に上位ビット
スライスデータ列a1、a3、...a13、a15と
して出力され、該2ビットのうちの下位ビットはバス1
10に下位ビットスライスデータ列a2、a4、...
a14、a16として出力され、データx1−x8、x
2−x7、x3−x6、x4−x5を保持しているレジ
スタ回路80のビットシフトレジスタ81〜84から1
サイクル毎に順次シフトアウトされる最下位2ビットの
うちの上位ビットはバス110に上位ビットスライスデ
ータ列b1、b3、...b13、b15として出力さ
れ、該2ビットのうちの下位ビットはバス120に下位
ビットスライスデータ列b2、b4、...b14、b
16として出力され、レジスタ回路70から出力される
データ列a1、a3、...a13、a15がシフトレ
ジスタ130に入力され(図6(a))、レジスタ回路
70から出力されるデータ列a2、a4、...a1
4、a16がシフトレジスタ150に入力され(図6
(b))、レジスタ回路80から出力されるデータ列b
1、b3、...b13、b15がシフトレジスタ14
0に入力され(図6(c))、レジスタ回路80から出
力されるデータ列b2、b4、...b14、b16が
シフトレジスタ160に入力される(図6(d))。シ
フトレジスタ130に入力されたデータ列a1、a
3、...a13、a15の各データは、1サイクル後
にRAC171の第1入力に入力され、3サイクル後に
RAC172の第1入力に入力され、5サイクル後にR
AC173の第1入力に入力され、7サイクル後にRA
C174の第1入力に入力される。シフトレジスタ15
0に入力されたデータ列a2、a4、...a14、a
16の各データは、1サイクル後にRAC171の第2
入力に入力され、3サイクル後にRAC172の第2入
力に入力され、5サイクル後にRAC173の第2入力
に入力され、7サイクル後にRAC174の第2入力に
入力される。シフトレジスタ140に入力されたデータ
列b1、b3、...b13、b15の各データは、0
サイクル後にRAC175の第1入力に入力され、2サ
イクル後にRAC176の第1入力に入力され、4サイ
クル後にRAC177の第1入力に入力され、6サイク
ル後にRAC178の第1入力に入力される。シフトレ
ジスタ160に入力されたデータ列b2、b4、...
b14、b16の各データは、0サイクル後にRAC1
75の第2入力に入力され、2サイクル後にRAC17
6の第2入力に入力され、4サイクル後にRAC177
の第2入力に入力され、6サイクル後にRAC178の
第2入力に入力される。ROM/累算回路170のRA
C171〜174は、1サイクル毎にデータ列a1、a
3、...a13、a15とデータ列a2、a
4、...a14、a16とに対応している部分積を8
サイクルの期間で累算する。ROM/累算回路170の
RAC175〜178は、1サイクル毎にデータ列b
1、b3、...b13、b15とデータ列b2、b
4、...b14、b16とに対応している部分積を8
サイクルの期間で累算する。この結果、ROM/累算回
路170からRAC175、171、176、172、
177、173、178、174の順序で最終累算結果
X1、X2、X3、X4、X5、X6、X7、X8が1
サイクル毎に出力され、マルチプレクサ180がデータ
X1、X2、X3、X4、X5、X6、X7、X8を1
サイクル毎に選択し、パイプラインレジスタ190にマ
ルチプレクサ180の出力が入力される(図7
(a))。
【0026】そして、マルチプレクサ200はパイプラ
インレジスタ190の出力を選択し、次段のパイプライ
ンレジスタ210にマルチプレクサ200の出力が入力
される(図7(b))。つまり、メモリ220にデータ
X1、X2、X3、X4、X5、X6、X7、X8が1
サイクル毎に入力され、データX1、X2、X3、X
4、X5、X6、X7、X8がメモリ220の中の連続
アドレスに格納されるようにアドレス発生器230から
アドレスが発生される。
【0027】以上の動作を8行分パイプライン的に行う
ことにより、順方向の1次元DCTを実現する。
【0028】次に、図8〜図10に基づき、図1に示す
双方向DCTプロセッサの逆方向DCTの動作を説明す
る。逆方向DCTの場合には、マルチプレクサ40はパ
イプラインレジスタ30の出力を、マルチプレクサ50
はパイプラインレジスタ190の出力を、マルチプレク
サ200はパイプラインレジスタ66の出力を各々選択
する。
【0029】まず、アドレス発生器20によりメモリ1
0からデータ列X1〜X8がX1、X2、X3、X4、
X5、X6、X7、X8の順序で1サイクル毎に読み出
され、該メモリ10の出力がパイプラインレジスタ30
に入力される(図8(a))。このパイプラインレジス
タ30からデータX1、X2、X3、X4、X5、X
6、X7、X8が出力され、マルチプレクサ40により
該パイプラインレジスタ30の出力が選択され、積和演
算器300の中のレジスタ71にデータX1が入力さ
れ、レジスタ81にデータX2が入力され、レジスタ7
2にデータX3が入力され、レジスタ82にデータX4
が入力され、レジスタ73にデータX5が入力され、レ
ジスタ83にデータX6が入力され、レジスタ74にデ
ータX7が入力され、レジスタ84にデータX8が入力
されることによりデータX1、X3、X5、X7がレジ
スタ回路70に格納され(図8(b))、データX2、
X4、X6、X8がレジスタ回路80に格納される(図
8(c))。
【0030】更に積和演算器300の中では、データX
1、X3、X5、X7を保持しているレジスタ回路70
のビットシフトレジスタ71〜74から1サイクル毎に
順次シフトアウトされる最下位2ビットのうちの上位ビ
ットはバス90に上位ビットスライスデータ列A1、A
3、...A13、A15として出力され、該2ビット
のうちの下位ビットはバス110に下位ビットスライス
データ列A2、A4、...A14、A16として出力
され、データX2、X4、X6、X8を保持しているレ
ジスタ回路80のビットシフトレジスタ81〜84から
1サイクル毎に順次シフトアウトされる最下位2ビット
のうちの上位ビットはバス110に上位ビットスライス
データ列B1、B3、...B13、B15として出力
され、該2ビットのうちの下位ビットはバス120に下
位ビットスライスデータ列B2、B4、...B14、
B16として出力され、レジスタ回路70から出力され
るデータ列A1、A3、...A13、A15がシフト
レジスタ130に入力され(図9(a))、レジスタ回
路70から出力されるデータ列A2、A4、...A1
4、A16がシフトレジスタ150に入力され(図9
(b))、レジスタ回路80から出力されるデータ列B
1、B3、...B13、B15がシフトレジスタ14
0に入力され(図9(c))、レジスタ回路80から出
力されるデータ列B2、B4、...B14、B16が
シフトレジスタ160に入力される(図9(d))。シ
フトレジスタ130に入力されたデータ列A1、A
3、...A13、A15の各データは、1サイクル後
にRAC171の第1入力に入力され、3サイクル後に
RAC172の第1入力に入力され、5サイクル後にR
AC173の第1入力に入力され、7サイクル後にRA
C174の第1入力に入力される。シフトレジスタ15
0に入力されたデータ列A2、A4、...A14、A
16の各データは、1サイクル後にRAC171の第2
入力に入力され、3サイクル後にRAC172の第2入
力に入力され、5サイクル後にRAC173の第2入力
に入力され、7サイクル後にRAC174の第2入力に
入力される。シフトレジスタ140に入力されたデータ
列B1、B3、...B13、B15の各データは、0
サイクル後にRAC175の第1入力に入力され、2サ
イクル後にRAC176の第1入力に入力され、4サイ
クル後にRAC177の第1入力に入力され、6サイク
ル後にRAC178の第1入力に入力される。シフトレ
ジスタ160に入力されたデータ列B2、B4、...
B14、B16の各データは、0サイクル後にRAC1
75の第2入力に入力され、2サイクル後にRAC17
6の第2入力に入力され、4サイクル後にRAC177
の第2入力に入力され、6サイクル後にRAC178の
第2入力に入力される。ROM/累算回路170のRA
C171〜174は、1サイクル毎にデータ列A1、A
3、...A13、A15とデータ列A2、A
4、...A14、A16とに対応している部分積を8
サイクルの期間で累算する。ROM/累算回路170の
RAC175〜178は、1サイクル毎にデータ列B
1、B3、...B13、B15とデータ列B2、B
4、...B14、B16とに対応している部分積を8
サイクルの期間で累算する。この結果、ROM/累算回
路170からRAC175、171、176、172、
177、173、178、174の順序で最終累算結果
F2、F1、F4、F3、F6、F5、F8、F7が1
サイクル毎に出力され、マルチプレクサ180がデータ
F2、F1、F4、F3、F6、F5、F8、F7を1
サイクル毎に選択し、パイプラインレジスタ190にマ
ルチプレクサ180の出力が入力される(図10
(a))。
【0031】パイプラインレジスタ190の出力はマル
チプレクサ50に選択され、該マルチプレクサ50から
データ列F1〜F8がF2、F1、F4、F3、F6、
F5、F8、F7の順序で1サイクル毎に出力され、バ
タフライ演算器60の中のレジスタ62にデータF2、
F4、F6、F8が2サイクル毎に格納される(図10
(b))。また、バタフライ演算器60の中のレジスタ
61にデータF1、F3、F5、F7が2サイクル毎に
格納される(図10(c))。
【0032】更にバタフライ演算器60の中では、レジ
スタ62の正出力からデータ列F2、F4、F6、F8
が2サイクル毎に出力され、レジスタ62の負出力から
データ列F2、F4、F6、F8の反転データ列!F
2、!F4、!F6、!F8がこの順序で2サイクル毎
に出力され、マルチプレクサ63によりデータ列F2、
F4、F6、F8とデータ列!F2、!F4、!F6、
!F8が!F2、F2、!F4、F4、!F6、F6、
!F8、F8の順序でレジスタ62の正出力と負出力を
交互に選択され、レジスタ64にマルチプレクサ63の
出力が格納される(図10(d))。並列加算器65が
レジスタ61とレジスタ64の出力を加算することによ
りデータx8=F1−F2、x1=F1+F2、x7=
F3−F4、x2=F3+F4、x6=F5−F6、x
3=F5+F6、x5=F7−F8、x4=F7+F8
が1サイクル毎に出力され、パイプラインレジスタ66
に並列加算器65の出力が格納される(図10
(e))。
【0033】そして、マルチプレクサ200はパイプラ
インレジスタ66の出力を選択し、次段のパイプライン
レジスタ210にマルチプレクサ200の出力が入力さ
れる(図10(f))。つまり、メモリ220にデータ
x8、x1、x7、x2、x6、x3、x5、x4が1
サイクル毎に入力され、データx1、x2、x3、x
4、x5、x6、x7、x8がメモリ220の中の連続
アドレスに格納されるようにアドレス発生器230から
アドレスが発生される。
【0034】以上の動作を8行分パイプライン的に行う
ことにより、逆方向の1次元DCTを実現する。
【0035】(実施例2)本発明の第2の実施例に係る
順方向DCTプロセッサは、図11に示すように、図1
の構成から3個のパイプラインレジスタ30,66,1
90と3個のマルチプレクサ40,50,200とを取
り除き、メモリ10の出力をバタフライ演算器60の入
力に直結し、該バタフライ演算器60の出力を積和演算
器300の入力に直結し、かつ該積和演算器300の出
力をパイプラインレジスタ210に直結したものであ
る。ただし、本実施例では順方向DCTの演算精度に適
したビット幅が採用され、バタフライ演算器60の入力
は16ビット幅であり、積和演算器300の出力も16
ビット幅となっている。ROM/累算回路170には、
順方向DCTのみのためのベクトル内積の部分和を格納
している。
【0036】図11の順方向DCTプロセッサの動作
は、図1の双方向DCTプロセッサに関する前述の順方
向DCTの動作説明から明らかであろう。
【0037】(実施例3)本発明の第3の実施例に係る
逆方向DCTプロセッサは、図12に示すように、図1
の構成から3個のパイプラインレジスタ30,66,1
90と3個のマルチプレクサ40,50,200とを取
り除き、メモリ10の出力を積和演算器300の入力に
直結し、該積和演算器300の出力をバタフライ演算器
60の入力に直結し、かつ該バタフライ演算器60の出
力をパイプラインレジスタ210に直結したものであ
る。積和演算器300の出力及びバタフライ演算器60
の入力は、いずれも34ビット幅である。ROM/累算
回路170には、逆方向DCTのみのためのベクトル内
積の部分和を格納している。
【0038】図12の逆方向DCTプロセッサの動作
は、図1の双方向DCTプロセッサに関する前述の逆方
向DCTの動作説明から明らかであろう。
【0039】なお、上記各実施例ではDCTに話題を限
定したが、本発明は他の直交変換にも適用可能である。
【0040】
【発明の効果】以上説明してきたとおり、本発明によれ
ば、小規模の順方向、逆方向及び双方向の直交変換装置
の実現が可能となり、集積化された直交変換装置のチッ
プ面積が小さくなる本発明の実用的効果は大きい。
【0041】また、本発明のバタフライ演算器によれ
ば、入力データの並べ替えをせずに小規模回路でバタフ
ライ演算を実行できる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係る双方向DCTプロ
セッサの構成を示すブロック図である。
【図2】図1中の積和演算器の内部構成を示すブロック
図である。
【図3】図2中の1つのROM/累算器の内部構成を示
すブロック図である。
【図4】図1中のバタフライ演算器の内部構成を示すブ
ロック図である。
【図5】図1の双方向DCTプロセッサの順方向動作の
第1のタイミング図である。
【図6】図1の双方向DCTプロセッサの順方向動作の
第2のタイミング図である。
【図7】図1の双方向DCTプロセッサの順方向動作の
第3のタイミング図である。
【図8】図1の双方向DCTプロセッサの逆方向動作の
第1のタイミング図である。
【図9】図1の双方向DCTプロセッサの逆方向動作の
第2のタイミング図である。
【図10】図1の双方向DCTプロセッサの逆方向動作
の第3のタイミング図である。
【図11】本発明の第2の実施例に係る順方向DCTプ
ロセッサの構成を示すブロック図である。
【図12】本発明の第3の実施例に係る逆方向DCTプ
ロセッサの構成を示すブロック図である。
【符号の説明】
10 メモリ(第1のメモリ) 20 アドレス発生器(第1のアドレス発生器) 30 パイプラインレジスタ 40 マルチプレクサ(第1のマルチプレクサ) 50 マルチプレクサ(第2のマルチプレクサ) 60 バタフライ演算器 61 レジスタ(第1のレジスタ) 62 レジスタ(第2のレジスタ) 63 マルチプレクサ 64 レジスタ(第3のレジスタ) 65 並列加算器 66 パイプラインレジスタ 70 レジスタ回路(第1のレジスタ回路) 71〜74 ビットシフトレジスタ 80 レジスタ回路(第2のレジスタ回路) 81〜84 ビットシフトレジスタ 90 バス(第1のバス) 100 バス(第2のバス) 110 バス(第3のバス) 120 バス(第4のバス) 130 シフトレジスタ(第1のシフトレジスタ) 131〜137 レジスタ 140 シフトレジスタ(第2のシフトレジスタ) 141〜146 レジスタ 150 シフトレジスタ(第3のシフトレジスタ) 151〜157 レジスタ 160 シフトレジスタ(第4のシフトレジスタ) 161〜166 レジスタ 170 ROM/累算回路 171〜178 ROM/累算器(RAC) 180 マルチプレクサ(N入力マルチプレクサ) 190 パイプラインレジスタ 200 マルチプレクサ(第3のマルチプレクサ) 210 パイプラインレジスタ 220 メモリ(第2のメモリ) 230 アドレス発生器(第2のアドレス発生器) 300 積和演算器 311 ROM 312 マルチプレクサ 313 ROM 314 並列加算器 315 シフトレジスタ 316 初期値設定器

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 2次元の要素データを保持する第1のメ
    モリを有し、 第1のアドレス発生器を有し、前記第1のアドレス発生
    器のアドレス出力を前記第1のメモリのアドレス入力に
    接続し、 バタフライ演算器と、2入力の第1と第2のマルチプレ
    クサとを有し、前記第1のメモリの出力を前記第1のマ
    ルチプレクサの第1入力と前記第2のマルチプレクサの
    第1入力に接続し、前記第2のマルチプレクサの出力を
    前記バタフライ演算器の入力に接続し、前記バタフライ
    演算器の出力を前記第1のマルチプレクサの第2入力に
    接続し、 各々LSBからMSBの順序でP(Pは整数)ビットづ
    つシフトアウトしかつ互いに幅が異なるN/2個(Nは
    偶数)のビットシフトレジスタからそれぞれなる第1と
    第2のレジスタ回路を有し、前記第1のマルチプレクサ
    の出力を前記第1のレジスタ回路と前記第2のレジスタ
    回路の各ビットシフトレジスタの入力に接続し、 第1から第2Pのバスを有し、前記第1のレジスタ回路
    の全レジスタのPビット出力を前記第1、第3、...
    第2P−1のバスにまとめ、前記第2のレジスタ回路の
    全レジスタのPビット出力を前記第2、第4、...第
    2Pのバスにまとめ、 各々N−1個の同じビット幅を持つレジスタからなる第
    1、第3、...第2P−1のシフトレジスタを有し、
    各々N−2個の同じビット幅を持つレジスタからなる第
    2、第4、...第2Pのシフトレジスタを有し、前記
    第1、第3、...第2P−1のバスを前記第1、第
    3、...第2P−1のシフトレジスタの入力に接続
    し、前記第2、第4、...第2Pのバスを前記第2、
    第4、...第2Pのシフトレジスタの入力に接続し、 分布演算による直交変換の部分積を累算するためのN個
    のROM/累算器からなるP入力のROM/累算回路を
    有し、前記第1、第3、...第2P−1のシフトレジ
    スタの1番、3番、...N−1番目のレジスタの1番
    目からP番目の出力を前記ROM/累算回路の1番、2
    番、...N/2番目のROM/累算器の1番目からP
    番目の入力に接続し、前記第2、第4、...第2Pの
    バスを前記ROM/累算回路のN/2+1番目のROM
    /累算器の入力に接続し、前記第2、第4、...第2
    Pのシフトレジスタの2番、4番、...N−2番目の
    レジスタの1番目からP番目の出力を前記ROM/累算
    回路のN/2+2番、N/2+3番、...N番目のR
    OM/累算器の1番目からP番目の入力に接続し、 N入力マルチプレクサを有し、前記ROM/累算回路の
    出力を前記N入力マルチプレクサのN個の入力に接続
    し、 第3のマルチプレクサを有し、前記N入力マルチプレク
    サの出力を前記第2のマルチプレクサの第2入力と前記
    第3のマルチプレクサの第1入力に接続し、前記バタフ
    ライ演算器の出力を前記第3のマルチプレクサの第2入
    力に接続し、 2次元の要素データを保持する第2のメモリを有し、前
    記第3のマルチプレクサの出力を前記第2のメモリの入
    力に接続し、 第2のアドレス発生器を有し、前記第2のアドレス発生
    器のアドレス出力を前記第2のメモリのアドレス入力に
    接続したことを特徴とする双方向の直交変換装置。
  2. 【請求項2】 請求項1記載の双方向直交変換装置の構
    成から前記第1と第2と第3のマルチプレクサを取り除
    き、 前記第1のメモリの出力を前記バタフライ演算器の入力
    に接続し、前記バタフライ演算器の出力を前記第1のレ
    ジスタ回路の入力と前記第2のレジスタ回路の入力に接
    続し、前記N入力マルチプレクサの出力を前記第2のメ
    モリの入力に接続したことを特徴とする順方向直交変換
    装置。
  3. 【請求項3】 請求項1記載の双方向直交変換装置の構
    成から前記第1と第2と第3のマルチプレクサを取り除
    き、 前記第1のメモリの出力を前記第1のレジスタ回路の入
    力と前記第2のレジスタ回路の入力に接続し、前記N入
    力マルチプレクサの出力を前記バタフライ演算器の入力
    に接続し、前記バタフライ演算器の出力を前記第2のメ
    モリの入力に接続したことを特徴とする逆方向直交変換
    装置。
  4. 【請求項4】 第1と第2と第3のレジスタと、2入力
    のマルチプレクサと、2入力の並列加算器とを有し、 前記第1と第2のレジスタの入力を互いに接続し、前記
    第2のレジスタの正の出力を前記マルチプレクサの第1
    入力に接続し、前記第2のレジスタの負の出力を前記マ
    ルチプレクサの第2入力に接続し、前記マルチプレクサ
    の出力を前記第3のレジスタの入力に接続し、前記第1
    のレジスタの出力を前記並列加算器の第1入力に接続
    し、前記第3のレジスタの出力を前記並列加算器の第2
    入力に接続したことを特徴とするバタフライ演算器。
JP6307244A 1993-12-27 1994-12-12 直交変換装置 Expired - Fee Related JP2677969B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6307244A JP2677969B2 (ja) 1993-12-27 1994-12-12 直交変換装置
US08/364,037 US5477478A (en) 1993-12-27 1994-12-27 Orthogonal transform processor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-330094 1993-12-27
JP33009493 1993-12-27
JP6307244A JP2677969B2 (ja) 1993-12-27 1994-12-12 直交変換装置

Publications (2)

Publication Number Publication Date
JPH07234864A JPH07234864A (ja) 1995-09-05
JP2677969B2 true JP2677969B2 (ja) 1997-11-17

Family

ID=26565032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6307244A Expired - Fee Related JP2677969B2 (ja) 1993-12-27 1994-12-12 直交変換装置

Country Status (2)

Country Link
US (1) US5477478A (ja)
JP (1) JP2677969B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR0150350B1 (ko) * 1994-05-10 1998-10-15 모리시다 요이치 직교변환 프로세서
US6574648B1 (en) * 1998-12-14 2003-06-03 Matsushita Electric Industrial Co., Ltd. Dct arithmetic device
JP3986732B2 (ja) * 2000-06-21 2007-10-03 パイオニア株式会社 映像信号の輝度レベル補正装置
JP2002183747A (ja) * 2000-11-30 2002-06-28 Terarecon Inc ボリュームレンダリングパイプライン
US6704759B2 (en) * 2001-01-19 2004-03-09 Motorola, Inc. Method and apparatus for compression/decompression and filtering of a signal
US7010558B2 (en) * 2001-04-19 2006-03-07 Arc International Data processor with enhanced instruction execution and method
US7730116B2 (en) * 2004-12-14 2010-06-01 Stmicroelectronics, Inc. Method and system for fast implementation of an approximation of a discrete cosine transform
US20060224652A1 (en) * 2005-04-05 2006-10-05 Nokia Corporation Instruction set processor enhancement for computing a fast fourier transform
JP4772607B2 (ja) * 2006-07-10 2011-09-14 パナソニック株式会社 2次元直交変換装置、2次元直交変換方法および撮像システム
US9727531B2 (en) * 2012-11-26 2017-08-08 Nec Corporation Fast fourier transform circuit, fast fourier transform processing method, and program recording medium

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791598A (en) * 1987-03-24 1988-12-13 Bell Communications Research, Inc. Two-dimensional discrete cosine transform processor
US5278781A (en) * 1987-11-12 1994-01-11 Matsushita Electric Industrial Co., Ltd. Digital signal processing system
JP2732673B2 (ja) * 1989-07-01 1998-03-30 株式会社東芝 離散的コサイン変換装置
US5103419A (en) * 1989-02-02 1992-04-07 Matsushita Electric Industrial Co., Ltd. Circuit for calculating the sum of products of data
JPH03214256A (ja) * 1990-01-18 1991-09-19 Matsushita Electric Ind Co Ltd 2次元直交変換装置
DE69125874T2 (de) * 1990-02-21 1997-11-20 Matsushita Electric Ind Co Ltd Generator für mehrdimensionale Adressen und Anordnung zum Steuern desselben
US5191548A (en) * 1990-03-14 1993-03-02 C-Cube Microsystems System for compression and decompression of video data using discrete cosine transform and coding techniques
US5093801A (en) * 1990-07-06 1992-03-03 Rockwell International Corporation Arrayable modular FFT processor
US5299320A (en) * 1990-09-03 1994-03-29 Matsushita Electric Industrial Co., Ltd. Program control type vector processor for executing a vector pipeline operation for a series of vector data which is in accordance with a vector pipeline
JPH04277932A (ja) * 1991-03-06 1992-10-02 Nec Corp 画像データ圧縮装置

Also Published As

Publication number Publication date
JPH07234864A (ja) 1995-09-05
US5477478A (en) 1995-12-19

Similar Documents

Publication Publication Date Title
EP0736205B1 (en) Method and apparatus for performing a fast hadamard transform
JPH02501601A (ja) 2次元離散余弦変換プロセッサ
US20050256917A1 (en) Address generators integrated with parallel FFT for mapping arrays in bit reversed order
JPH08235159A (ja) 逆コサイン変換装置
JP2677969B2 (ja) 直交変換装置
US7308471B2 (en) Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding
JP3938238B2 (ja) 高速フーリエ変換処理装置
US4646256A (en) Computer and method for the discrete bracewell transform
US6574648B1 (en) Dct arithmetic device
KR0150350B1 (ko) 직교변환 프로세서
WO2002091221A2 (en) Address generator for fast fourier transform processor
EP1018082A1 (en) Variable block size 2-dimensional inverse discrete cosine transform engine
EP1049002A2 (en) Method and apparatus for efficient calculation of an approximate square of a fixed-precision number
JP2901896B2 (ja) 直交変換プロセッサ
JPH0981541A (ja) 累算器
JP3575991B2 (ja) 直交変換回路
US20090292756A1 (en) Large-factor multiplication in an array of processors
JP3610564B2 (ja) 情報処理装置
JP3875183B2 (ja) 演算装置
JP3088472B2 (ja) フーリエ変換装置
JP2002504250A (ja) データ要素の系列を変換する装置
JP3970442B2 (ja) 離散コサイン変換装置及び逆離散コサイン変換装置
JP3396818B2 (ja) Dct演算回路及びidct演算回路
JPH05153402A (ja) 離散コサイン変換器
JP2002507305A (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: 19970708

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

Free format text: PAYMENT UNTIL: 20070725

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20080725

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20090725

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090725

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100725

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20110725

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20120725

Year of fee payment: 15

LAPS Cancellation because of no payment of annual fees