JPH06103301A - 8x8離散コサイン変換回路および8x8離散コサイン逆変換回路 - Google Patents
8x8離散コサイン変換回路および8x8離散コサイン逆変換回路Info
- Publication number
- JPH06103301A JPH06103301A JP4273738A JP27373892A JPH06103301A JP H06103301 A JPH06103301 A JP H06103301A JP 4273738 A JP4273738 A JP 4273738A JP 27373892 A JP27373892 A JP 27373892A JP H06103301 A JPH06103301 A JP H06103301A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- matrix
- addition
- multiplication
- discrete cosine
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/145—Square transforms, e.g. Hadamard, Walsh, Haar, Hough, Slant transforms
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Thermal Transfer Or Thermal Recording In General (AREA)
Abstract
(57)【要約】
【目的】 乗算回数が少なく、計算精度が低下しない8
x8離散コサイン変換回路(8x8DCT回路)を提供
する。 【構成】 8x8DCTは、変換行列を因子分解した式
として、原入力データ〔X〕と出力行列データ〔C〕と
の間が、〔C〕=1/2・〔R〕〔Q〕〔X〕で定義で
きる。行列〔Q〕は0,1,−1を含む定数行列であ
り、行列〔R〕は8x8DCTで規定される無理数を含
む行列である。定数行列〔Q〕の演算は加減算で実現で
き、行列〔R〕の演算のみ乗算を行う。加減算回路2は
〔X〕と〔Q〕との演算を行い、乗加算回路4は加減算
回路2の演算結果と〔R〕との演算を行う。また、8x
8IDCTについては、8x8DCTの場合と逆の演算
を行う。
x8離散コサイン変換回路(8x8DCT回路)を提供
する。 【構成】 8x8DCTは、変換行列を因子分解した式
として、原入力データ〔X〕と出力行列データ〔C〕と
の間が、〔C〕=1/2・〔R〕〔Q〕〔X〕で定義で
きる。行列〔Q〕は0,1,−1を含む定数行列であ
り、行列〔R〕は8x8DCTで規定される無理数を含
む行列である。定数行列〔Q〕の演算は加減算で実現で
き、行列〔R〕の演算のみ乗算を行う。加減算回路2は
〔X〕と〔Q〕との演算を行い、乗加算回路4は加減算
回路2の演算結果と〔R〕との演算を行う。また、8x
8IDCTについては、8x8DCTの場合と逆の演算
を行う。
Description
【0001】
【産業上の利用分野】本発明は、デジタル画像処理等に
用いられる離散コサイン変換(Discrete Cosine Tranfo
rm :DCT)回路および離散コサイン逆変換(Inverse DCT:I
DCT)回路に関する。
用いられる離散コサイン変換(Discrete Cosine Tranfo
rm :DCT)回路および離散コサイン逆変換(Inverse DCT:I
DCT)回路に関する。
【0002】
【従来の技術】離散コサイン変換および離散コサイン逆
変換は直交変換の1つとして、実空間から周波数空間へ
の変換およびその逆変換を行うものであり、たとえば、
画像信号処理等に使用される。離散コサイン変換および
離散コサイン逆変換の1つである8x8離散コサイン変
換およびその逆変換である8x8離散コサイン変換は、
下記の式5および式6で表現できる。
変換は直交変換の1つとして、実空間から周波数空間へ
の変換およびその逆変換を行うものであり、たとえば、
画像信号処理等に使用される。離散コサイン変換および
離散コサイン逆変換の1つである8x8離散コサイン変
換およびその逆変換である8x8離散コサイン変換は、
下記の式5および式6で表現できる。
【数5】
【数6】
【0003】ここで、行列〔X〕は8行x8列の実空間
における原データであり、行列〔C〕は8行x8列の周
波数空間における行列データである。行列〔P〕は変換
のための8行x8列の定数行列であり、〔Pt 〕は行列
〔P〕の転置行列を示す。以下、右肩上の添字tは転置
行列を示す。
における原データであり、行列〔C〕は8行x8列の周
波数空間における行列データである。行列〔P〕は変換
のための8行x8列の定数行列であり、〔Pt 〕は行列
〔P〕の転置行列を示す。以下、右肩上の添字tは転置
行列を示す。
【0004】行列〔P〕は式7で定義される。
【数7】 行列〔P〕内の各係数(因子)A,B,C,D,E,
F,Gは式8で定義される。
F,Gは式8で定義される。
【数8】
【0005】上述した式で表される8x8DCTの演算
処理は、周波数空間における行列データ〔C〕の各成分
をそれぞれ8回の乗算を行って求めるとすると、〔C〕
の全成分(64個)を求めるのに8回×64個=512
回の乗算が必要である。また、8x8IDCTの演算処
理についても同様に実空間における原データ〔X〕の各
成分をそれぞれ8回の乗算を行うことで求めるとする
と、〔X〕の全成分(64個)を求めるのに8回×64
個=512回の乗算が必要である。
処理は、周波数空間における行列データ〔C〕の各成分
をそれぞれ8回の乗算を行って求めるとすると、〔C〕
の全成分(64個)を求めるのに8回×64個=512
回の乗算が必要である。また、8x8IDCTの演算処
理についても同様に実空間における原データ〔X〕の各
成分をそれぞれ8回の乗算を行うことで求めるとする
と、〔X〕の全成分(64個)を求めるのに8回×64
個=512回の乗算が必要である。
【0006】この8x8DCTおよび8x8IDCTの
演算処理における乗算回数を低減して8x8DCTおよ
び8x8IDCTの計算を高速に実施する回路が提案さ
れている。たとえば、IEEE JOURNAL OF SOLID-STATE CI
RCUITS.VOL.27.N0.4 APRIL 1992の492〜498ペー
ジに示されている8x8DCT回路および8x8IDC
T回路では、8個の入力に対して前処理(加減算)を行
った後に、4次の内積演算器を8個用いて8個の出力を
求め、これを8回繰り返して64個の出力を求める。
演算処理における乗算回数を低減して8x8DCTおよ
び8x8IDCTの計算を高速に実施する回路が提案さ
れている。たとえば、IEEE JOURNAL OF SOLID-STATE CI
RCUITS.VOL.27.N0.4 APRIL 1992の492〜498ペー
ジに示されている8x8DCT回路および8x8IDC
T回路では、8個の入力に対して前処理(加減算)を行
った後に、4次の内積演算器を8個用いて8個の出力を
求め、これを8回繰り返して64個の出力を求める。
【0007】たとえば、式5の行列〔C〕の一要素c0
についてみると、c0 を求める式は下記式9のようにな
る。ここで、x0 〜x7 は、行列〔X〕の要素である。
についてみると、c0 を求める式は下記式9のようにな
る。ここで、x0 〜x7 は、行列〔X〕の要素である。
【数9】 式9では、c0 を、Aと(x0 +x7 )、Aと(x1 +
x6 )、Aと(x2 +x5 )、およびAと(x3 +
x4 )の4回の乗算を行うことで求めている。そのた
め、〔C〕の全要素(64個)を求めるのみ必要な乗算
回数は4回×64個=256回となる。
x6 )、Aと(x2 +x5 )、およびAと(x3 +
x4 )の4回の乗算を行うことで求めている。そのた
め、〔C〕の全要素(64個)を求めるのみ必要な乗算
回数は4回×64個=256回となる。
【0008】
【発明が解決しようとする課題】しかし、上述した従来
の8x8DCT回路および8x8IDCTでは、乗算回
数が低減されたものの乗算を256回も行わなければな
らず、演算時間がかかるという問題点がある。また、こ
のように多くの乗算を行うと、加算回路または減算回路
に比較して複雑な回路構成となる乗算回路の数が多くな
り、8x8離散コサイン変換回路および8x8離散コサ
イン逆変換回路の回路構成自体が非常に複雑になるとい
う問題点がある。さらに、無理数を含む演算を多数回行
うと、無理数の近似のために生ずる誤差が累積し、計算
結果の精度が劣化するという問題点がある。
の8x8DCT回路および8x8IDCTでは、乗算回
数が低減されたものの乗算を256回も行わなければな
らず、演算時間がかかるという問題点がある。また、こ
のように多くの乗算を行うと、加算回路または減算回路
に比較して複雑な回路構成となる乗算回路の数が多くな
り、8x8離散コサイン変換回路および8x8離散コサ
イン逆変換回路の回路構成自体が非常に複雑になるとい
う問題点がある。さらに、無理数を含む演算を多数回行
うと、無理数の近似のために生ずる誤差が累積し、計算
結果の精度が劣化するという問題点がある。
【0009】本発明は上述した問題を解決し、乗算回数
をさらに低減して回路構成を簡単にし、回路規模が縮小
され、精度の高い計算結果を得ることができる8x8離
散コサイン変換回路、および、その逆変換回路としての
8x8離散コサイン逆変換回路を提供することを目的と
する。
をさらに低減して回路構成を簡単にし、回路規模が縮小
され、精度の高い計算結果を得ることができる8x8離
散コサイン変換回路、および、その逆変換回路としての
8x8離散コサイン逆変換回路を提供することを目的と
する。
【0010】
【課題を解決するための手段】上記問題を解決して、上
述した目的を達成するために本発明の離散コサイン変換
回路および離散コサイン逆変換回路は、離散コサイン変
換の基本式および離散コサイン逆変換の基本式を、その
演算結果を換えない範囲で可能な限り簡単な定数行列に
因子分解して演算式を修正し、その修正された演算式に
基づいて極力乗算回数が少なく、簡単な演算処理ですむ
回路構成とする。
述した目的を達成するために本発明の離散コサイン変換
回路および離散コサイン逆変換回路は、離散コサイン変
換の基本式および離散コサイン逆変換の基本式を、その
演算結果を換えない範囲で可能な限り簡単な定数行列に
因子分解して演算式を修正し、その修正された演算式に
基づいて極力乗算回数が少なく、簡単な演算処理ですむ
回路構成とする。
【0011】たとえば、上述した8x8離散コサイン変
換回路の式5のc0 を求める式9は、以下の式10のよ
うに変形することができる。
換回路の式5のc0 を求める式9は、以下の式10のよ
うに変形することができる。
【数10】 式10からわかるように、c0 は、(x0 +x1 +x2
+x3 +x4 +x5 +x6 +x7 )の加算結果に対して
Aとの乗算を行えば理論的には1回の乗算でcO を求め
ることが可能であるが、このような計算方法では、c0
〜c7 を計算するのに8つの乗算器を用いる必要があ
り、回路規模が大きくなってしまう。
+x3 +x4 +x5 +x6 +x7 )の加算結果に対して
Aとの乗算を行えば理論的には1回の乗算でcO を求め
ることが可能であるが、このような計算方法では、c0
〜c7 を計算するのに8つの乗算器を用いる必要があ
り、回路規模が大きくなってしまう。
【0012】そこで、さらに乗算回数が少なく回路構成
が簡単な方法を考察する。式5における行列〔P〕およ
び式6における行列〔Pt 〕は、行列分解(因子分解)
でき、式5および式6をそれぞれ下記式11および式1
2に示した形に書き換えることができる。
が簡単な方法を考察する。式5における行列〔P〕およ
び式6における行列〔Pt 〕は、行列分解(因子分解)
でき、式5および式6をそれぞれ下記式11および式1
2に示した形に書き換えることができる。
【数11】
【数12】 式11における行列〔R〕を式13に示す。
【数13】 式13に示すように、行列〔R〕は、8x8離散コサイ
ン変換におけるコサイン関数で規定される式8で定義し
た無理数A,B,C,D,E,F,Gとこれらの負の無
理数−B,−D,−F,−Gおよび「0」を含む8x8
の行列である。
ン変換におけるコサイン関数で規定される式8で定義し
た無理数A,B,C,D,E,F,Gとこれらの負の無
理数−B,−D,−F,−Gおよび「0」を含む8x8
の行列である。
【0013】式11における行列〔Q〕を式14に示
す。
す。
【数14】 式14に示すように、行列〔Q〕は、0,1,−1で構
成される小行列〔Q1〕,〔Q2〕,〔Q3〕,〔Q
4〕を有する定数行列である。 〔Q1〕は、 1 1 1 1 1−1−1 1 0 1−1 0 1 0 0−1 〔Q2〕は、 1 1 1 1 1−1−1 1 0−1 1 0 −1 0 0 1 〔Q3〕は、 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 〔Q4〕は、 −1 0 0 0 0−1 0 0 0 0−1 0 0 0 0−1 である4x4の定数行列である。
成される小行列〔Q1〕,〔Q2〕,〔Q3〕,〔Q
4〕を有する定数行列である。 〔Q1〕は、 1 1 1 1 1−1−1 1 0 1−1 0 1 0 0−1 〔Q2〕は、 1 1 1 1 1−1−1 1 0−1 1 0 −1 0 0 1 〔Q3〕は、 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 〔Q4〕は、 −1 0 0 0 0−1 0 0 0 0−1 0 0 0 0−1 である4x4の定数行列である。
【0014】式12における行列〔R〕および行列
〔Q〕の転置行列〔Rt 〕および〔Qt〕を式15およ
び式16に示す。
〔Q〕の転置行列〔Rt 〕および〔Qt〕を式15およ
び式16に示す。
【数15】
【数16】
【0015】因子が0,1,−1で構成される行列の演
算は、因子1について加算処理、因子−1について減算
処理を行えばよいから、加減算回路で処理でき、やはり
乗算回路は必要としない。したがって、上述した式11
および式12に示した演算においては、無理数を含む行
列〔R〕、その転置行列〔Rt 〕についてのみ乗算を行
えばよい。本発明の8x8離散コサイン変換回路は、第
1の定数行列(〔Q〕)と、行列形式の入力データとの
内積に相当する加減算を行う加減算回路と、第2の行列
〔R〕と前記加減算回路における演算結果との内積演算
に相当する乗加算を行う乗加算回路とで構成される。
算は、因子1について加算処理、因子−1について減算
処理を行えばよいから、加減算回路で処理でき、やはり
乗算回路は必要としない。したがって、上述した式11
および式12に示した演算においては、無理数を含む行
列〔R〕、その転置行列〔Rt 〕についてのみ乗算を行
えばよい。本発明の8x8離散コサイン変換回路は、第
1の定数行列(〔Q〕)と、行列形式の入力データとの
内積に相当する加減算を行う加減算回路と、第2の行列
〔R〕と前記加減算回路における演算結果との内積演算
に相当する乗加算を行う乗加算回路とで構成される。
【0016】また、8x8離散コサイン逆変換回路は、
行列〔R〕の転置行列である第1の定数行列
(〔Rt 〕)と、行列形式の入力データとの内積に相当
する乗加算を行う乗加算回路と、定数行列(〔Q〕)の
転置行列である第2の定数行列(〔Qt 〕)と前記乗加
算回路における演算結果との内積に相当する加減算を行
う加減算回路とで構成される。
行列〔R〕の転置行列である第1の定数行列
(〔Rt 〕)と、行列形式の入力データとの内積に相当
する乗加算を行う乗加算回路と、定数行列(〔Q〕)の
転置行列である第2の定数行列(〔Qt 〕)と前記乗加
算回路における演算結果との内積に相当する加減算を行
う加減算回路とで構成される。
【0017】また、上述した8x8離散コサイン変換お
よび8x8離散コサイン逆変換以外の離散コサイン変換
および離散コサイン逆変換を行う回路についても、たと
えば、離散コサイン変換および離散コサイン逆変換の変
換行列を因子が+1、−1または0である定数行列と離
散コサイン変換で規定される無理数を含む行列とに行列
分解して、それぞれ、加減算回路および乗加算回路を用
いて演算を行うことで無理数を含む行列における乗算回
数を低減する。
よび8x8離散コサイン逆変換以外の離散コサイン変換
および離散コサイン逆変換を行う回路についても、たと
えば、離散コサイン変換および離散コサイン逆変換の変
換行列を因子が+1、−1または0である定数行列と離
散コサイン変換で規定される無理数を含む行列とに行列
分解して、それぞれ、加減算回路および乗加算回路を用
いて演算を行うことで無理数を含む行列における乗算回
数を低減する。
【0018】
【作用】本発明の8x8離散コサイン変換回路は、以下
の2つのステップで式11の計算を行う。 ステップ1: 〔S〕=〔Q〕〔X〕 ステップ2: 〔C〕=1/2〔R〕〔S〕 このとき、乗算は、ステップ2のみで必要となるため、
本発明の8x8離散コサイン変換回路は、ステップ1の
計算を加減算回路で行い、ステップ2の計算を乗加算回
路で行う。
の2つのステップで式11の計算を行う。 ステップ1: 〔S〕=〔Q〕〔X〕 ステップ2: 〔C〕=1/2〔R〕〔S〕 このとき、乗算は、ステップ2のみで必要となるため、
本発明の8x8離散コサイン変換回路は、ステップ1の
計算を加減算回路で行い、ステップ2の計算を乗加算回
路で行う。
【0019】また、本発明の8x8離散コサイン逆変換
回路は、以下の2つのステップで式12の計算を行う。 ステップ1: 〔S〕=〔Rt 〕〔X〕 ステップ2: 〔C〕=1/2〔Qt 〕〔S〕 このとき、乗算は、ステップ1のみで必要となるため、
本発明の8x8離散コサイン逆変換回路は、ステップ1
の計算を乗加算回路で行い、ステップ2の計算を加減算
回路で行う。
回路は、以下の2つのステップで式12の計算を行う。 ステップ1: 〔S〕=〔Rt 〕〔X〕 ステップ2: 〔C〕=1/2〔Qt 〕〔S〕 このとき、乗算は、ステップ1のみで必要となるため、
本発明の8x8離散コサイン逆変換回路は、ステップ1
の計算を乗加算回路で行い、ステップ2の計算を加減算
回路で行う。
【0020】また、上述した8x8離散コサイン変換以
外の離散コサイン変換を行う回路についても、離散コサ
イン変換の変換行列を、因子が+1、−1または0であ
る定数行列と、離散コサイン変換で規定される無理数を
含む行列とに行列分解し、ステップ1で行列形式のデー
タに対して因子が+1、−1または0である定数行列と
の内積演算に相当する加減算を行い、ステップ2でステ
ップ1の加減算結果に対して離散コサイン変換で規定さ
れる無理数を含む行列との内積演算に相当する乗加算を
行う。
外の離散コサイン変換を行う回路についても、離散コサ
イン変換の変換行列を、因子が+1、−1または0であ
る定数行列と、離散コサイン変換で規定される無理数を
含む行列とに行列分解し、ステップ1で行列形式のデー
タに対して因子が+1、−1または0である定数行列と
の内積演算に相当する加減算を行い、ステップ2でステ
ップ1の加減算結果に対して離散コサイン変換で規定さ
れる無理数を含む行列との内積演算に相当する乗加算を
行う。
【0021】また、上述した8x8離散コサイン逆変換
以外の離散コサイン逆変換を行う回路についても、離散
コサイン逆変換の変換行列を、因子が+1、−1または
0である定数行列と、離散コサイン変換で規定される無
理数を含む行列とに行列分解し、ステップ1で行列形式
のデータに対して離散コサイン変換で規定される無理数
を含む行列との内積演算に相当する乗加算を行い、ステ
ップ2でステップ1の乗加算結果に対して因子が+1、
−1または0である定数行列との内積演算に相当する加
減算を行う。
以外の離散コサイン逆変換を行う回路についても、離散
コサイン逆変換の変換行列を、因子が+1、−1または
0である定数行列と、離散コサイン変換で規定される無
理数を含む行列とに行列分解し、ステップ1で行列形式
のデータに対して離散コサイン変換で規定される無理数
を含む行列との内積演算に相当する乗加算を行い、ステ
ップ2でステップ1の乗加算結果に対して因子が+1、
−1または0である定数行列との内積演算に相当する加
減算を行う。
【0022】
【実施例】本発明の第1の実施例として、請求項1およ
び請求項5に記載した8x8離散コサイン変換回路およ
び8x8離散コサイン逆変換回路に対応する、時分割処
理を行う8x8離散コサイン変換(8x8DCT)回路
および8x8離散コサイン逆変換(8x8IDCT)回
路について述べる。図1に8x8DCT回路の構成図を
示す。図1に示すように、8次DCT装置は、入力レジ
スタ1、加減算回路2、中間値保持回路3、乗加算回路
4、出力レジスタ5で構成される。加減算回路2を第1
段として、中間値格納レジスタ3を介して、乗加算回路
4を第2段とする2段パイプライン構成となっている。
び請求項5に記載した8x8離散コサイン変換回路およ
び8x8離散コサイン逆変換回路に対応する、時分割処
理を行う8x8離散コサイン変換(8x8DCT)回路
および8x8離散コサイン逆変換(8x8IDCT)回
路について述べる。図1に8x8DCT回路の構成図を
示す。図1に示すように、8次DCT装置は、入力レジ
スタ1、加減算回路2、中間値保持回路3、乗加算回路
4、出力レジスタ5で構成される。加減算回路2を第1
段として、中間値格納レジスタ3を介して、乗加算回路
4を第2段とする2段パイプライン構成となっている。
【0023】図1に示した8x8DCT回路は、式11
で規定された演算を加減算回路と乗加算回路とをそれぞ
れ1個づつ用いて以下の2つのステップで行う。 ステップ1: 〔s〕=〔Q〕〔x〕 ステップ2: 〔c〕=1/2×〔R〕〔s〕 〔Q〕、〔R〕は、上記した式13、式14で定義され
ている。また、〔x〕は、8x8の原データ〔X〕の各
列の8個の要素で構成されるベクトルである。〔c〕
は、〔x〕を周波数空間に変換したベクトルであり、8
個の要素で構成されるベクトルである。
で規定された演算を加減算回路と乗加算回路とをそれぞ
れ1個づつ用いて以下の2つのステップで行う。 ステップ1: 〔s〕=〔Q〕〔x〕 ステップ2: 〔c〕=1/2×〔R〕〔s〕 〔Q〕、〔R〕は、上記した式13、式14で定義され
ている。また、〔x〕は、8x8の原データ〔X〕の各
列の8個の要素で構成されるベクトルである。〔c〕
は、〔x〕を周波数空間に変換したベクトルであり、8
個の要素で構成されるベクトルである。
【0024】入力レジスタ1は、原データ〔x〕を1ク
ロックサイクル毎にワードシリアルに入力する。原デー
タ〔x〕は、8個の要素からなるため、原データ〔x〕
のデータ全てが入力レジスタ1に揃うのには8クロック
サイクルかかる。加減算回路2は、ステップ1の計算を
行う。中間値保持回路3は、加減算回路2の計算結果を
一時的に保持する。乗加算回路4は、ステップ2の計算
を行う。出力レジスタ5は、周波数上のデータ〔c〕を
1クロックサイクル毎にワードシリアルに出力する。以
下、簡単のため、1回の加算、減算、乗加算は1クロッ
クサイクルで完了するものとし、加減算回路2および加
減算回路4はそれぞれ8クロックサイクルの間に所定の
加減算および乗加算を完了する。
ロックサイクル毎にワードシリアルに入力する。原デー
タ〔x〕は、8個の要素からなるため、原データ〔x〕
のデータ全てが入力レジスタ1に揃うのには8クロック
サイクルかかる。加減算回路2は、ステップ1の計算を
行う。中間値保持回路3は、加減算回路2の計算結果を
一時的に保持する。乗加算回路4は、ステップ2の計算
を行う。出力レジスタ5は、周波数上のデータ〔c〕を
1クロックサイクル毎にワードシリアルに出力する。以
下、簡単のため、1回の加算、減算、乗加算は1クロッ
クサイクルで完了するものとし、加減算回路2および加
減算回路4はそれぞれ8クロックサイクルの間に所定の
加減算および乗加算を完了する。
【0025】ステップ1の動作の説明 ステップ1では、原データ〔x〕に対して、係数が1、
−1または0である式14に示した定数行列〔Q〕を乗
ずる計算を行う。 ステップ1の計算式 〔s〕=〔Q〕〔x〕 におけるベクトル〔s〕,〔x〕を下記式17,18に
示す。
−1または0である式14に示した定数行列〔Q〕を乗
ずる計算を行う。 ステップ1の計算式 〔s〕=〔Q〕〔x〕 におけるベクトル〔s〕,〔x〕を下記式17,18に
示す。
【数17】
【数18】
【0026】ステップ1の演算結果は、下記8個の式1
9で示される。
9で示される。
【数19】 このステップ1の計算は加減算回路2を用いて行われ
る。
る。
【0027】図2に加減算回路2の基本構成図を示し、
図3に図2に示した基本回路を組み合わせて処理を行う
加減算回路2の信号処理概念図を示す。また、図4に図
3に示した加減算回路2を用いて信号処理を行うタイミ
ングを説明するための図を示す。図2に示すように、加
減算回路2の基本回路は、一対の加算器11と減算器1
2で構成される。入力データaとbを加算器11および
減算器12の双方に入力し、加算器11はaとbの加算
結果(a+b)を出力し、減算器12はaとbの減算結
果(a−b)を出力する。図3に示すようにベクトル
〔s〕の8要素(s0 〜s7 )を求めるには加減算回路
2を7回使用するため、1つの加減算回路2を用いて計
算を行う場合には、図4に示すようにベクトル〔s〕の
8要素は7クロックサイクルで中間値保持回路3に保持
される。
図3に図2に示した基本回路を組み合わせて処理を行う
加減算回路2の信号処理概念図を示す。また、図4に図
3に示した加減算回路2を用いて信号処理を行うタイミ
ングを説明するための図を示す。図2に示すように、加
減算回路2の基本回路は、一対の加算器11と減算器1
2で構成される。入力データaとbを加算器11および
減算器12の双方に入力し、加算器11はaとbの加算
結果(a+b)を出力し、減算器12はaとbの減算結
果(a−b)を出力する。図3に示すようにベクトル
〔s〕の8要素(s0 〜s7 )を求めるには加減算回路
2を7回使用するため、1つの加減算回路2を用いて計
算を行う場合には、図4に示すようにベクトル〔s〕の
8要素は7クロックサイクルで中間値保持回路3に保持
される。
【0028】つまり、加減算回路2は、 (1)0クロックサイクルで1対の第1段の加算器11
aおよび減算器12aを用いて入力x0 とx7 との加算
および減算を行い、加算器11aは、加算結果(x0 +
x7 )を出力し、減算器12aは、減算結果(x0 −x
7 )を出力する。このとき減算器12の出力(x0 −x
7 )がs7 となる。 (2)1クロックサイクルで1対の第2段の加算器11
bおよび減算器12bを用いて入力x1 とx6 との加算
および減算を行い、加算器11bは、加算結果(x1 +
x6 )を出力し、減算器12bは、減算結果(x1 −x
6 =s6 )を出力する。このとき減算器12bの出力
(x1 −x6 )がs6 となる。 (3)2クロックサイクルで1対の第3段の加算器11
cおよび減算器12cを用いて入力x2 とx5 との加算
および減算を行い、加算器11cは、加算結果(x2 +
x5 )を出力し、減算器12cは、減算結果(x2 −x
5 =s5 )を出力する。このとき減算器12bの出力
(x2 −x5 )がs5 となる。 (4)3クロックサイクルで1対の第4段の加算器11
dおよび減算器12dを用いて入力x3 とx4 との加算
および減算を行い、加算器11dは、加算結果(x3 +
x4 )を出力し、減算器12dは、減算結果(x3 −x
4 =s4 )を出力する。ことのき減算器12dの出力
(x3 −x4 )がs4 となる。 (5)4クロックサイクルで1対の第5段の加算器11
eおよび減算器12eを用いて入力(x0 +x7 )と
(x3 +x4 )との加算および減算を行い、加算器11
eは、加算結果(x0 +x7 +x3 +x4 )を出力し、
減算器12eは、減算結果(x1 −x3 −x4 +x7 =
s3 )を出力する。このとき、減算器12eの出力(x
1 −x3 −x4 +x7 )がs3 となる。 (6)5クロックサイクルで1対の第6段の加算器11
fおよび減算器12fを用いて入力(x1 +x6 )と
(x2 +x5 )との加算および減算を行い、加算器11
fは、加算結果(x1 +x6 +x2 +x5 )を出力し、
減算器12fは、減算結果(x1 −x2 −x5 +x6 =
s2 )を出力する。このとき、減算器12fの出力(x
1 −x2 −x5 +x6 )がs2 となる。 (7)6クロックサイクルで1対の第7段の加算器11
gおよび減算器12gを用いて入力(x0 +x7 +x3
+x4 )と(x1 +x6 +x2 +x5 )との加算および
減算を行い、加算器11gは、加算結果(x0 +x1 +
x2 +x3 +x4 +x5 +x6 +x7 =s0 )を出力
し、減算器12gは、減算結果(x0 −x1 −x2 +x
3 +x4 −x5 −x6 +x7 =s1 )を出力する。こと
のき加算器11gの出力(x0 +x1 +x2 +x3 +x
4 +x5 +x6 +x7 )がs0 となり、減算器12gの
出力(x0 −x1 −x2 +x3 +x4 −x5 −x6 +x
7 )がs1 となる。このようにベクトル〔s〕の8要素
(s0 〜s7 )は、7クロックサイクルで中間値保持回
路3に出力される。
aおよび減算器12aを用いて入力x0 とx7 との加算
および減算を行い、加算器11aは、加算結果(x0 +
x7 )を出力し、減算器12aは、減算結果(x0 −x
7 )を出力する。このとき減算器12の出力(x0 −x
7 )がs7 となる。 (2)1クロックサイクルで1対の第2段の加算器11
bおよび減算器12bを用いて入力x1 とx6 との加算
および減算を行い、加算器11bは、加算結果(x1 +
x6 )を出力し、減算器12bは、減算結果(x1 −x
6 =s6 )を出力する。このとき減算器12bの出力
(x1 −x6 )がs6 となる。 (3)2クロックサイクルで1対の第3段の加算器11
cおよび減算器12cを用いて入力x2 とx5 との加算
および減算を行い、加算器11cは、加算結果(x2 +
x5 )を出力し、減算器12cは、減算結果(x2 −x
5 =s5 )を出力する。このとき減算器12bの出力
(x2 −x5 )がs5 となる。 (4)3クロックサイクルで1対の第4段の加算器11
dおよび減算器12dを用いて入力x3 とx4 との加算
および減算を行い、加算器11dは、加算結果(x3 +
x4 )を出力し、減算器12dは、減算結果(x3 −x
4 =s4 )を出力する。ことのき減算器12dの出力
(x3 −x4 )がs4 となる。 (5)4クロックサイクルで1対の第5段の加算器11
eおよび減算器12eを用いて入力(x0 +x7 )と
(x3 +x4 )との加算および減算を行い、加算器11
eは、加算結果(x0 +x7 +x3 +x4 )を出力し、
減算器12eは、減算結果(x1 −x3 −x4 +x7 =
s3 )を出力する。このとき、減算器12eの出力(x
1 −x3 −x4 +x7 )がs3 となる。 (6)5クロックサイクルで1対の第6段の加算器11
fおよび減算器12fを用いて入力(x1 +x6 )と
(x2 +x5 )との加算および減算を行い、加算器11
fは、加算結果(x1 +x6 +x2 +x5 )を出力し、
減算器12fは、減算結果(x1 −x2 −x5 +x6 =
s2 )を出力する。このとき、減算器12fの出力(x
1 −x2 −x5 +x6 )がs2 となる。 (7)6クロックサイクルで1対の第7段の加算器11
gおよび減算器12gを用いて入力(x0 +x7 +x3
+x4 )と(x1 +x6 +x2 +x5 )との加算および
減算を行い、加算器11gは、加算結果(x0 +x1 +
x2 +x3 +x4 +x5 +x6 +x7 =s0 )を出力
し、減算器12gは、減算結果(x0 −x1 −x2 +x
3 +x4 −x5 −x6 +x7 =s1 )を出力する。こと
のき加算器11gの出力(x0 +x1 +x2 +x3 +x
4 +x5 +x6 +x7 )がs0 となり、減算器12gの
出力(x0 −x1 −x2 +x3 +x4 −x5 −x6 +x
7 )がs1 となる。このようにベクトル〔s〕の8要素
(s0 〜s7 )は、7クロックサイクルで中間値保持回
路3に出力される。
【0029】もし、加減算回路2の加算器11および減
算器12の計算速度が遅く、1クロックサイクルで加減
算が完了しない場合には、計算時間をパイプラインを乱
れなく動作させる許容時間(8クロックサイクル)内に
するために加減算回路2を複数の単位回路(1対の加算
器11および減算器12で構成される)で構成すればよ
い。たとえば、加算器11および減算器12が2クロッ
クサイクルで加減算を完了する場合には、加減算回路2
を2つの単位回路を用いて構成する。また、加減算回路
2は、1対の加算器11および減算器12で構成される
のではなく、加算器11および減算器12をそれぞれ必
要な数だけ接続して構成してもよい。
算器12の計算速度が遅く、1クロックサイクルで加減
算が完了しない場合には、計算時間をパイプラインを乱
れなく動作させる許容時間(8クロックサイクル)内に
するために加減算回路2を複数の単位回路(1対の加算
器11および減算器12で構成される)で構成すればよ
い。たとえば、加算器11および減算器12が2クロッ
クサイクルで加減算を完了する場合には、加減算回路2
を2つの単位回路を用いて構成する。また、加減算回路
2は、1対の加算器11および減算器12で構成される
のではなく、加算器11および減算器12をそれぞれ必
要な数だけ接続して構成してもよい。
【0030】ステップ2の動作の説明 ステップ2では、各列に高々4つの無理数の因子を有す
る式14に示した行列〔Q〕を乗ずる計算を行い、ステ
ップ2の計算式 〔c〕=1/2×〔R〕〔s〕 におけるベクトル〔c〕,〔s〕を下記式20,式21
に示す。
る式14に示した行列〔Q〕を乗ずる計算を行い、ステ
ップ2の計算式 〔c〕=1/2×〔R〕〔s〕 におけるベクトル〔c〕,〔s〕を下記式20,式21
に示す。
【数20】
【数21】 ステップ2の演算結果は、下記8個の式22で示され
る。ただし、ステップ2の計算式において、〔R〕
〔s〕の計算結果は最終的に1/2倍しているが、これ
は〔R〕〔s〕の出力を2ビット右シフトすればよいの
で、回路的には特に乗算回路または除算回路は必要な
い。
る。ただし、ステップ2の計算式において、〔R〕
〔s〕の計算結果は最終的に1/2倍しているが、これ
は〔R〕〔s〕の出力を2ビット右シフトすればよいの
で、回路的には特に乗算回路または除算回路は必要な
い。
【数22】 ステップ2の計算は乗加算回路4を用いて行われる。
【0031】図5に乗加算回路4の構成図を示す。乗加
算回路4は、乗算器20、乗算器21および乗算器22
で構成される。乗算器20は、乗算器30、累算器4
0、係数格納メモリ50で構成される。乗加算回路4
は、あるクロックサイクルkにおいて、入力データを乗
算器30に入力する。乗算器30は、この入力データと
係数格納メモリ50の係数格納領域50aに格納された
係数A、係数格納領域50bに格納されたBまたは係数
格納領域50cに格納されたCとの乗算を行い乗算結果
を信号S30として累算器40に出力する。累算器40
は、乗算器30から信号S30として入力した乗算結果
と、前回のクロックサイクル(k−1)に乗算器30か
ら入力した乗算結果との加算または減算を行い、その加
減算結果をS40として出力する。したがって、n次の
内積演算をnクロックサイクルで実現できる。乗算器2
1および乗算器22の構成は、乗算器21および乗算器
22の係数格納メモリ51に係数D,E,F,Gが格納
されていること以外は、上述した乗算器20と同じであ
る。また、乗算器21と乗算器22は、同一の係数を使
用して計算を行うため、係数格納メモリ51を共有する
ように構成することができる。
算回路4は、乗算器20、乗算器21および乗算器22
で構成される。乗算器20は、乗算器30、累算器4
0、係数格納メモリ50で構成される。乗加算回路4
は、あるクロックサイクルkにおいて、入力データを乗
算器30に入力する。乗算器30は、この入力データと
係数格納メモリ50の係数格納領域50aに格納された
係数A、係数格納領域50bに格納されたBまたは係数
格納領域50cに格納されたCとの乗算を行い乗算結果
を信号S30として累算器40に出力する。累算器40
は、乗算器30から信号S30として入力した乗算結果
と、前回のクロックサイクル(k−1)に乗算器30か
ら入力した乗算結果との加算または減算を行い、その加
減算結果をS40として出力する。したがって、n次の
内積演算をnクロックサイクルで実現できる。乗算器2
1および乗算器22の構成は、乗算器21および乗算器
22の係数格納メモリ51に係数D,E,F,Gが格納
されていること以外は、上述した乗算器20と同じであ
る。また、乗算器21と乗算器22は、同一の係数を使
用して計算を行うため、係数格納メモリ51を共有する
ように構成することができる。
【0032】図6に乗算器20、乗算器21および乗算
器22を用いてステップ2の計算を行う際の信号処理の
タイミングを説明するための図を示す。乗算器20を用
いてステップ1の計算を行う際の信号処理のタイミング
について説明する。 (1a)0クロックサイクルでs0 を入力し、このs0
と係数格納領域50aに格納されたAとの乗算を行い、
乗算結果(A・s0 )を信号S30として累算器40に
出力する。そして、累算器40は、乗算結果(A・
s0 )を信号S40として出力する。このとき信号S4
0は行列〔C〕の要素c0 となる。 (2a)1クロックサイクルでs1 を入力し、このs1
と係数格納領域50aに格納されたAとの乗算を行い、
乗算結果(A・s1 )を信号S30として累算器40に
出力する。そして、累算器40は、乗算結果(A・
s1 )を信号S40として出力する。このとき信号S4
0はc4 となる。 (3a)2クロックサイクルでs2 を入力し、このs2
と係数格納領域50cに格納されたCとの乗算を行い、
乗算結果(C・s2 )を信号S30として累算器40に
出力する。そして、累算器40は、乗算結果(C・
s2 )を信号S40として出力すると同時にこの乗算結
果(C・s2 )を保持する。 (4a)3クロックサイクルでs3 を入力し、このs3
と係数格納領域50bに格納されたBとの乗算を行い、
乗算結果(B・s3 )を信号S30として累算器40に
出力する。累算器40は、この乗算結果(B・s3 )と
前回の2クロックサイクルで保持した乗算結果(C・s
2 )との加算を行い、加算結果(C・s2 +B・s3 )
を信号S40として出力する。このとき信号S40は、
c2 となる。 (5a)4クロックサイクルでs2 を入力し、このs2
と係数格納領域50bに格納されたBとの負の乗算を行
い、乗算結果(−B・s2 )を信号S30として累算器
40に出力する。そして、累算器40は、乗算結果(−
B・s2 )を信号S40として出力すると同時にこの乗
算結果(−B・s2 )を保持する。 (6a)5クロックサイクルでs3 を入力し、このs3
と係数格納領域50cに格納されたCとの乗算を行い、
乗算結果(C・s3 )を信号S30として累算器40に
出力する。累算器40は、この乗算結果(C・s3 )と
前回の4クロックサイクルで保持した乗算結果(−B・
s2 )との加算を行い、加算結果(−B・s2 +C・s
3 )を信号S40として出力する。このとき信号S40
は、c6となる。
器22を用いてステップ2の計算を行う際の信号処理の
タイミングを説明するための図を示す。乗算器20を用
いてステップ1の計算を行う際の信号処理のタイミング
について説明する。 (1a)0クロックサイクルでs0 を入力し、このs0
と係数格納領域50aに格納されたAとの乗算を行い、
乗算結果(A・s0 )を信号S30として累算器40に
出力する。そして、累算器40は、乗算結果(A・
s0 )を信号S40として出力する。このとき信号S4
0は行列〔C〕の要素c0 となる。 (2a)1クロックサイクルでs1 を入力し、このs1
と係数格納領域50aに格納されたAとの乗算を行い、
乗算結果(A・s1 )を信号S30として累算器40に
出力する。そして、累算器40は、乗算結果(A・
s1 )を信号S40として出力する。このとき信号S4
0はc4 となる。 (3a)2クロックサイクルでs2 を入力し、このs2
と係数格納領域50cに格納されたCとの乗算を行い、
乗算結果(C・s2 )を信号S30として累算器40に
出力する。そして、累算器40は、乗算結果(C・
s2 )を信号S40として出力すると同時にこの乗算結
果(C・s2 )を保持する。 (4a)3クロックサイクルでs3 を入力し、このs3
と係数格納領域50bに格納されたBとの乗算を行い、
乗算結果(B・s3 )を信号S30として累算器40に
出力する。累算器40は、この乗算結果(B・s3 )と
前回の2クロックサイクルで保持した乗算結果(C・s
2 )との加算を行い、加算結果(C・s2 +B・s3 )
を信号S40として出力する。このとき信号S40は、
c2 となる。 (5a)4クロックサイクルでs2 を入力し、このs2
と係数格納領域50bに格納されたBとの負の乗算を行
い、乗算結果(−B・s2 )を信号S30として累算器
40に出力する。そして、累算器40は、乗算結果(−
B・s2 )を信号S40として出力すると同時にこの乗
算結果(−B・s2 )を保持する。 (6a)5クロックサイクルでs3 を入力し、このs3
と係数格納領域50cに格納されたCとの乗算を行い、
乗算結果(C・s3 )を信号S30として累算器40に
出力する。累算器40は、この乗算結果(C・s3 )と
前回の4クロックサイクルで保持した乗算結果(−B・
s2 )との加算を行い、加算結果(−B・s2 +C・s
3 )を信号S40として出力する。このとき信号S40
は、c6となる。
【0033】次に、乗算器21および乗算器22を用い
てステップ2の計算を行う際の信号処理のタイミングに
ついて説明する。 (1b)0クロックサイクルで乗算器21および乗算器
22は、それぞれs4を入力し、それぞれ係数格納領域
51dに格納されたGおよび係数格納領域51bに格納
されたEとの乗算を行い、乗算結果(G・s4 )および
(E・s4 )を信号S30として累算器40に出力す
る。累算器40は、この乗算結果を信号S40として出
力すると同時に保持する。 (2b)1クロックサイクルで乗算器21および乗算器
22は、それぞれs5を入力し、それぞれ係数格納領域
51cに格納されたFおよび係数格納領域51dに格納
されたGとの乗算を行い、乗算結果(F・s5 )および
(G・s5 )を信号S30として累算器40に出力す
る。累算器40は、この乗算結果と前回の0クロックサ
イクルで保持した乗算結果(G・s4 )および(E・s
4 )との加算を行い、この加算結果(Gs4 +Fs5 )
および(Es4 +Gs5 )を出力すると同時に保持す
る。 (3b)2クロックサイクルで乗算器21および乗算器
22は、それぞれs6を入力し、それぞれ係数格納領域
51bに格納されたEとの乗算および係数格納領域51
aに格納されたDとの負の乗算を行い、乗算結果(Es
6 )および(−Ds6 )を信号S30として累算器40
に出力する。累算器40は、この乗算結果と前回の1ク
ロックサイクルで保持した加算結果(Gs4 +Fs5 )
および(Es4 +Gs5 )との加算を行い、この加算結
果(Gs4 +F・s5 +Es6 )および(Es4 +G・
s5 −Ds6 )を出力すると同時に保持する。 (4b)3クロックサイクルで乗算器21および乗算器
22は、それぞれs7を入力し、それぞれ係数格納領域
51aに格納されたDおよび係数格納領域51cに格納
されたFとの乗算を行い、乗算結果(Ds7 )および
(Fs7 )を信号S30として累算器40に出力する。
累算器40は、この乗算結果と前回の2クロックサイク
ルで保持した加算結果(Gs4 +F・s5 +Es6 )お
よび(Es4 +G・s5 −Ds6 )との加算を行い、こ
の加算結果(Gs4 +F・s5 +Es6 +Ds7 )およ
び(Es4 +G・s5 −Ds6 +Fs7 )を信号S40
として出力する。このとき(Gs4 +F・s5 +Es6
+Ds7 )および(Es4 +G・s5 −Ds6 +F
s7 )はそれぞれc1 およびc5 となる。 (5b)クロックサイクル4〜クロックサイクル7で
は、乗算器21および乗算器22は、それぞれクロック
サイクル4でs4 を入力し、クロックサイクル5でs5
を入力し、クロックサイクル6でs6 を入力し、クロッ
クサイクル7でs7 を入力して、上述の(1b)〜(4
b)と同様な方法で計算を行い、c3 (−Fs4 −Ds
5 −Gs6 +Es7 )およびc7 (−Ds4 +Es5 −
Fs6 +Gs7 )を信号S40として出力する。このよ
うに、ベクトル〔s〕の8要素(c0 〜c7 )は、7ク
ロックサイクルで出力レジスタ5に出力される。
てステップ2の計算を行う際の信号処理のタイミングに
ついて説明する。 (1b)0クロックサイクルで乗算器21および乗算器
22は、それぞれs4を入力し、それぞれ係数格納領域
51dに格納されたGおよび係数格納領域51bに格納
されたEとの乗算を行い、乗算結果(G・s4 )および
(E・s4 )を信号S30として累算器40に出力す
る。累算器40は、この乗算結果を信号S40として出
力すると同時に保持する。 (2b)1クロックサイクルで乗算器21および乗算器
22は、それぞれs5を入力し、それぞれ係数格納領域
51cに格納されたFおよび係数格納領域51dに格納
されたGとの乗算を行い、乗算結果(F・s5 )および
(G・s5 )を信号S30として累算器40に出力す
る。累算器40は、この乗算結果と前回の0クロックサ
イクルで保持した乗算結果(G・s4 )および(E・s
4 )との加算を行い、この加算結果(Gs4 +Fs5 )
および(Es4 +Gs5 )を出力すると同時に保持す
る。 (3b)2クロックサイクルで乗算器21および乗算器
22は、それぞれs6を入力し、それぞれ係数格納領域
51bに格納されたEとの乗算および係数格納領域51
aに格納されたDとの負の乗算を行い、乗算結果(Es
6 )および(−Ds6 )を信号S30として累算器40
に出力する。累算器40は、この乗算結果と前回の1ク
ロックサイクルで保持した加算結果(Gs4 +Fs5 )
および(Es4 +Gs5 )との加算を行い、この加算結
果(Gs4 +F・s5 +Es6 )および(Es4 +G・
s5 −Ds6 )を出力すると同時に保持する。 (4b)3クロックサイクルで乗算器21および乗算器
22は、それぞれs7を入力し、それぞれ係数格納領域
51aに格納されたDおよび係数格納領域51cに格納
されたFとの乗算を行い、乗算結果(Ds7 )および
(Fs7 )を信号S30として累算器40に出力する。
累算器40は、この乗算結果と前回の2クロックサイク
ルで保持した加算結果(Gs4 +F・s5 +Es6 )お
よび(Es4 +G・s5 −Ds6 )との加算を行い、こ
の加算結果(Gs4 +F・s5 +Es6 +Ds7 )およ
び(Es4 +G・s5 −Ds6 +Fs7 )を信号S40
として出力する。このとき(Gs4 +F・s5 +Es6
+Ds7 )および(Es4 +G・s5 −Ds6 +F
s7 )はそれぞれc1 およびc5 となる。 (5b)クロックサイクル4〜クロックサイクル7で
は、乗算器21および乗算器22は、それぞれクロック
サイクル4でs4 を入力し、クロックサイクル5でs5
を入力し、クロックサイクル6でs6 を入力し、クロッ
クサイクル7でs7 を入力して、上述の(1b)〜(4
b)と同様な方法で計算を行い、c3 (−Fs4 −Ds
5 −Gs6 +Es7 )およびc7 (−Ds4 +Es5 −
Fs6 +Gs7 )を信号S40として出力する。このよ
うに、ベクトル〔s〕の8要素(c0 〜c7 )は、7ク
ロックサイクルで出力レジスタ5に出力される。
【0034】もし、乗加算器20、21、22の計算速
度が遅く、1クロックサイクルで乗加算が完了しない場
合には、計算時間がパイプラインの乱れなく動作させる
許容時間(8クロックサイクル)内にするためにそれぞ
れ複数の乗加算器20、21、22を用いて計算を行え
ばよい。たとえは、2クロックサイクルで乗加算が完了
する場合は、乗加算器20、21、22をそれぞれ2個
づつ用いて、乗加算器20a、20b、21a、21
b、22a、22bの6個の乗加算器を用いて計算を行
う。この場合には、乗加算器20aで(1a)〜(3
a)のc0 およびc4 を求める計算を行い、第2の乗加
算器20bで(4a)〜(6a)のc2 およびc6 を求
める計算を行う。また、乗加算器21aで(1b)〜
(4b)のc1 を求める計算を行い、乗加算器21bで
(5b)のc3 を求める計算を行う。また、乗加算器2
2bで(1b)〜(4b)のc5 を求めるの計算を行
い、乗加算器21bで(5b)のc7 を求める計算を行
う。
度が遅く、1クロックサイクルで乗加算が完了しない場
合には、計算時間がパイプラインの乱れなく動作させる
許容時間(8クロックサイクル)内にするためにそれぞ
れ複数の乗加算器20、21、22を用いて計算を行え
ばよい。たとえは、2クロックサイクルで乗加算が完了
する場合は、乗加算器20、21、22をそれぞれ2個
づつ用いて、乗加算器20a、20b、21a、21
b、22a、22bの6個の乗加算器を用いて計算を行
う。この場合には、乗加算器20aで(1a)〜(3
a)のc0 およびc4 を求める計算を行い、第2の乗加
算器20bで(4a)〜(6a)のc2 およびc6 を求
める計算を行う。また、乗加算器21aで(1b)〜
(4b)のc1 を求める計算を行い、乗加算器21bで
(5b)のc3 を求める計算を行う。また、乗加算器2
2bで(1b)〜(4b)のc5 を求めるの計算を行
い、乗加算器21bで(5b)のc7 を求める計算を行
う。
【0035】このように、本発明の8x8DCT回路で
は、8x8DCTの計算を行う際に、周波数上のデータ
〔C〕の各列の8個の要素からなるベクトル〔c〕を、
原データ〔X〕の各列の8個の要素からなるベクトル
〔x〕について上述のステップ1およびステップ2の処
理を行うことで計算し、この計算を〔X〕の8列につい
てそれぞれ行うことで64個の要素からなる周波数上の
データ〔C〕を計算する。ベクトル〔c〕の各列の8要
素を求める際に必要な乗算回数は、ステップ2で行う2
2回のみであるため、周波数上のデータ〔C〕(64要
素)を求める際に必要な乗算回数は、22回×8列=1
76回のみである。このように、本発明の8次DCT装
置では、従来の8次DCT装置に比べて乗算回数を80
回も少なくすることができ、乗加算が1クロックサイク
ルで完了する場合には、乗加算器は、乗加算器20、2
1、22の3つを用いればよく、回路構成が簡単にな
る。また、無理数を含む演算の数が低減されるため、無
理数の近似を行う際に生ずる誤差の累積を低減すること
ができる。
は、8x8DCTの計算を行う際に、周波数上のデータ
〔C〕の各列の8個の要素からなるベクトル〔c〕を、
原データ〔X〕の各列の8個の要素からなるベクトル
〔x〕について上述のステップ1およびステップ2の処
理を行うことで計算し、この計算を〔X〕の8列につい
てそれぞれ行うことで64個の要素からなる周波数上の
データ〔C〕を計算する。ベクトル〔c〕の各列の8要
素を求める際に必要な乗算回数は、ステップ2で行う2
2回のみであるため、周波数上のデータ〔C〕(64要
素)を求める際に必要な乗算回数は、22回×8列=1
76回のみである。このように、本発明の8次DCT装
置では、従来の8次DCT装置に比べて乗算回数を80
回も少なくすることができ、乗加算が1クロックサイク
ルで完了する場合には、乗加算器は、乗加算器20、2
1、22の3つを用いればよく、回路構成が簡単にな
る。また、無理数を含む演算の数が低減されるため、無
理数の近似を行う際に生ずる誤差の累積を低減すること
ができる。
【0036】本発明の8x8DCT回路を実現するハー
ドウェーア回路としては、上記演算処理を行う電子回
路、DSP(デジタル・シグナル・プロセッサ)、半導
体デバイスによる回路等が考えられる。このような実現
回路構成については以下に述べる8x8DCT回路およ
び8x8IDCT回路にも適用される。
ドウェーア回路としては、上記演算処理を行う電子回
路、DSP(デジタル・シグナル・プロセッサ)、半導
体デバイスによる回路等が考えられる。このような実現
回路構成については以下に述べる8x8DCT回路およ
び8x8IDCT回路にも適用される。
【0037】次に、上記の8x8DCT回路の逆演算を
行う8x8IDCT回路について述べる。図7に8x8
IDCT回路の構成図を示す。図7に示すように、8x
8IDCT回路は、入力レジスタ61、乗加算回路6
2、中間値保持回路63、加減算回路64、出力レジス
タ65で構成される。乗加算回路62を第1段として、
中間値保持回路63を介して、加減算回路64を第2段
とする2段パイプライン構成となっている。図7に示し
た8x8IDCT回路は、式12で規定された演算を乗
加算回路62と加減算回路64を用いて以下の2つのス
テップで行う。 ステップ1: 〔t〕=〔Rt 〕〔c〕 ステップ2: 〔x〕=1/2×〔Qt 〕〔t〕 〔Rt 〕、〔Qt 〕は、上記した式15、式16に定義
されている。〔x〕および〔c〕は、上述の8x8DC
Tの場合と同様に、それぞれ、原データ〔X〕の各列の
8要素を示すベクトル、および、ベクトル〔x〕を周波
数空間に変換したベクトルである。
行う8x8IDCT回路について述べる。図7に8x8
IDCT回路の構成図を示す。図7に示すように、8x
8IDCT回路は、入力レジスタ61、乗加算回路6
2、中間値保持回路63、加減算回路64、出力レジス
タ65で構成される。乗加算回路62を第1段として、
中間値保持回路63を介して、加減算回路64を第2段
とする2段パイプライン構成となっている。図7に示し
た8x8IDCT回路は、式12で規定された演算を乗
加算回路62と加減算回路64を用いて以下の2つのス
テップで行う。 ステップ1: 〔t〕=〔Rt 〕〔c〕 ステップ2: 〔x〕=1/2×〔Qt 〕〔t〕 〔Rt 〕、〔Qt 〕は、上記した式15、式16に定義
されている。〔x〕および〔c〕は、上述の8x8DC
Tの場合と同様に、それぞれ、原データ〔X〕の各列の
8要素を示すベクトル、および、ベクトル〔x〕を周波
数空間に変換したベクトルである。
【0038】8x8IDCT回路の構成について述べ
る。入力レジスタ61は、周波数上のデータ〔c〕を1
クロックサイクル毎にワードシリアルに入力する。
〔c〕は、8個の要素からなるため、〔c〕のデータ全
てが入力レジスタ61に揃うのには8クロックサイクル
かかる。乗加算回路62は、ステップ1の計算を行う。
中間値保持回路63は、乗加算回路62の演算結果を一
時的に保持する。加減算回路64は、ステップ2の計算
を行う。出力レジスタ65は、原データ〔x〕を1クロ
ックサイクル毎にワードシリアルに出力する。以下、簡
単のため、1回の加算、乗加算は1クロックサイクルで
完了するものとし、乗加算回路62および加減算回路6
4は、それぞれ8クロックサイクルの間に所定の乗加算
および加減算を完了する。
る。入力レジスタ61は、周波数上のデータ〔c〕を1
クロックサイクル毎にワードシリアルに入力する。
〔c〕は、8個の要素からなるため、〔c〕のデータ全
てが入力レジスタ61に揃うのには8クロックサイクル
かかる。乗加算回路62は、ステップ1の計算を行う。
中間値保持回路63は、乗加算回路62の演算結果を一
時的に保持する。加減算回路64は、ステップ2の計算
を行う。出力レジスタ65は、原データ〔x〕を1クロ
ックサイクル毎にワードシリアルに出力する。以下、簡
単のため、1回の加算、乗加算は1クロックサイクルで
完了するものとし、乗加算回路62および加減算回路6
4は、それぞれ8クロックサイクルの間に所定の乗加算
および加減算を完了する。
【0039】ステップ1の動作の説明 ステップ1では、周波数上のデータ〔c〕に対して各列
に高々4つの無理数の因子を有する式15に示した行列
〔Rt 〕を乗ずる計算を行う。 ステップ1の計算式 〔t〕=〔Rt 〕〔c〕 におけるベクトル〔t〕を下記式23に示す。
に高々4つの無理数の因子を有する式15に示した行列
〔Rt 〕を乗ずる計算を行う。 ステップ1の計算式 〔t〕=〔Rt 〕〔c〕 におけるベクトル〔t〕を下記式23に示す。
【数23】 ステップ1の演算結果は、下記8個の式24で示され
る。
る。
【数24】 このステップ1の計算は、乗加算回路62を用いて行わ
れる。乗加算回路62は、上述した8x8DCT回路の
乗加算回路4と同一であり、乗加算器20、21、22
で構成される。
れる。乗加算回路62は、上述した8x8DCT回路の
乗加算回路4と同一であり、乗加算器20、21、22
で構成される。
【0040】図8に乗算器20、乗算器21および乗算
器22を用いてステップ1の計算(t0 〜t7 を求める
計算)を行う際の信号処理のタイミングを説明するため
の図を示す。 (1a)0クロックサイクルでc0 を入力し、このc0
と係数格納領域50aに格納されたAとの乗算を行い、
乗算結果(A・c0 )を信号S30として累算器40に
出力する。そして、累算器40は、乗算結果(A・
c0 )を信号S40として出力する。このとき信号S4
0はt0 となる。 (2a)1クロックサイクルでc4 を入力し、このc4
と係数格納領域50aに格納されたAとの乗算を行い、
乗算結果(A・c4 )を信号S30として累算器40に
出力する。そして、累算器40は、乗算結果(A・
c4 )を信号S40として出力する。このとき信号S4
0はt1 となる。 (3a)2クロックサイクルでc2 を入力し、このc2
と係数格納領域50cに格納されたCとの乗算を行い、
乗算結果(C・c2 )を信号S30として累算器40に
出力する。そして、累算器40は、乗算結果(C・
c2 )を信号S40として出力すると同時にこの乗算結
果(C・c2 )を保持する。 (4a)3クロックサイクルでc6 を入力し、このc6
と係数格納領域50bに格納されたBとの負の乗算を行
い、乗算結果(−B・c6 )を信号S30として累算器
40に出力する。累算器40は、この乗算結果(−B・
c6 )と2クロックサイクルで保持した乗算結果(C・
c2 )との加算を行い、加算結果(C・c2 −B・
c3 )を信号S40として出力する。このとき信号S4
0は、t2 となる。 (5a)4クロックサイクルでc2 を入力し、このc2
と係数格納領域50bに格納されたBとの乗算を行い、
乗算結果(B・c2 )を信号S30として累算器40に
出力する。そして、累算器40は、乗算結果(B・
c2 )を信号S40として出力すると同時にこの乗算結
果(B・c2 )を保持する。 (6a)5クロックサイクルでc6 を入力し、このc6
と係数格納領域50cに格納されたCとの乗算を行い、
乗算結果(C・c6 )を信号S30として累算器40に
出力する。累算器40は、この乗算結果(C・c6 )と
4クロックサイクルで保持した乗算結果(B・c2 )と
の加算を行い、加算結果(B・c2 +C・c6 )を信号
S40として出力する。このとき信号S40は、t3 と
なる。
器22を用いてステップ1の計算(t0 〜t7 を求める
計算)を行う際の信号処理のタイミングを説明するため
の図を示す。 (1a)0クロックサイクルでc0 を入力し、このc0
と係数格納領域50aに格納されたAとの乗算を行い、
乗算結果(A・c0 )を信号S30として累算器40に
出力する。そして、累算器40は、乗算結果(A・
c0 )を信号S40として出力する。このとき信号S4
0はt0 となる。 (2a)1クロックサイクルでc4 を入力し、このc4
と係数格納領域50aに格納されたAとの乗算を行い、
乗算結果(A・c4 )を信号S30として累算器40に
出力する。そして、累算器40は、乗算結果(A・
c4 )を信号S40として出力する。このとき信号S4
0はt1 となる。 (3a)2クロックサイクルでc2 を入力し、このc2
と係数格納領域50cに格納されたCとの乗算を行い、
乗算結果(C・c2 )を信号S30として累算器40に
出力する。そして、累算器40は、乗算結果(C・
c2 )を信号S40として出力すると同時にこの乗算結
果(C・c2 )を保持する。 (4a)3クロックサイクルでc6 を入力し、このc6
と係数格納領域50bに格納されたBとの負の乗算を行
い、乗算結果(−B・c6 )を信号S30として累算器
40に出力する。累算器40は、この乗算結果(−B・
c6 )と2クロックサイクルで保持した乗算結果(C・
c2 )との加算を行い、加算結果(C・c2 −B・
c3 )を信号S40として出力する。このとき信号S4
0は、t2 となる。 (5a)4クロックサイクルでc2 を入力し、このc2
と係数格納領域50bに格納されたBとの乗算を行い、
乗算結果(B・c2 )を信号S30として累算器40に
出力する。そして、累算器40は、乗算結果(B・
c2 )を信号S40として出力すると同時にこの乗算結
果(B・c2 )を保持する。 (6a)5クロックサイクルでc6 を入力し、このc6
と係数格納領域50cに格納されたCとの乗算を行い、
乗算結果(C・c6 )を信号S30として累算器40に
出力する。累算器40は、この乗算結果(C・c6 )と
4クロックサイクルで保持した乗算結果(B・c2 )と
の加算を行い、加算結果(B・c2 +C・c6 )を信号
S40として出力する。このとき信号S40は、t3 と
なる。
【0041】次に、乗算器21および乗算器22を用い
てステップ1の計算を行う際の信号処理のタイミングに
ついて説明する。 (1b)0クロックサイクルで乗算器21および乗算器
22は、それぞれc1を入力し、それぞれ係数格納領域
51dに格納されたGおよび係数格納領域51bに格納
されたEとの乗算を行い、乗算結果(G・c1 )および
(E・c1 )を信号S30として累算器40に出力す
る。累算器40は、この乗算結果を信号S40として出
力すると同時に保持する。 (2b)1クロックサイクルで乗算器21および乗算器
22は、それぞれc3を入力し、それぞれ係数格納領域
51cに格納されたFおよび係数格納領域51dに格納
されたGとの負の乗算を行い、乗算結果(−F・c3 )
および(−G・c3 )を信号S30として累算器40に
出力する。累算器40は、この乗算結果と0クロックサ
イクルで保持した乗算結果(G・c1 )および(E・c
1 )との加算を行い、この加算結果(Gc1 −Fc3 )
および(Ec1 −Gc3 )を出力すると同時に保持す
る。 (3b)2クロックサイクルで乗算器21および乗算器
22は、それぞれc5を入力し、それぞれ係数格納領域
51bに格納されたEとの乗算および係数格納領域51
aに格納されたDとの負の乗算を行い、乗算結果(Ec
5 )および(−Dc5 )を信号S30として累算器40
に出力する。累算器40は、この乗算結果と0クロック
サイクルで保持した加算結果(Gc1 −Fc3 )および
(Ec1−Gc3 )との加算を行い、この加算結果(G
c1 −F・c3 +Ec5 )および(Ec1 −G・c3 −
Dc5 )を出力すると同時に保持する。 (4b)3クロックサイクルで乗算器21および乗算器
22は、それぞれc7を入力し、それぞれ係数格納領域
51aに格納されたDおよび係数格納領域51cに格納
されたFとの負の乗算を行い、乗算結果(−Dc7 )お
よび(−Fc7)を信号S30として累算器40に出力
する。累算器40は、この乗算結果と2クロックサイク
ルで保持した加算結果(Gc1 −F・c3 +Ec5 )お
よび(Ec1 −G・c3 −Dc5 )との加算を行い、加
算結果(Gc1 −F・c3 +Ec 5 −Dc7 )および
(Ec1 −G・c3 −Dc5 −Fc7 )を信号S40と
して出力する。このとき(Gc1 −F・c3 +Ec5 −
Dc7 )および(Ec1 −G・c3 −Dc5 −Fc7 )
はそれぞれt4 およびt6 となる。 (5b)クロックサイクル4〜クロックサイクル7で
は、乗算器21および乗算器22は、それぞれクロック
サイクル4でc1 を入力し、クロックサイクル5でc3
を入力し、クロックサイクル6でc5 を入力し、クロッ
クサイクル7でc7 を入力して、上述の(1b)〜(4
b)と同様の計算を行い、t5 (Fc1 −Dc3 +Gc
5 +Ec7 )およびt7 (Dc1 +Ec3 +Fc5 −G
c7 )を信号S40として出力する。このように、ベク
トル〔t〕の8要素(t0 〜t7 )は、7クロックサイ
クルで中間値保持回路3に出力される。
てステップ1の計算を行う際の信号処理のタイミングに
ついて説明する。 (1b)0クロックサイクルで乗算器21および乗算器
22は、それぞれc1を入力し、それぞれ係数格納領域
51dに格納されたGおよび係数格納領域51bに格納
されたEとの乗算を行い、乗算結果(G・c1 )および
(E・c1 )を信号S30として累算器40に出力す
る。累算器40は、この乗算結果を信号S40として出
力すると同時に保持する。 (2b)1クロックサイクルで乗算器21および乗算器
22は、それぞれc3を入力し、それぞれ係数格納領域
51cに格納されたFおよび係数格納領域51dに格納
されたGとの負の乗算を行い、乗算結果(−F・c3 )
および(−G・c3 )を信号S30として累算器40に
出力する。累算器40は、この乗算結果と0クロックサ
イクルで保持した乗算結果(G・c1 )および(E・c
1 )との加算を行い、この加算結果(Gc1 −Fc3 )
および(Ec1 −Gc3 )を出力すると同時に保持す
る。 (3b)2クロックサイクルで乗算器21および乗算器
22は、それぞれc5を入力し、それぞれ係数格納領域
51bに格納されたEとの乗算および係数格納領域51
aに格納されたDとの負の乗算を行い、乗算結果(Ec
5 )および(−Dc5 )を信号S30として累算器40
に出力する。累算器40は、この乗算結果と0クロック
サイクルで保持した加算結果(Gc1 −Fc3 )および
(Ec1−Gc3 )との加算を行い、この加算結果(G
c1 −F・c3 +Ec5 )および(Ec1 −G・c3 −
Dc5 )を出力すると同時に保持する。 (4b)3クロックサイクルで乗算器21および乗算器
22は、それぞれc7を入力し、それぞれ係数格納領域
51aに格納されたDおよび係数格納領域51cに格納
されたFとの負の乗算を行い、乗算結果(−Dc7 )お
よび(−Fc7)を信号S30として累算器40に出力
する。累算器40は、この乗算結果と2クロックサイク
ルで保持した加算結果(Gc1 −F・c3 +Ec5 )お
よび(Ec1 −G・c3 −Dc5 )との加算を行い、加
算結果(Gc1 −F・c3 +Ec 5 −Dc7 )および
(Ec1 −G・c3 −Dc5 −Fc7 )を信号S40と
して出力する。このとき(Gc1 −F・c3 +Ec5 −
Dc7 )および(Ec1 −G・c3 −Dc5 −Fc7 )
はそれぞれt4 およびt6 となる。 (5b)クロックサイクル4〜クロックサイクル7で
は、乗算器21および乗算器22は、それぞれクロック
サイクル4でc1 を入力し、クロックサイクル5でc3
を入力し、クロックサイクル6でc5 を入力し、クロッ
クサイクル7でc7 を入力して、上述の(1b)〜(4
b)と同様の計算を行い、t5 (Fc1 −Dc3 +Gc
5 +Ec7 )およびt7 (Dc1 +Ec3 +Fc5 −G
c7 )を信号S40として出力する。このように、ベク
トル〔t〕の8要素(t0 〜t7 )は、7クロックサイ
クルで中間値保持回路3に出力される。
【0042】もし、乗加算器20、21、22の計算速
度が遅く、1クロックサイクルで乗加算を行えない場合
には、計算時間がパイプラインの乱れなく動作させる許
容時間(8クロックサイクル)内にするため、上述の8
x8DCT回路と同様に、それぞれ複数の乗加算器2
0、21、22を用いて計算を行えばよい。
度が遅く、1クロックサイクルで乗加算を行えない場合
には、計算時間がパイプラインの乱れなく動作させる許
容時間(8クロックサイクル)内にするため、上述の8
x8DCT回路と同様に、それぞれ複数の乗加算器2
0、21、22を用いて計算を行えばよい。
【0043】ステップ2の動作の説明 ステップ2では、ステップ1の出力(t0 〜t7 )に対
して、係数が1、−1または0である式16に示した定
数行列〔Qt 〕との乗算を行う。 ステップ2の計算式 〔x〕=1/2×〔Qt 〕〔t〕 の演算結果は、下記8個の式25で示される。
して、係数が1、−1または0である式16に示した定
数行列〔Qt 〕との乗算を行う。 ステップ2の計算式 〔x〕=1/2×〔Qt 〕〔t〕 の演算結果は、下記8個の式25で示される。
【数25】 ステップ2の計算式において、〔Qt 〕〔t〕の計算結
果は最終的に1/2倍しているが、これは〔Qt 〕
〔t〕の出力を2ビット右シフトすればよいので、回路
的には特に計算回路は必要ない。
果は最終的に1/2倍しているが、これは〔Qt 〕
〔t〕の出力を2ビット右シフトすればよいので、回路
的には特に計算回路は必要ない。
【0044】図9に加減算回路64の基本回路を組み合
わせて処理を行う加減算回路2の信号処理概念図を示
す。また、図10に加減算回路64を用いてステップ2
の計算を行う際の信号処理のタイミングを説明するため
の図を示す。図9に示すようにベクトル〔x〕の8要素
(x0 〜x7 )を求めるには乗加算回路64を7回使用
するため、1つの加減算回路64を用いて計算を行う場
合には、図10に示すようにベクトル〔x〕の8要素は
7クロックサイクルで中間値保持回路63に出力され
る。
わせて処理を行う加減算回路2の信号処理概念図を示
す。また、図10に加減算回路64を用いてステップ2
の計算を行う際の信号処理のタイミングを説明するため
の図を示す。図9に示すようにベクトル〔x〕の8要素
(x0 〜x7 )を求めるには乗加算回路64を7回使用
するため、1つの加減算回路64を用いて計算を行う場
合には、図10に示すようにベクトル〔x〕の8要素は
7クロックサイクルで中間値保持回路63に出力され
る。
【0045】つまり、加減算回路64は、 (1)0クロックサイクルで1対の第1段の加算器11
a’および減算器12a’を用いて入力t0 とt1 との
加算および減算を行い、加算器11a’は、加算結果
(t0 +t1 )を出力し、減算器12a’は、減算結果
(t0 −t1 )を出力する。 (2)1クロックサイクルで1対の第2段の加算器11
b’および減算器12b’を用いて入力(t0 +t1 )
とt3 との加算および減算を行い、加算器11b’は、
加算結果(t0 +t1 +t3 )を出力し、減算器12
b’は、減算結果(t0 +t1 −t3 )を出力する。 (3)2クロックサイクルで1対の第3段の加算器11
c’および減算器12c’を用いて入力(t0 −t1 )
とt2 との加算および減算を行い、加算器11c’は、
加算結果(t0 −t1 +t2 )を出力し、減算器12
c’は、減算結果(t0 −t1 −t2 )を出力する。 (4)3クロックサイクルで1対の第4段の加算器11
d’および減算器12d’を用いて入力(t0 +t1 +
t3 )とt7 との加算および減算を行い、加算器11
d’は、加算結果(t0 +t1 +t7 =x0 )を出力
し、減算器12d’は、減算結果(t0 +t1 −t7 =
x7 )を出力する。 (5)4クロックサイクルで1対の第5段の加算器11
e’および減算器12e’を用いて入力(t0 −t1 +
t2 )とt6 との加算および減算を行い、加算器11
e’は、加算結果(t0 −t1 +t2 +t6 =x1 )を
出力し、減算器12e’は、減算結果(t0 −t1 +t
2 −t6 =x6 )を出力する。 (6)5クロックサイクルで1対の第7段の加算器11
g’および減算器12g’を用いて入力(t0 +t1 −
t3 )とt4 との加算および減算を行い、加算器11g
は、加算結果(t0 +t1 −t3 +t4 =x3 )を出力
し、減算器12gは、減算結果(t0 +t1 −t3 −t
4 =x4 )を出力する。 (7)6クロックサイクルで1対の第6段の加算器11
f’および減算器12f’を用いて入力(t0 −t1 −
t2 )とt5 との加算および減算を行い、加算器11
f’は、加算結果(t0 −t1 −t2 +t5 =x2 )を
出力し、減算器12f’は、減算結果(t0 −t1 −t
2 −t5 =x5 )を出力する。このように原データ
〔x〕の8要素(s0 〜s7 )は、7クロックサイクル
で出力レジスタ65に出力される。
a’および減算器12a’を用いて入力t0 とt1 との
加算および減算を行い、加算器11a’は、加算結果
(t0 +t1 )を出力し、減算器12a’は、減算結果
(t0 −t1 )を出力する。 (2)1クロックサイクルで1対の第2段の加算器11
b’および減算器12b’を用いて入力(t0 +t1 )
とt3 との加算および減算を行い、加算器11b’は、
加算結果(t0 +t1 +t3 )を出力し、減算器12
b’は、減算結果(t0 +t1 −t3 )を出力する。 (3)2クロックサイクルで1対の第3段の加算器11
c’および減算器12c’を用いて入力(t0 −t1 )
とt2 との加算および減算を行い、加算器11c’は、
加算結果(t0 −t1 +t2 )を出力し、減算器12
c’は、減算結果(t0 −t1 −t2 )を出力する。 (4)3クロックサイクルで1対の第4段の加算器11
d’および減算器12d’を用いて入力(t0 +t1 +
t3 )とt7 との加算および減算を行い、加算器11
d’は、加算結果(t0 +t1 +t7 =x0 )を出力
し、減算器12d’は、減算結果(t0 +t1 −t7 =
x7 )を出力する。 (5)4クロックサイクルで1対の第5段の加算器11
e’および減算器12e’を用いて入力(t0 −t1 +
t2 )とt6 との加算および減算を行い、加算器11
e’は、加算結果(t0 −t1 +t2 +t6 =x1 )を
出力し、減算器12e’は、減算結果(t0 −t1 +t
2 −t6 =x6 )を出力する。 (6)5クロックサイクルで1対の第7段の加算器11
g’および減算器12g’を用いて入力(t0 +t1 −
t3 )とt4 との加算および減算を行い、加算器11g
は、加算結果(t0 +t1 −t3 +t4 =x3 )を出力
し、減算器12gは、減算結果(t0 +t1 −t3 −t
4 =x4 )を出力する。 (7)6クロックサイクルで1対の第6段の加算器11
f’および減算器12f’を用いて入力(t0 −t1 −
t2 )とt5 との加算および減算を行い、加算器11
f’は、加算結果(t0 −t1 −t2 +t5 =x2 )を
出力し、減算器12f’は、減算結果(t0 −t1 −t
2 −t5 =x5 )を出力する。このように原データ
〔x〕の8要素(s0 〜s7 )は、7クロックサイクル
で出力レジスタ65に出力される。
【0046】もし、加減算回路64の加算器11および
減算器12の計算速度が遅く、1クロックサイクルで加
減算が完了しない場合は、計算時間をパイプラインを乱
れなく動作させる許容時間(8クロックサイクル)内に
するために、8x8DCT回路の加減算回路2の場合と
同様に、加減算回路64を複数の単位回路(1対の加算
器11および減算器12で構成される)で構成すればよ
い。
減算器12の計算速度が遅く、1クロックサイクルで加
減算が完了しない場合は、計算時間をパイプラインを乱
れなく動作させる許容時間(8クロックサイクル)内に
するために、8x8DCT回路の加減算回路2の場合と
同様に、加減算回路64を複数の単位回路(1対の加算
器11および減算器12で構成される)で構成すればよ
い。
【0047】このように、本発明の8x8IDCT回路
では、8x8IDCTの計算を行う際に、原データ
〔X〕の各列の8個の要素からなるベクトル〔x〕を、
周波数上のデータ〔C〕の各列の8個の要素からなるベ
クトル〔c〕に対して上述のステップ1およびステップ
2の2つの処理を行うことで計算し、この計算を〔C〕
の8列についてそれぞれ行うことで64個の要素からな
る原データ〔X〕を計算する。ベクトル〔x〕の各列の
8要素を求める際に必要な乗算回数は、ステップ1で行
う22回のみであるため、原データ〔X〕(64要素)
を求める際に必要な乗算回数は、22回×8列=176
回のみである。このように、本発明の8次IDCT装置
では、従来の8次IDCT装置に比べて乗算回数を80
回も少なくすることができ、乗加算が1クロックサイク
ルで完了する場合には、乗加算器は、乗加算器20、2
1、22の3つを用いればよく、回路構成が簡単にな
る。また、無理数を含む演算の数が低減されるため、無
理数の近似を行う際に生ずる誤差の累積を低減すること
ができる。
では、8x8IDCTの計算を行う際に、原データ
〔X〕の各列の8個の要素からなるベクトル〔x〕を、
周波数上のデータ〔C〕の各列の8個の要素からなるベ
クトル〔c〕に対して上述のステップ1およびステップ
2の2つの処理を行うことで計算し、この計算を〔C〕
の8列についてそれぞれ行うことで64個の要素からな
る原データ〔X〕を計算する。ベクトル〔x〕の各列の
8要素を求める際に必要な乗算回数は、ステップ1で行
う22回のみであるため、原データ〔X〕(64要素)
を求める際に必要な乗算回数は、22回×8列=176
回のみである。このように、本発明の8次IDCT装置
では、従来の8次IDCT装置に比べて乗算回数を80
回も少なくすることができ、乗加算が1クロックサイク
ルで完了する場合には、乗加算器は、乗加算器20、2
1、22の3つを用いればよく、回路構成が簡単にな
る。また、無理数を含む演算の数が低減されるため、無
理数の近似を行う際に生ずる誤差の累積を低減すること
ができる。
【0048】上述の実施例では、8x8DCT変換を行
う8x8DCT回路および8x8IDCT変換を行う8
x8IDCT回路について例示したが、本発明のDCT
回路およびIDCT回路は、8x8DCTおよび8x8
IDCTを行う回路に限定されず、たとえば、4x4D
CTおよび4x4IDCT、4x8DCTおよび4x8
IDCTを行う回路であってもよい。また、上述の実施
例では、8x8離散コサイン変換および8x8離散コサ
イン逆変換の式を行列分解し、この計算を分解された行
列に応じた演算を、たとえば、半導体デバイスとして形
成した電子回路によって実現する、あるいは、上述した
計算方法に応じたプログラムを組み、このプログラムを
マイクロコンピュータを用いたコンピュータソフトウェ
アで実行させ、さらにまた上述した演算をDSP等で行
わせることができる。このように上述した8x8離散コ
サイン変換回路および8x8離散コサイン逆変換回路の
実現方法は任意にすることができる。
う8x8DCT回路および8x8IDCT変換を行う8
x8IDCT回路について例示したが、本発明のDCT
回路およびIDCT回路は、8x8DCTおよび8x8
IDCTを行う回路に限定されず、たとえば、4x4D
CTおよび4x4IDCT、4x8DCTおよび4x8
IDCTを行う回路であってもよい。また、上述の実施
例では、8x8離散コサイン変換および8x8離散コサ
イン逆変換の式を行列分解し、この計算を分解された行
列に応じた演算を、たとえば、半導体デバイスとして形
成した電子回路によって実現する、あるいは、上述した
計算方法に応じたプログラムを組み、このプログラムを
マイクロコンピュータを用いたコンピュータソフトウェ
アで実行させ、さらにまた上述した演算をDSP等で行
わせることができる。このように上述した8x8離散コ
サイン変換回路および8x8離散コサイン逆変換回路の
実現方法は任意にすることができる。
【0049】
【発明の効果】本発明のDCT回路によれば、離散コサ
イン変換の行列を因子が1、0または−1の定数行列
(〔Q〕)と、離散コサイン変換の行列よりは無理数の
数が少ない行列(〔R〕)とに行列分解して、加減算回
路を用いて行列形式のデータに対して定数行列〔Q〕と
の内積演算に相当する加減算を行い、乗加算回路を用い
て加減算回路の演算結果に対して行列〔R〕との内積演
算に相当する乗加算を行うため、乗加算回路における乗
算は、行列形式のデータに対して離散コサイン変換の行
列との乗算を行う場合に比べて乗算回数を少なくするこ
とができる。そのため、無理数を含む演算の数を削減す
ることができ計算結果の精度が向上することができる。
また、乗算器の数を削減でき回路構成が簡単となり、回
路規模を縮小することができる。また、無理数を含む演
算の数が低減されるため、無理数の近似を行う際に生ず
る誤差の累積を低減することができる。また、本発明の
8次IDCT装置によれば、離散コサイン逆変換の行列
を離散コサイン変換の行列よりは無理数の数が少ない行
列(〔Rt 〕)と、因子が1、0または−1の定数行列
(〔Qt 〕)とに行列分解して、乗加算回路を用いて加
減算回路の演算結果に対して行列〔Rt 〕との内積演算
に相当する乗加算を行い、加減算回路を用いて行列形式
のデータに対して定数行列〔Qt 〕との内積演算に相当
する加減算を行うため、乗加算回路における乗算は、行
列形式のデータに対して離散コサイン逆変換の行列との
乗算を行う場合に比べて乗算回数を少なくすることがで
きる。そのため、無理数を含む演算の数を削減すること
ができ計算結果の精度が向上することができる。また、
乗算器の数を削減でき回路構成が簡単となり、回路規模
を縮小することができる。また、無理数を含む演算の数
が低減されるため、無理数の近似を行う際に生ずる誤差
の累積を低減することができる。
イン変換の行列を因子が1、0または−1の定数行列
(〔Q〕)と、離散コサイン変換の行列よりは無理数の
数が少ない行列(〔R〕)とに行列分解して、加減算回
路を用いて行列形式のデータに対して定数行列〔Q〕と
の内積演算に相当する加減算を行い、乗加算回路を用い
て加減算回路の演算結果に対して行列〔R〕との内積演
算に相当する乗加算を行うため、乗加算回路における乗
算は、行列形式のデータに対して離散コサイン変換の行
列との乗算を行う場合に比べて乗算回数を少なくするこ
とができる。そのため、無理数を含む演算の数を削減す
ることができ計算結果の精度が向上することができる。
また、乗算器の数を削減でき回路構成が簡単となり、回
路規模を縮小することができる。また、無理数を含む演
算の数が低減されるため、無理数の近似を行う際に生ず
る誤差の累積を低減することができる。また、本発明の
8次IDCT装置によれば、離散コサイン逆変換の行列
を離散コサイン変換の行列よりは無理数の数が少ない行
列(〔Rt 〕)と、因子が1、0または−1の定数行列
(〔Qt 〕)とに行列分解して、乗加算回路を用いて加
減算回路の演算結果に対して行列〔Rt 〕との内積演算
に相当する乗加算を行い、加減算回路を用いて行列形式
のデータに対して定数行列〔Qt 〕との内積演算に相当
する加減算を行うため、乗加算回路における乗算は、行
列形式のデータに対して離散コサイン逆変換の行列との
乗算を行う場合に比べて乗算回数を少なくすることがで
きる。そのため、無理数を含む演算の数を削減すること
ができ計算結果の精度が向上することができる。また、
乗算器の数を削減でき回路構成が簡単となり、回路規模
を縮小することができる。また、無理数を含む演算の数
が低減されるため、無理数の近似を行う際に生ずる誤差
の累積を低減することができる。
【図1】本発明の8x8DCT回路の回路構成を示す図
である。
である。
【図2】本発明の8x8DCT回路の加減算回路2の基
本構成図である。
本構成図である。
【図3】本発明の8x8DCT回路の加減算回路2を用
いてステップ1の計算を行う際の信号処理概念図であ
る。
いてステップ1の計算を行う際の信号処理概念図であ
る。
【図4】加減算回路2の信号処理のタイミングを説明す
るための図である。
るための図である。
【図5】本発明の8x8DCT回路の乗加算回路4の回
路構成を示す図である。
路構成を示す図である。
【図6】本発明の8x8DCT回路の乗加算回路4を用
いてステップ2の計算を行う際の信号処理のタイミング
を説明するための図である。
いてステップ2の計算を行う際の信号処理のタイミング
を説明するための図である。
【図7】本発明の8x8IDCT回路の回路構成を示す
図である。
図である。
【図8】本発明の8x8IDCT回路の乗加算回路62
を用いてステップ1の計算を行う際の信号処理のタイミ
ングを説明するための図である。
を用いてステップ1の計算を行う際の信号処理のタイミ
ングを説明するための図である。
【図9】本発明の8次IDCT装置のステップ2の計算
のシグナルフローグラフを示す図である。
のシグナルフローグラフを示す図である。
【図10】本発明の8x8IDCT回路の加減算回路6
4を用いてステップ2の計算を行う際の信号処理概念図
である。
4を用いてステップ2の計算を行う際の信号処理概念図
である。
1、61・・・入力レジスタ 2、64・・・加減算回路 3、63・・・中間値保持回路 4、62・・・乗加算回路 5、65・・・出力レジスタ 11・・・・・加算器 12・・・・・減算器 20、21、22・・乗加算器 30・・・・・乗算器 40・・・・・累算器 50、51・・係数格納メモリ
Claims (10)
- 【請求項1】 因子が+1、−1または0である第1の
定数行列(〔Q〕)と、8x8離散コサイン変換によっ
て規定される無理数を含む第2の行列(〔R〕)とを順
次、行列形式の入力データに行列演算を行う8x8離散
コサイン変換回路であって、 前記第1の定数行列〔Q〕と、行列形式の入力データと
の内積に相当する加減算を行う加減算回路と、 前記第2の行列〔R〕と、上記加減算回路における演算
結果との内積演算に相当する乗加算を行う乗加算回路と
を有する8x8離散コサイン変換回路。 - 【請求項2】 前記第1の定数行列〔Q〕は、 【数1】 で定義され、 前記加減算回路は、 1または複数個の加算器および減算器で構成され、 行列形式の入力データとの内積に相当する加減算を行う
ことを特徴とする請求項1記載の8x8離散コサイン変
換回路。 - 【請求項3】 前記加減算回路は、 第1の入力と第2の入力との加算を行う加算器と、第1
の入力から第2の入力を減算する減算器との単位回路を
有し、 1または複数の上記単位回路の組合せによって上記演算
を行うように構成された請求項2記載の8x8離散コサ
イン変換回路。 - 【請求項4】 前記第2の行列〔R〕は、 【数2】 で定義され、 前記乗加算回路は、 乗算器と、係数保持回路と、累算器とで構成され、 係数保持回路は、所定の係数を記録し、 乗算器は、入力と係数保持回路に記録された係数との乗
算を行い、乗算結果を累算器に出力し、 累算器は、乗算器から入力した乗算結果を保持するとと
もに、この乗算結果と前回に保持した乗算結果との加減
算を行うことを特徴とする請求項3記載の8x8離散コ
サイン変換回路。 - 【請求項5】 8x8離散コサイン変換によって規定さ
れる無理数を含む行列(〔R〕)の転置行列である第1
の定数行列(〔Rt 〕)と、因子が+1、−1または0
である定数行列(〔Q〕)の転置行列である第2の定数
行列(〔Qt〕)とを順次、行列形式の入力データに行
列演算を行う8x8離散コサイン逆変換回路であって、 前記第1の行列〔Rt 〕と、行列形式の入力データとの
内積に相当する乗加算を行う乗加算回路と、 前記第2の定数行列〔Qt 〕と、上記乗加算回路におけ
る演算結果との内積演算に相当する加減算を行う加減算
回路とを有する8x8離散コサイン逆変換回路。 - 【請求項6】 前記第2の定数行列〔Qt 〕は、 【数3】 で定義され、 前記加減算回路は、 1または複数個の加算器および減算器で構成され、 行列形式の入力データとの内積に相当する加減算を行う
ことを特徴とする請求項5記載の8x8離散コサイン逆
変換回路。 - 【請求項7】 前記加減算回路は、 第1の入力と第2の入力との加算を行う加算器と、第1
の入力から第2の入力を減算する減算器との単位回路を
有し、 1または複数の上記単位回路の組合せによって上記演算
を行うように構成された請求項6記載の8x8離散コサ
イン逆変換回路。 - 【請求項8】前記第1の行列〔Rt 〕は、 【数4】 で定義され、 前記乗加算回路は、 乗算器と、係数保持回路と、累算器とで構成され、 係数保持回路は、所定の係数を記録し、 乗算器は、入力と係数保持回路に記録された係数との乗
算を行い、乗算結果を累算器に出力し、 累算器は、乗算器から入力した乗算結果を保持するとと
もに、この乗算結果と前回に保持した乗算結果との加減
算を行うことを特徴とする請求項7記載の8x8離散コ
サイン逆変換回路。 - 【請求項9】 因子が+1、−1または0である第1の
定数行列(〔Q〕)と、離散コサイン変換によって規定
される無理数を含む第2の行列(〔R〕)とを順次、行
列形式のデータに行列演算を行う離散コサイン変換回路
であって、 加減算回路と、乗加算回路とを有し、 加減算回路は、前記第1の定数行列〔Q〕と、行列形式
の入力データとの内積に相当する加減算を行い、 乗加算回路は、前記第2の行列〔R〕と、上記加減算回
路における演算結果との内積演算に相当する乗加算を行
う、 離散コサイン変換回路。 - 【請求項10】 離散コサイン変換によって規定される
無理数を含む行列(〔R〕)の転置行列である第1の定
数行列(〔Rt 〕)と、因子が+1、−1または0であ
る定数行列(〔Q〕)の転置行列である第2の定数行列
(〔Qt 〕)とを順次、行列形式のデータに行列演算を
行う離散コサイン逆変換回路であって、 乗加算回路と、加減算回路とを有し、 乗加算回路は、前記第1の行列〔Rt 〕と、行列形式の
入力データとの内積に相当する乗加算を行い、 加減算回路は、前記第2の定数行列〔Qt 〕と、上記乗
加算回路における演算結果との内積演算に相当する加減
算を行う、 離散コサイン逆変換回路。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4273738A JPH06103301A (ja) | 1992-09-17 | 1992-09-17 | 8x8離散コサイン変換回路および8x8離散コサイン逆変換回路 |
| US08/115,756 US5629882A (en) | 1992-09-17 | 1993-09-03 | Discrete cosine transformation system and inverse discrete cosine transformation system, having simple structure and operable at high speed |
| EP93402264A EP0588726B1 (en) | 1992-09-17 | 1993-09-17 | Discrete cosine transformation system and method and inverse discrete cosine transformation system and method, having simple structure and operable at high speed |
| DE69329962T DE69329962T2 (de) | 1992-09-17 | 1993-09-17 | System und Verfahren für die diskrete Cosinus-Transformation und für die inverse diskrete Cosinus-Transformation mit einfacher Struktur und mit hoher Betriebsgeschwindigkeit |
| US08/552,497 US5621676A (en) | 1992-09-17 | 1995-11-09 | Discrete cosine transformation system and inverse discrete cosine transformation system, having simple structure and operable at high speed |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4273738A JPH06103301A (ja) | 1992-09-17 | 1992-09-17 | 8x8離散コサイン変換回路および8x8離散コサイン逆変換回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06103301A true JPH06103301A (ja) | 1994-04-15 |
Family
ID=17531882
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4273738A Pending JPH06103301A (ja) | 1992-09-17 | 1992-09-17 | 8x8離散コサイン変換回路および8x8離散コサイン逆変換回路 |
Country Status (4)
| Country | Link |
|---|---|
| US (2) | US5629882A (ja) |
| EP (1) | EP0588726B1 (ja) |
| JP (1) | JPH06103301A (ja) |
| DE (1) | DE69329962T2 (ja) |
Families Citing this family (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6336180B1 (en) | 1997-04-30 | 2002-01-01 | Canon Kabushiki Kaisha | Method, apparatus and system for managing virtual memory with virtual-physical mapping |
| EP0714212A3 (en) * | 1994-11-21 | 1999-03-31 | SICAN, GESELLSCHAFT FÜR SILIZIUM-ANWENDUNGEN UND CAD/CAT NIEDERSACHSEN mbH | Video decoder using concurrent processing and resource sharing |
| JPH08235159A (ja) * | 1994-12-06 | 1996-09-13 | Matsushita Electric Ind Co Ltd | 逆コサイン変換装置 |
| JP3577134B2 (ja) * | 1995-05-29 | 2004-10-13 | シャープ株式会社 | データ処理装置 |
| JP2914226B2 (ja) * | 1995-06-16 | 1999-06-28 | 日本電気株式会社 | 可逆変換を可能にするディジタル信号の変換符号化方式 |
| JP3274593B2 (ja) | 1995-09-27 | 2002-04-15 | 日本電気株式会社 | 可逆変換可能な変換装置及び逆変換装置 |
| US6222542B1 (en) | 1995-10-10 | 2001-04-24 | Anysoft, Ltd | Apparatus for and method of acquiring, processing and routing data contained in a GUI window |
| JP3129392B2 (ja) * | 1996-02-02 | 2001-01-29 | 日本電気株式会社 | 2次元idct回路 |
| US5854757A (en) * | 1996-05-07 | 1998-12-29 | Lsi Logic Corporation | Super-compact hardware architecture for IDCT computation |
| AUPO648397A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Improvements in multiprocessor architecture operation |
| US6414687B1 (en) | 1997-04-30 | 2002-07-02 | Canon Kabushiki Kaisha | Register setting-micro programming system |
| AUPO647997A0 (en) | 1997-04-30 | 1997-05-22 | Canon Information Systems Research Australia Pty Ltd | Memory controller architecture |
| US6289138B1 (en) | 1997-04-30 | 2001-09-11 | Canon Kabushiki Kaisha | General image processor |
| US6061749A (en) | 1997-04-30 | 2000-05-09 | Canon Kabushiki Kaisha | Transformation of a first dataword received from a FIFO into an input register and subsequent dataword from the FIFO into a normalized output dataword |
| US6507898B1 (en) | 1997-04-30 | 2003-01-14 | Canon Kabushiki Kaisha | Reconfigurable data cache controller |
| US6477467B1 (en) * | 1998-07-14 | 2002-11-05 | Westerngeco, L.L.C. | Efficient inversion of near singular geophysical signals |
| US6243730B1 (en) | 1999-05-04 | 2001-06-05 | Sony Electronics, Inc. | Methods and systems for performing short integer chen IDCT algorithm with fused multiply/add |
| US6859815B2 (en) * | 2000-12-19 | 2005-02-22 | Koninklijke Philips Electronics N.V. | Approximate inverse discrete cosine transform for scalable computation complexity video and still image decoding |
| JP3971135B2 (ja) * | 2001-07-11 | 2007-09-05 | 株式会社テクノマセマティカル | Dct行列分解方法及びdct装置 |
| US20050213835A1 (en) * | 2004-03-18 | 2005-09-29 | Huazhong University Of Science & Technology And Samsung Electronics Co., Ltd. | Integer transform matrix selection method in video coding and related integer transform method |
Family Cites Families (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2625973C3 (de) * | 1976-06-10 | 1981-12-24 | Philips Patentverwaltung Gmbh, 2000 Hamburg | Verfahren und Anordnung zur redundanzvermindernden Transformation von Bildern |
| US4293920A (en) * | 1979-09-04 | 1981-10-06 | Merola Pasquale A | Two-dimensional transform processor |
| DE3482627D1 (de) * | 1983-04-11 | 1990-08-09 | Nec Corp | Orthogonale transformation und geraet zu ihrer durchfuehrung. |
| US4621337A (en) * | 1983-08-11 | 1986-11-04 | Eastman Kodak Company | Transformation circuit for implementing a collapsed Walsh-Hadamard transform |
| FR2582424B1 (fr) * | 1985-05-22 | 1989-06-30 | Guichard Jacques | Circuit de calcul rapide de la transformee en cosinus, directe ou inverse, d'un signal discret |
| US4829465A (en) * | 1986-06-19 | 1989-05-09 | American Telephone And Telegraph Company, At&T Bell Laboratories | High speed cosine transform |
| US4791598A (en) * | 1987-03-24 | 1988-12-13 | Bell Communications Research, Inc. | Two-dimensional discrete cosine transform processor |
| GB8713455D0 (en) * | 1987-06-09 | 1987-07-15 | Sony Corp | Television standards converters |
| US4914615A (en) * | 1987-09-04 | 1990-04-03 | At&T Bell Laboratories | Calculator of matrix products |
| US5054103A (en) * | 1987-09-24 | 1991-10-01 | Matsushita Electric Works, Ltd. | Picture encoding system |
| US5001663A (en) * | 1989-05-03 | 1991-03-19 | Eastman Kodak Company | Programmable digital circuit for performing a matrix multiplication |
| US5008848A (en) * | 1989-05-30 | 1991-04-16 | North American Philips Corporation | Circuit for performing S-transform |
| IT8921420V0 (it) * | 1989-07-13 | 1989-07-13 | Telettra Spa | Sistema e circuito per il calcolo di trasformata discreta bidimensionale. |
| JPH0375868A (ja) * | 1989-08-17 | 1991-03-29 | Sony Corp | 行列データ乗算装置 |
| JPH03100771A (ja) * | 1989-09-06 | 1991-04-25 | Internatl Business Mach Corp <Ibm> | アレイ処理方法 |
| JPH03102567A (ja) * | 1989-09-18 | 1991-04-26 | Sony Corp | 行列乗算回路 |
| US5007100A (en) * | 1989-10-10 | 1991-04-09 | Unisys Corporation | Diagnostic system for a parallel pipelined image processing system |
| JP3185211B2 (ja) * | 1989-12-15 | 2001-07-09 | ソニー株式会社 | 行列データ乗算装置 |
| JP2646778B2 (ja) * | 1990-01-17 | 1997-08-27 | 日本電気株式会社 | ディジタル信号処理装置 |
| US5126962A (en) * | 1990-07-11 | 1992-06-30 | Massachusetts Institute Of Technology | Discrete cosine transform processing system |
| JPH04242861A (ja) * | 1990-12-28 | 1992-08-31 | Sony Corp | 内積演算回路 |
| US5257213A (en) * | 1991-02-20 | 1993-10-26 | Samsung Electronics Co., Ltd. | Method and circuit for two-dimensional discrete cosine transform |
| JP2866754B2 (ja) * | 1991-03-27 | 1999-03-08 | 三菱電機株式会社 | 演算処理装置 |
| US5349549A (en) * | 1991-09-30 | 1994-09-20 | Sony Corporation | Forward transform processing apparatus and inverse processing apparatus for modified discrete cosine transforms, and method of performing spectral and temporal analyses including simplified forward and inverse orthogonal transform processing |
| US5253192A (en) * | 1991-11-14 | 1993-10-12 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Signal processing apparatus and method for iteratively determining Arithmetic Fourier Transform |
| US5654910A (en) * | 1992-08-26 | 1997-08-05 | Sony Corporation | Processing method and apparatus for performing 4 ×4 discrete cosine transformation or inverse discrete cosing transformation |
-
1992
- 1992-09-17 JP JP4273738A patent/JPH06103301A/ja active Pending
-
1993
- 1993-09-03 US US08/115,756 patent/US5629882A/en not_active Expired - Fee Related
- 1993-09-17 DE DE69329962T patent/DE69329962T2/de not_active Expired - Fee Related
- 1993-09-17 EP EP93402264A patent/EP0588726B1/en not_active Expired - Lifetime
-
1995
- 1995-11-09 US US08/552,497 patent/US5621676A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP0588726A2 (en) | 1994-03-23 |
| DE69329962D1 (de) | 2001-04-05 |
| US5621676A (en) | 1997-04-15 |
| EP0588726A3 (en) | 1995-01-04 |
| US5629882A (en) | 1997-05-13 |
| EP0588726B1 (en) | 2001-02-28 |
| DE69329962T2 (de) | 2001-09-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH06103301A (ja) | 8x8離散コサイン変換回路および8x8離散コサイン逆変換回路 | |
| JP2646778B2 (ja) | ディジタル信号処理装置 | |
| JP3697717B2 (ja) | 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置 | |
| EP0353223B1 (en) | Two-dimensional discrete cosine transform processor | |
| US7117236B2 (en) | Parallel adder-based DCT/IDCT design using cyclic convolution | |
| US6993547B2 (en) | Address generator for fast fourier transform processor | |
| Lim et al. | A serial-parallel architecture for two-dimensional discrete cosine and inverse discrete cosine transforms | |
| JP2964172B2 (ja) | Dctマトリクス演算回路 | |
| JP3129392B2 (ja) | 2次元idct回路 | |
| JPH06149861A (ja) | Dct及び逆dct演算装置並びにその演算方法 | |
| KR19980041724A (ko) | 역이산 여현변환방법 | |
| CN1526103B (zh) | 离散余弦变换装置 | |
| Venkataramanan et al. | Estimation of frequency offset using warped discrete-Fourier transform | |
| Petrovsky et al. | Design and implementation of reversible integer quaternionic paraunitary filter banks on adder-based distributed arithmetic | |
| JPH06124300A (ja) | 2次元4x4離散コサイン変換回路および2次元4x4離散コサイン逆変換回路 | |
| US5999958A (en) | Device for computing discrete cosine transform and inverse discrete cosine transform | |
| KR940004478A (ko) | 2차원 4x4이산코사인 변환회로 및 2차원 4x4이산코사인 역변환회로 | |
| JP2012022363A (ja) | 内積演算装置および内積演算方法 | |
| Amira et al. | A novel architecture for Walsh Hadamard transforms using distributed arithmetic principles | |
| JPH0644291A (ja) | 離散コサイン変換器及び情報符号化器 | |
| JPH06162062A (ja) | 2次元8x8離散コサイン変換回路および2次元8x8離散コサイン逆変換回路 | |
| JP3652717B2 (ja) | 離散コサイン高速演算器 | |
| Bowlyn et al. | A novel distributed arithmetic approach for computing a radix-2 FFT butterfly implementation | |
| KR100189195B1 (ko) | 단일화된 시스톨릭어레이 구조에 의한 2차원 dct/dst/dht의 수행장치 | |
| JPH04307662A (ja) | 離散コサイン変換装置および逆離散コサイン変換装置 |