JPH06149861A - Dct及び逆dct演算装置並びにその演算方法 - Google Patents
Dct及び逆dct演算装置並びにその演算方法Info
- Publication number
- JPH06149861A JPH06149861A JP30207192A JP30207192A JPH06149861A JP H06149861 A JPH06149861 A JP H06149861A JP 30207192 A JP30207192 A JP 30207192A JP 30207192 A JP30207192 A JP 30207192A JP H06149861 A JPH06149861 A JP H06149861A
- Authority
- JP
- Japan
- Prior art keywords
- dct
- product
- subtraction
- addition
- dimensional
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Multimedia (AREA)
- Discrete Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】
【目的】画像データの高能率符号化の中心的処理である
DCT,逆DCT演算を高速に実行し、かつ高能率符号
化の他の処理にも使用できる、高性能かつ柔軟なDC
T,逆DCT演算装置並びにその演算方法を提供する。 【構成】データメモリ110と、アドレス発生手段12
0と、加算器140と、積和演算器150とを有するD
CT,逆DCT演算装置であって、加算器140で加減
算手続きを実行し、その結果に対して積和演算器150
で積和演算手続きを実行することにより一次元N次DC
Tを実行し、また積和演算器150で積和演算手続きを
実行し、その結果に対して加算器140で加減算手続き
を実行することにより、一次元N次逆DCTを実行す
る。
DCT,逆DCT演算を高速に実行し、かつ高能率符号
化の他の処理にも使用できる、高性能かつ柔軟なDC
T,逆DCT演算装置並びにその演算方法を提供する。 【構成】データメモリ110と、アドレス発生手段12
0と、加算器140と、積和演算器150とを有するD
CT,逆DCT演算装置であって、加算器140で加減
算手続きを実行し、その結果に対して積和演算器150
で積和演算手続きを実行することにより一次元N次DC
Tを実行し、また積和演算器150で積和演算手続きを
実行し、その結果に対して加算器140で加減算手続き
を実行することにより、一次元N次逆DCTを実行す
る。
Description
【0001】
【産業上の利用分野】本発明はテレビ電話システム,テ
レビ会議システム,ディジタルVTR等において用いら
れる画像データの高能率符号化処理の構成要素に係り、
より具体的には高能率符号化処理の中核を成す離散コサ
イン変換(ディスクリート・コサイン・トランスフォー
ム:Discrete Cosine Transfo
rm:以後DCTと呼ぶ),逆離散コサイン変換(イン
バース・コサイン・トランスフォーム:Inverse
Cosine Transform:以後逆DCTあ
るいはDCT-1と呼ぶ)を高速に処理する、DCT,逆
DCT演算装置とその演算方法に関する。
レビ会議システム,ディジタルVTR等において用いら
れる画像データの高能率符号化処理の構成要素に係り、
より具体的には高能率符号化処理の中核を成す離散コサ
イン変換(ディスクリート・コサイン・トランスフォー
ム:Discrete Cosine Transfo
rm:以後DCTと呼ぶ),逆離散コサイン変換(イン
バース・コサイン・トランスフォーム:Inverse
Cosine Transform:以後逆DCTあ
るいはDCT-1と呼ぶ)を高速に処理する、DCT,逆
DCT演算装置とその演算方法に関する。
【0002】
【従来の技術】DCTとは、画像情報等の離散データ
(以下原画像データと呼ぶ)をコサイン関数を用いて周
波数空間の離散データ(以下DCT変換結果と呼ぶ)に
変換するものであり、原画像データとDCT変換係数の
積和演算を行うことにより実行され、演算の結果、DC
T変換結果を得る。逆DCTはこのDCTの逆変換であ
り、DCT変換結果と逆DCT変換係数の積和演算を行
うことで実行され、演算の結果、原画像データを得る。
1次元の場合のDCT及び逆DCTは、データ数をNと
したとき、N次の1次元DCT及び逆DCT、あるいは
1次元N次DCT及び、1次元N次逆DCTと呼ぶ。そ
して、N次の1次元DCT及び逆DCTにおける原画像
データをx(i;N),DCT変換結果をy(k;N)
とすると、0≦i,k<Nとして、y(k;N)及びx
(i;N)はそれぞれ、 y(k;N)=x(i;N)d(i,k;N)|i …(1) x(i;N)=f(i,k;N)y(k;N)|k …(2) と表される。ただし、 d(i,k;N)=(2/N)(1/2)1/2 :k=0のとき =(2/N)cos{π(2i+1)k/2n} :k=0のとき f(i,k;N)=(1/2)1/2 =cos{π(2i+1)k/2N} :k=0以外のとき なお、上式では変数iに対する累算を“|i”のように
記述した。またd(i,k;N)をDCT変換係数、f
(i,k;N)を逆DCT変換係数と呼ぶ。上記(1)
式がDCTで、(2)式がDCT-1である。
(以下原画像データと呼ぶ)をコサイン関数を用いて周
波数空間の離散データ(以下DCT変換結果と呼ぶ)に
変換するものであり、原画像データとDCT変換係数の
積和演算を行うことにより実行され、演算の結果、DC
T変換結果を得る。逆DCTはこのDCTの逆変換であ
り、DCT変換結果と逆DCT変換係数の積和演算を行
うことで実行され、演算の結果、原画像データを得る。
1次元の場合のDCT及び逆DCTは、データ数をNと
したとき、N次の1次元DCT及び逆DCT、あるいは
1次元N次DCT及び、1次元N次逆DCTと呼ぶ。そ
して、N次の1次元DCT及び逆DCTにおける原画像
データをx(i;N),DCT変換結果をy(k;N)
とすると、0≦i,k<Nとして、y(k;N)及びx
(i;N)はそれぞれ、 y(k;N)=x(i;N)d(i,k;N)|i …(1) x(i;N)=f(i,k;N)y(k;N)|k …(2) と表される。ただし、 d(i,k;N)=(2/N)(1/2)1/2 :k=0のとき =(2/N)cos{π(2i+1)k/2n} :k=0のとき f(i,k;N)=(1/2)1/2 =cos{π(2i+1)k/2N} :k=0以外のとき なお、上式では変数iに対する累算を“|i”のように
記述した。またd(i,k;N)をDCT変換係数、f
(i,k;N)を逆DCT変換係数と呼ぶ。上記(1)
式がDCTで、(2)式がDCT-1である。
【0003】次に、N次の2次元DCT,逆DCTは、
原画像データをx(i,j;N)、DCT変換結果をy
(k,l;N)とすると、0≦i,j,k,l<Nとし
て、 y(k,l;N) =d(j,l;N)x(i,j;N)d(i,k;N)|i,j…(3) x(i,j;N) =f(i,k;N)y(k,l;N)f(i,j;N)|k,l…(4) と表すことが出来る。上記(3)式及び(4)式からわ
かるように、N次の2次元DCT,逆DCTは、それぞ
れN次の1次元DCT,逆DCTと同じ形の積和演算を
2N回繰り返すことで実行できる。
原画像データをx(i,j;N)、DCT変換結果をy
(k,l;N)とすると、0≦i,j,k,l<Nとし
て、 y(k,l;N) =d(j,l;N)x(i,j;N)d(i,k;N)|i,j…(3) x(i,j;N) =f(i,k;N)y(k,l;N)f(i,j;N)|k,l…(4) と表すことが出来る。上記(3)式及び(4)式からわ
かるように、N次の2次元DCT,逆DCTは、それぞ
れN次の1次元DCT,逆DCTと同じ形の積和演算を
2N回繰り返すことで実行できる。
【0004】原画像データのデータ量を大幅に削減する
ことを目的とした高能率符号化処理では、この2次元D
CT,2次元逆DCTと動きベクトル検出,FIRフィ
ルタ,量子化等の処理を用いてデータの圧縮を行う。M
PEG、CCITT−H.261等の高能率符号化の標
準化方式勧告案では、変換の対象となる画像データは8
×8画素とされている。つまり、これらの標準化方式を
実現するためには2次元8次DCT,逆DCTを実行す
る必要がある。
ことを目的とした高能率符号化処理では、この2次元D
CT,2次元逆DCTと動きベクトル検出,FIRフィ
ルタ,量子化等の処理を用いてデータの圧縮を行う。M
PEG、CCITT−H.261等の高能率符号化の標
準化方式勧告案では、変換の対象となる画像データは8
×8画素とされている。つまり、これらの標準化方式を
実現するためには2次元8次DCT,逆DCTを実行す
る必要がある。
【0005】以上のようなDCTの変換式を直接計算す
る方法がある。以下、この方法の従来技術その1と呼
ぶ。従来技術その1での演算量は、1次元N次DCT,
逆DCTに対してN2 回の積和演算、2次元N次DC
T,逆DCTに対して2N3 の積和演算となる。よっ
て、従来技術その1の演算装置では、2次元8次DC
T,逆DCTを実行するのに、1サイクルで積和演算1
回を実行できるとしても、1024サイクルかかること
になる。このように、従来技術その1ではNの3乗のオ
ーダーで処理サイクルが増大し、2次元8次DCT,逆
DCTを実現するために、高能率符号化処理時間の約半
分という長い処理時間を必要とするという問題があっ
た。
る方法がある。以下、この方法の従来技術その1と呼
ぶ。従来技術その1での演算量は、1次元N次DCT,
逆DCTに対してN2 回の積和演算、2次元N次DC
T,逆DCTに対して2N3 の積和演算となる。よっ
て、従来技術その1の演算装置では、2次元8次DC
T,逆DCTを実行するのに、1サイクルで積和演算1
回を実行できるとしても、1024サイクルかかること
になる。このように、従来技術その1ではNの3乗のオ
ーダーで処理サイクルが増大し、2次元8次DCT,逆
DCTを実現するために、高能率符号化処理時間の約半
分という長い処理時間を必要とするという問題があっ
た。
【0006】このような問題を解決するため、1970
年代からDCT,逆DCTの演算量を減らす高速アルゴ
リズムが開発されると共に、このような高速アルゴリズ
ムを実行する専用のDCT,逆DCT演算装置が開発さ
れてきている。これらの高速アルゴリズムは、コサイン
関数の対称性,反対称性を利用して、DCT,逆DCT
の演算量を減らすのが特徴である。これらの高速アルゴ
リズムに基づくDCT,逆DCT演算装置を従来技術そ
の2と呼ぶ。従来技術その2の例として、Byeong
Gi Lee氏により、1984年11月にIEEE
Transactionon Accoustic
s,Speech and SignalPreces
sing,Vol.32,No.6,pp.1243に
発表された高速アルゴリズムFCT法に基づくDCT,
逆DCT演算装置を簡単に紹介する。
年代からDCT,逆DCTの演算量を減らす高速アルゴ
リズムが開発されると共に、このような高速アルゴリズ
ムを実行する専用のDCT,逆DCT演算装置が開発さ
れてきている。これらの高速アルゴリズムは、コサイン
関数の対称性,反対称性を利用して、DCT,逆DCT
の演算量を減らすのが特徴である。これらの高速アルゴ
リズムに基づくDCT,逆DCT演算装置を従来技術そ
の2と呼ぶ。従来技術その2の例として、Byeong
Gi Lee氏により、1984年11月にIEEE
Transactionon Accoustic
s,Speech and SignalPreces
sing,Vol.32,No.6,pp.1243に
発表された高速アルゴリズムFCT法に基づくDCT,
逆DCT演算装置を簡単に紹介する。
【0007】図7に従来技術その2のDCT,逆DCT
演算装置の構成例を示す。図7はFCT法に基づき、8
次のDCT,逆DCTの専用演算装置を構成した場合の
ブロック図である。図7において、従来技術その2のD
CT,逆DCT装置は、加算装置710、720、73
0、740、乗算装置760、770、780を交互に
並べた構成をしている。このような構成で、FCT法の
アルゴリズムに基づく演算手順を実行することにより、
高速なDCT,逆DCT演算を実現することが出来る。
このような基本概念に基づいたDCT,逆DCT演算装
置の例としては、上谷氏等により東芝レビュー、VO
L.45,NO.8,PP.623に発表された「高精
度・高速DCT用LSI」等がある。
演算装置の構成例を示す。図7はFCT法に基づき、8
次のDCT,逆DCTの専用演算装置を構成した場合の
ブロック図である。図7において、従来技術その2のD
CT,逆DCT装置は、加算装置710、720、73
0、740、乗算装置760、770、780を交互に
並べた構成をしている。このような構成で、FCT法の
アルゴリズムに基づく演算手順を実行することにより、
高速なDCT,逆DCT演算を実現することが出来る。
このような基本概念に基づいたDCT,逆DCT演算装
置の例としては、上谷氏等により東芝レビュー、VO
L.45,NO.8,PP.623に発表された「高精
度・高速DCT用LSI」等がある。
【0008】
【発明が解決しようとする課題】以上のように、従来技
術その2のDCT,逆DCT演算装置により、DCT,
逆DCT演算を大幅に高速化することが出来る。しか
し、この従来技術その2の演算装置は下記の欠点を有し
ている。 (1)演算装置のハードウェア量が非常に大きい。 (2)特殊な構成をしているためDCT,逆DCT以外
の他の高能率符号化処理には使えない。 (3)DCT,逆DCTの変換の次数に応じて必要とさ
れている乗算装置,加算装置の数および構成が変化する
ので、柔軟性に欠ける。
術その2のDCT,逆DCT演算装置により、DCT,
逆DCT演算を大幅に高速化することが出来る。しか
し、この従来技術その2の演算装置は下記の欠点を有し
ている。 (1)演算装置のハードウェア量が非常に大きい。 (2)特殊な構成をしているためDCT,逆DCT以外
の他の高能率符号化処理には使えない。 (3)DCT,逆DCTの変換の次数に応じて必要とさ
れている乗算装置,加算装置の数および構成が変化する
ので、柔軟性に欠ける。
【0009】このため、テレビ会議システム、テレビ電
話システム等で用いられる高能率符号化処理値の小型化
・低価格化が困難だという問題が生じる。
話システム等で用いられる高能率符号化処理値の小型化
・低価格化が困難だという問題が生じる。
【0010】このような問題を解決するためには、動き
ベクトル検出,FIRフィルタ,量子化等の高能率符号
化のその他の主要な処理と共用化できるような汎用的な
構成を持ち、しかも従来技術その1よりも大幅に処理を
高速化することが出来る、DCT,逆DCT演算装置が
必要である。
ベクトル検出,FIRフィルタ,量子化等の高能率符号
化のその他の主要な処理と共用化できるような汎用的な
構成を持ち、しかも従来技術その1よりも大幅に処理を
高速化することが出来る、DCT,逆DCT演算装置が
必要である。
【0011】本発明の目的はこのような問題を解決し、
高性能でかつ柔軟なDCT,逆DCT演算装置、並びに
その演算方法を提供することにある。
高性能でかつ柔軟なDCT,逆DCT演算装置、並びに
その演算方法を提供することにある。
【0012】
【課題を解決するための手段】第1の発明のDCT,逆
DCT演算装置は、(A)原画像データ,演算途中結
果,DCT変換結果,DCT変換係数,逆DCT変換係
数を記憶するデータメモリ、(B)前記データメモリの
読みだし及び書き込みアドレスを指定するアドレス発生
手段、(C)前記アドレス発生手段の指定する前記デー
タメモリの複数のアドレスから読み出されたデータ間の
加算または減算を行い、前記加算結果を前記アドレス発
生手段の指定する前記データメモリのアドレスに書き込
む加算器、(D)前記アドレス発生手段の指定する前記
データメモリの複数のアドレスから読み出されたデータ
間の積和演算を行い、前記積和演算結果を前記アドレス
発生手段の指定する前記データメモリのアドレスに書き
込む積和演算器、を有して構成されている。
DCT演算装置は、(A)原画像データ,演算途中結
果,DCT変換結果,DCT変換係数,逆DCT変換係
数を記憶するデータメモリ、(B)前記データメモリの
読みだし及び書き込みアドレスを指定するアドレス発生
手段、(C)前記アドレス発生手段の指定する前記デー
タメモリの複数のアドレスから読み出されたデータ間の
加算または減算を行い、前記加算結果を前記アドレス発
生手段の指定する前記データメモリのアドレスに書き込
む加算器、(D)前記アドレス発生手段の指定する前記
データメモリの複数のアドレスから読み出されたデータ
間の積和演算を行い、前記積和演算結果を前記アドレス
発生手段の指定する前記データメモリのアドレスに書き
込む積和演算器、を有して構成されている。
【0013】また、第2の発明のDCT演算方法は第1
の発明のDCT及び逆DCT演算装置におけるN次(N
は2の正のべき乗で表される任意の正整数)の1次元D
CTの演算方法であって、(A)0から(M−1)まで
の引数を持つM個(Mは2からNまでの2の正のべき乗
で表される任意の正整数)のデータを入力として持ち、
前記アドレス発生手段の指定により、前記入力データの
うち引数の和がMである二つの前記入力データの組を順
次前記データメモリから読みだし、読み出された二つの
前記入力データ間の加算を前記加算器で行い、1から
(M/2−1)までの引数を持つM/2個の加算結果を
前記データメモリに書き込む加算ステップ、(B)0か
ら(M−1)までの引数を持つM個のデータを入力とし
て持ち、前記アドレス発生手段の指定により、前記入力
データのうち引数の和がMである二つの前記入力データ
の組を順次前記データメモリから読み出し、読み出され
た二つの前記入力データ間の減算を前記加算器で行い、
1から(M/2−1)までの引数を持つM/2個の減算
結果を前記データメモリに書き込む減算ステップ、
(C)0から(L−1)までの引数を持つL個(Lは2
からN/2までの2の正のべき乗で表される任意の正整
数)のデータと、L2 個のDCT変換係数とを入力とし
て持ち、前記アドレス発生手段の指定により、前記入力
データと前記入力DCT変換係数を順次前記データメモ
リから読みだし、読み出された前記入力データと前記入
力DCT変換係数間の積和演算を前記積和演算器で行
い、L個のDCT変換結果を出力する第1の積和演算ス
テップ、(D)0から1までの引数を持つ2個のデータ
と、4個のDCT変換係数とを入力として持ち、前記ア
ドレス発生手段の指定により、前記入力データと前記入
力DCT変換係数を順次前記データメモリから読みだ
し、読み出された前記入力データと前記入力DCT変換
係数間の積和演算を前記積和演算器で行い、2個のDC
T変換結果を出力する第2の積和演算ステップ、を有
し、(log2 N−1)回の前記加算ステップと(lo
g2 N−1)回の前記減算ステップを行う加減算手続き
と、(log2 N−1)回の前記第1の積和演算ステッ
プと1回の前記第2の積和演算ステップを行う積和演算
手続とにより1次元N次DCT演算を実行し、前記加減
算手続器においては、第1回目の前記加算ステップおよ
び第1回目の前記減算ステップの前記入力データとし
て、0から(N−1)までの引数を持つN個の前記原画
像データを用い、第m回目(mは2から(log2 N−
1)までの任意の正整数)の前記加算ステップおよび第
m回目の前記減算ステップの前記入力データとして第
(m−1)回目の前記加算ステップの前記加算結果を用
い、前記積和演算手続においては、第n回目(nは1か
ら(log2 N−1)までの任意の正整数)の前記第1
の積和演算ステップの前記入力データとして、第n回目
の前記減算ステップの前記減算結果を用い、前記第2の
積和演算ステップの入力データとして第(log2 N−
1)回目の前記加算ステップの加算結果を用い、第1か
ら第(log2 N−1)までの前記第1の積和演算ステ
ップと前記第2の積和演算ステップの積和演算の結果と
して、合計でN個の前記DCT変換経過を得るように構
成されている。
の発明のDCT及び逆DCT演算装置におけるN次(N
は2の正のべき乗で表される任意の正整数)の1次元D
CTの演算方法であって、(A)0から(M−1)まで
の引数を持つM個(Mは2からNまでの2の正のべき乗
で表される任意の正整数)のデータを入力として持ち、
前記アドレス発生手段の指定により、前記入力データの
うち引数の和がMである二つの前記入力データの組を順
次前記データメモリから読みだし、読み出された二つの
前記入力データ間の加算を前記加算器で行い、1から
(M/2−1)までの引数を持つM/2個の加算結果を
前記データメモリに書き込む加算ステップ、(B)0か
ら(M−1)までの引数を持つM個のデータを入力とし
て持ち、前記アドレス発生手段の指定により、前記入力
データのうち引数の和がMである二つの前記入力データ
の組を順次前記データメモリから読み出し、読み出され
た二つの前記入力データ間の減算を前記加算器で行い、
1から(M/2−1)までの引数を持つM/2個の減算
結果を前記データメモリに書き込む減算ステップ、
(C)0から(L−1)までの引数を持つL個(Lは2
からN/2までの2の正のべき乗で表される任意の正整
数)のデータと、L2 個のDCT変換係数とを入力とし
て持ち、前記アドレス発生手段の指定により、前記入力
データと前記入力DCT変換係数を順次前記データメモ
リから読みだし、読み出された前記入力データと前記入
力DCT変換係数間の積和演算を前記積和演算器で行
い、L個のDCT変換結果を出力する第1の積和演算ス
テップ、(D)0から1までの引数を持つ2個のデータ
と、4個のDCT変換係数とを入力として持ち、前記ア
ドレス発生手段の指定により、前記入力データと前記入
力DCT変換係数を順次前記データメモリから読みだ
し、読み出された前記入力データと前記入力DCT変換
係数間の積和演算を前記積和演算器で行い、2個のDC
T変換結果を出力する第2の積和演算ステップ、を有
し、(log2 N−1)回の前記加算ステップと(lo
g2 N−1)回の前記減算ステップを行う加減算手続き
と、(log2 N−1)回の前記第1の積和演算ステッ
プと1回の前記第2の積和演算ステップを行う積和演算
手続とにより1次元N次DCT演算を実行し、前記加減
算手続器においては、第1回目の前記加算ステップおよ
び第1回目の前記減算ステップの前記入力データとし
て、0から(N−1)までの引数を持つN個の前記原画
像データを用い、第m回目(mは2から(log2 N−
1)までの任意の正整数)の前記加算ステップおよび第
m回目の前記減算ステップの前記入力データとして第
(m−1)回目の前記加算ステップの前記加算結果を用
い、前記積和演算手続においては、第n回目(nは1か
ら(log2 N−1)までの任意の正整数)の前記第1
の積和演算ステップの前記入力データとして、第n回目
の前記減算ステップの前記減算結果を用い、前記第2の
積和演算ステップの入力データとして第(log2 N−
1)回目の前記加算ステップの加算結果を用い、第1か
ら第(log2 N−1)までの前記第1の積和演算ステ
ップと前記第2の積和演算ステップの積和演算の結果と
して、合計でN個の前記DCT変換経過を得るように構
成されている。
【0014】また、第3の発明の逆DCT演算方法は、
第1の発明のDCT及び逆DCT演算装置におけるN次
の1次元DCTの演算方法であって、(A)0からN−
1までの引数を持つN個の前記DCT変換結果のうち
で、引数N/2n で割った余りがN/2n+1 である引数
を持つ2n 個の前記DCT変換結果と、22n個の前記逆
DCT変換係数とを入力として持ち、前記アドレス発生
手段の指定により、前記入力DCT変換経過と、前記入
力逆DCT変換係数を順次データメモリから読み出し、
読み出された前記入力DCT変換結果と前記入力逆DC
T変換係数間の積和演算を前記第1の積和演算器で行
い、0から(2n −1)までの引数を持つ2n 個の積和
演算結果を出力する第1の積和演算ステップ、(B)前
記DCT変換結果のうちで、引数が0とN/2である2
個の前記DCT変換結果と、4個の前記逆DCT変換係
数とを入力として持ち、前記アドレス発生手段の指定に
より、前記入力データと前記入力逆DCT変換係数を順
次データメモリから読み出し、読み出された前記入力デ
ータと前記入力逆DCT変換係数間の積和演算を前記第
2の積和演算器で行い、0から1までの引数を持つ2個
の積和演算結果を出力する第2の積和演算ステップ、
(C)0から(L−1)までの引数を持つL個のデータ
二組を入力として持ち、前記アドレス発生手段の指定に
より、二組の前記入力データのうち、引数が同じである
二つの前記入力データの組を順次前記データメモリから
読みだし、読み出された二つの前記入力データ間の加算
を前記加算器で行い、L個の加算結果を前記データメモ
リに書き込む加算ステップ、(D)0から(L−1)ま
での引数を持つL個のデータ二組を入力として持ち、前
記アドレス発生手段により、二組の前記入力データのう
ち、引数が同じである二つの前記入力データの組を順次
前記データメモリから読み出し、読み出された二つの前
記入力データ間の減算を前記加算器で行い、L個の減算
結果を前記データメモリに書き込む減算ステップ、を有
し、(log2 N−1)回の第1の積和演算ステップと
1回の第2の積和演算ステップを行う積和演算手続と、
(log2 N−1)回の加算ステップと(log2N−
1)回の減算ステップを行う加減算手続きとにより1次
元N次逆DCTを実行し、前記積和演算手続きにおいて
は、第n回目の第1の積和演算ステップで、前記2n 個
の逆DCT変換結果を入力として用い、前記加減手続き
においては、第1回目の前記加算ステップおよび第1回
目の前記減算ステップの二組の前記入力データとして、
前記第2の積和演算ステップの前記積和演算結果と第1
回目の前記第1の積和演算ステップの前記積和演算結果
とを用い、第m回目の前記加算ステップおよび第m回目
の前記減算ステップのそれぞれの二組の前記入力データ
として第(m−1)回目の前記加算ステップの前記加算
結果及び第(m−1)回目の前記減算ステップの前記減
算結果と、第m回目の前記第1の積和演算ステップの前
記積和演算結果とを用い、第(log2 N−1)回目の
前記加算ステップの前記加算結果および第(log2 N
−1)回目の前記減算ステップの前記減算結果として、
N個の原画像データを得るように構成されている。
第1の発明のDCT及び逆DCT演算装置におけるN次
の1次元DCTの演算方法であって、(A)0からN−
1までの引数を持つN個の前記DCT変換結果のうち
で、引数N/2n で割った余りがN/2n+1 である引数
を持つ2n 個の前記DCT変換結果と、22n個の前記逆
DCT変換係数とを入力として持ち、前記アドレス発生
手段の指定により、前記入力DCT変換経過と、前記入
力逆DCT変換係数を順次データメモリから読み出し、
読み出された前記入力DCT変換結果と前記入力逆DC
T変換係数間の積和演算を前記第1の積和演算器で行
い、0から(2n −1)までの引数を持つ2n 個の積和
演算結果を出力する第1の積和演算ステップ、(B)前
記DCT変換結果のうちで、引数が0とN/2である2
個の前記DCT変換結果と、4個の前記逆DCT変換係
数とを入力として持ち、前記アドレス発生手段の指定に
より、前記入力データと前記入力逆DCT変換係数を順
次データメモリから読み出し、読み出された前記入力デ
ータと前記入力逆DCT変換係数間の積和演算を前記第
2の積和演算器で行い、0から1までの引数を持つ2個
の積和演算結果を出力する第2の積和演算ステップ、
(C)0から(L−1)までの引数を持つL個のデータ
二組を入力として持ち、前記アドレス発生手段の指定に
より、二組の前記入力データのうち、引数が同じである
二つの前記入力データの組を順次前記データメモリから
読みだし、読み出された二つの前記入力データ間の加算
を前記加算器で行い、L個の加算結果を前記データメモ
リに書き込む加算ステップ、(D)0から(L−1)ま
での引数を持つL個のデータ二組を入力として持ち、前
記アドレス発生手段により、二組の前記入力データのう
ち、引数が同じである二つの前記入力データの組を順次
前記データメモリから読み出し、読み出された二つの前
記入力データ間の減算を前記加算器で行い、L個の減算
結果を前記データメモリに書き込む減算ステップ、を有
し、(log2 N−1)回の第1の積和演算ステップと
1回の第2の積和演算ステップを行う積和演算手続と、
(log2 N−1)回の加算ステップと(log2N−
1)回の減算ステップを行う加減算手続きとにより1次
元N次逆DCTを実行し、前記積和演算手続きにおいて
は、第n回目の第1の積和演算ステップで、前記2n 個
の逆DCT変換結果を入力として用い、前記加減手続き
においては、第1回目の前記加算ステップおよび第1回
目の前記減算ステップの二組の前記入力データとして、
前記第2の積和演算ステップの前記積和演算結果と第1
回目の前記第1の積和演算ステップの前記積和演算結果
とを用い、第m回目の前記加算ステップおよび第m回目
の前記減算ステップのそれぞれの二組の前記入力データ
として第(m−1)回目の前記加算ステップの前記加算
結果及び第(m−1)回目の前記減算ステップの前記減
算結果と、第m回目の前記第1の積和演算ステップの前
記積和演算結果とを用い、第(log2 N−1)回目の
前記加算ステップの前記加算結果および第(log2 N
−1)回目の前記減算ステップの前記減算結果として、
N個の原画像データを得るように構成されている。
【0015】また、第4の発明のDCT演算方法は、第
1の発明のDCT及び逆DCT演算装置におけるN次の
2次元DCT演算方法であって、第2の発明の1次元N
次DCT演算方法を2N回繰り返すことにより2次元N
次DCT演算を行い、前記加算器と前記積和演算器を並
列動作させることにより、ある前記1次元N次DCT演
算の前記積和演算手続きと、その次の繰り返しの前記1
次元N次DCT演算の加減算手続きとを並列に処理する
ように構成されている。
1の発明のDCT及び逆DCT演算装置におけるN次の
2次元DCT演算方法であって、第2の発明の1次元N
次DCT演算方法を2N回繰り返すことにより2次元N
次DCT演算を行い、前記加算器と前記積和演算器を並
列動作させることにより、ある前記1次元N次DCT演
算の前記積和演算手続きと、その次の繰り返しの前記1
次元N次DCT演算の加減算手続きとを並列に処理する
ように構成されている。
【0016】また、第5の発明の逆DCT演算方法は、
第1の発明のDCT及び逆DCT演算装置におけるN次
の2次元逆DCT演算方法であって、第3の発明の1次
元N次逆DCT演算方法を2N回繰り返すことにより2
次元N次逆DCT演算を行い、前記加算器と前記積和演
算器を並列動作させることにより、ある前記1次元N次
逆DCT演算の前記加減算手続きと、その次の繰り返し
の前記1次元N次逆DCT演算の前記積和演算手続きと
を並列に処理するように構成されている。
第1の発明のDCT及び逆DCT演算装置におけるN次
の2次元逆DCT演算方法であって、第3の発明の1次
元N次逆DCT演算方法を2N回繰り返すことにより2
次元N次逆DCT演算を行い、前記加算器と前記積和演
算器を並列動作させることにより、ある前記1次元N次
逆DCT演算の前記加減算手続きと、その次の繰り返し
の前記1次元N次逆DCT演算の前記積和演算手続きと
を並列に処理するように構成されている。
【0017】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0018】図1は本発明のDCT,逆DCT演算装置
の一実施例を示すブロック図である。図1において、本
実施例のDCT,逆DCT演算装置は、原画像データ,
DCT変換結果,演算途中結果,DCT変換係数,逆D
CT変換係数を記憶するデータメモリ110と、データ
メモリ110に外部からデータを与える入力端子101
と、データメモリ110の読み出し及び書き込みアドレ
スを指定するアドレス発生手段120と、データメモリ
から読み出されたデータを受け取る入力バス130と、
入力バス130から2つの入力データを受け取り加算ま
たは減算を行う加算器140と、入力バス130から2
つの入力データを受け取り積和演算を行う積和演算器1
50と、加算器140の出力もしくは積和演算器150
の出力を受け取り、データメモリ110への書き込みを
行う出力バス160と、DCT変換結果あるいはDCT
逆変換の結果復元された原画像データを外部へ出力する
外部出力端子102とからなっている。
の一実施例を示すブロック図である。図1において、本
実施例のDCT,逆DCT演算装置は、原画像データ,
DCT変換結果,演算途中結果,DCT変換係数,逆D
CT変換係数を記憶するデータメモリ110と、データ
メモリ110に外部からデータを与える入力端子101
と、データメモリ110の読み出し及び書き込みアドレ
スを指定するアドレス発生手段120と、データメモリ
から読み出されたデータを受け取る入力バス130と、
入力バス130から2つの入力データを受け取り加算ま
たは減算を行う加算器140と、入力バス130から2
つの入力データを受け取り積和演算を行う積和演算器1
50と、加算器140の出力もしくは積和演算器150
の出力を受け取り、データメモリ110への書き込みを
行う出力バス160と、DCT変換結果あるいはDCT
逆変換の結果復元された原画像データを外部へ出力する
外部出力端子102とからなっている。
【0019】図2は図1のDCT,逆DCT演算装置に
おける本発明の1次元N次(Nは2の正のべき乗で表さ
れる正整数)DCTの演算方法を示す流れ図である。
おける本発明の1次元N次(Nは2の正のべき乗で表さ
れる正整数)DCTの演算方法を示す流れ図である。
【0020】図2において、本発明のDCT演算方法
は、加算ステップ210,演算ステップ220,積和演
算ステップ230−1、積和演算ステップ230−2の
各演算ステップを、図2に示された処理の手順に従って
順次N個の原画像データx(i;N)240に対して施
すことにより実行されている。まず、これらの各演算ス
テップの動作を図1を引用して説明する。
は、加算ステップ210,演算ステップ220,積和演
算ステップ230−1、積和演算ステップ230−2の
各演算ステップを、図2に示された処理の手順に従って
順次N個の原画像データx(i;N)240に対して施
すことにより実行されている。まず、これらの各演算ス
テップの動作を図1を引用して説明する。
【0021】図2の加算ステップ210は、N/2p 個
(pは0から(log2 N−2)までの正整数)の加減
算入力データxP (q;N/2p )250から、N/2
(p+1) 個の加算結果xp+1 (u;N/2p+1 )260を
次の(5)式に従って算出するステップである。ただ
し、q及びuの範囲は0≦q<N/2P ,0≦u<N/
2p+1 である。
(pは0から(log2 N−2)までの正整数)の加減
算入力データxP (q;N/2p )250から、N/2
(p+1) 個の加算結果xp+1 (u;N/2p+1 )260を
次の(5)式に従って算出するステップである。ただ
し、q及びuの範囲は0≦q<N/2P ,0≦u<N/
2p+1 である。
【0022】 xP+1 (u;N/2p+1 ) =xP (u;N/2p )+xp (N/2p −1−u;N/2p ) …(5) 図1のDCT,逆DCT演算装置においてこの加算ステ
ップ210は以下のようにして実行される。加減算入力
データxp (q;N/2p ) 250はデータメモリ11
0に記憶されている。アドレス発生手段120の指定に
従って、上式の右辺の二つの項のように、引数の和がN
/2p になる二つの加減算入力データ250が入力バス
130に読み出され、加算器140に与えられる。加算
器140で上式の計算が行われ、加算結果xp+1 (u;
N/2p+1 )260がデータメモリ110に書き込まれ
る。
ップ210は以下のようにして実行される。加減算入力
データxp (q;N/2p ) 250はデータメモリ11
0に記憶されている。アドレス発生手段120の指定に
従って、上式の右辺の二つの項のように、引数の和がN
/2p になる二つの加減算入力データ250が入力バス
130に読み出され、加算器140に与えられる。加算
器140で上式の計算が行われ、加算結果xp+1 (u;
N/2p+1 )260がデータメモリ110に書き込まれ
る。
【0023】図2の減算ステップ220は、N/2p 個
(pは0から(log2 N−2)までの正整数)の加減
算入力データxp (q;N/2p )250から、N/2
(p+1) 個の減算結果gp+1 (u;N/2p+1 )270を
次の(6)式に従って算出するステップである。
(pは0から(log2 N−2)までの正整数)の加減
算入力データxp (q;N/2p )250から、N/2
(p+1) 個の減算結果gp+1 (u;N/2p+1 )270を
次の(6)式に従って算出するステップである。
【0024】 gp+1 (u;N/2p+1 ) =xp (u;N/2p )−xp (N/2p −1−u;N/2p ) …(6) 図1のDCT、逆DCT演算装置においてこの減算ステ
ップ220は以下のようにして実行される。加減算入力
データxp (q;N/2p )250はデータメモリ11
0に記憶されている。アドレス発生手段120の指定に
従って、上式の右辺の二つの項のように、引数の和がN
/2p になる二つの加減算入力データ250が入力バス
130に読み出され、加算器140に与えられる。加算
器140で上式の計算が行われ、減算結果gp+1 (u;
N/2p+1 )270がデータメモリ110に書き込まれ
る。
ップ220は以下のようにして実行される。加減算入力
データxp (q;N/2p )250はデータメモリ11
0に記憶されている。アドレス発生手段120の指定に
従って、上式の右辺の二つの項のように、引数の和がN
/2p になる二つの加減算入力データ250が入力バス
130に読み出され、加算器140に与えられる。加算
器140で上式の計算が行われ、減算結果gp+1 (u;
N/2p+1 )270がデータメモリ110に書き込まれ
る。
【0025】図2の積和演算ステップ230−1は、N
/2r 個(rは1から(log2 N−1)までの正整
数)の減算結果gr (s;N/2r )270と、(N/
2r )2 個のDCT変換係数290−1から、N/2r
個のDCT変換結果280を次の(7)式に従って算出
するステップである。ただし、0≦s、t<N/2r で
ある。
/2r 個(rは1から(log2 N−1)までの正整
数)の減算結果gr (s;N/2r )270と、(N/
2r )2 個のDCT変換係数290−1から、N/2r
個のDCT変換結果280を次の(7)式に従って算出
するステップである。ただし、0≦s、t<N/2r で
ある。
【0026】 y(2r t+2r-1 ;N) =gr (s;N/2r )d(s,2r t+2r-1 ;N)|s …(7) 図1のDCT,逆DCT演算装置においてこの積和ステ
ップ230−1は以下のようにして実行される。演算結
果gr (s;N/2r )270とDCT変換係数290
−1はデータメモリ110に記憶されている。アドレス
発生手段120の指定に従って、減算結果とDCT変換
係数がそれぞれ入力バス130に順次読み出され、積和
演算器140に与えられる。積和器140で上式の計算
が行われ、DCT変換結果y(2r t+2r-1;N)28
0が外部出力端子102から外部へ出力される。
ップ230−1は以下のようにして実行される。演算結
果gr (s;N/2r )270とDCT変換係数290
−1はデータメモリ110に記憶されている。アドレス
発生手段120の指定に従って、減算結果とDCT変換
係数がそれぞれ入力バス130に順次読み出され、積和
演算器140に与えられる。積和器140で上式の計算
が行われ、DCT変換結果y(2r t+2r-1;N)28
0が外部出力端子102から外部へ出力される。
【0027】図2の積和演算ステップ230−2は、2
個の加算結果xα (W;2)260と、4個のDCT
変換係数290−2から2個のDCT変換結果280を
次の(8)式に従って算出するステップである。ただ
し、0≦v,w<2である。また、α =log2 N−
1としている。
個の加算結果xα (W;2)260と、4個のDCT
変換係数290−2から2個のDCT変換結果280を
次の(8)式に従って算出するステップである。ただ
し、0≦v,w<2である。また、α =log2 N−
1としている。
【0028】 y(Nv/2;N)=xα (w;2)d(w,Nv/2;N)|w…(8) 図1のDCT,逆DCT演算装置においてこの積和ステ
ップ230−2は以下のようにして実行される。加算結
果xα (w;2)260どDCT変換係数290−2
はデータメモリ110に記憶されている。アドレス発生
手段120の指定に従って、加算結果260とDCT変
換係数290−2がそれぞれ入力バス130に順次読み
出され、積和演算器140に与えられる。積和演算器1
40で上式の計算が行われ、DCT変換結果y(Nv/
2;N)280が外部出力端子102から外部へ出力さ
れる。
ップ230−2は以下のようにして実行される。加算結
果xα (w;2)260どDCT変換係数290−2
はデータメモリ110に記憶されている。アドレス発生
手段120の指定に従って、加算結果260とDCT変
換係数290−2がそれぞれ入力バス130に順次読み
出され、積和演算器140に与えられる。積和演算器1
40で上式の計算が行われ、DCT変換結果y(Nv/
2;N)280が外部出力端子102から外部へ出力さ
れる。
【0029】次に、図2の全体のDCT演算の手順を図
1を参照しながら説明する。図2において、本実施例の
1次元N次DCTの演算方法は、加減算手続き292と
積和演算手続き294とから構成されている。
1を参照しながら説明する。図2において、本実施例の
1次元N次DCTの演算方法は、加減算手続き292と
積和演算手続き294とから構成されている。
【0030】加減算手続き292においては、まず始め
に、入力端子101より外部から与えられ、データメモ
リ110に記憶された原画像データx(i;N)240
を入力データとして用いる。スイッチ201は第1回目
の加算ステップ210と第1回目の減算ステップ220
の加減算入力データ250として原画像データx(i;
N)240を与え、2回目から(log2 N−1)回目
までの加算ステップ210と減算ステップ220の加減
算入力データ250として、それぞれ一回前の加算ステ
ップ210の加算結果260を用いることを示してい
る。それぞれの、加算ステップ210、減算ステップ2
20は、上記の説明に従って、図1のDCT,逆DCT
演算装置で実行される。ここで、上記の加算ステップ2
10、減算ステップ220の説明における入力データx
p (q;N/2p )250で、p=0の場合が原画像デ
ータx(i;N)240に対応することになる。また、
スイッチ202は、第(log2 N−1)回目の加算ス
テップ210の加算結果260については、再度加算ス
テップ210、減算ステップ220の入力とすることを
せずに、積和演算ステップ230−2へ入力することを
示している。このような手順で再帰的に加算ステップ2
10、減算ステップ220を行うことにより、加算結果
xp+1 (u;N/2p+1 )260、減算結果g
p+1 (u;N/2p+1 )270が得られる。
に、入力端子101より外部から与えられ、データメモ
リ110に記憶された原画像データx(i;N)240
を入力データとして用いる。スイッチ201は第1回目
の加算ステップ210と第1回目の減算ステップ220
の加減算入力データ250として原画像データx(i;
N)240を与え、2回目から(log2 N−1)回目
までの加算ステップ210と減算ステップ220の加減
算入力データ250として、それぞれ一回前の加算ステ
ップ210の加算結果260を用いることを示してい
る。それぞれの、加算ステップ210、減算ステップ2
20は、上記の説明に従って、図1のDCT,逆DCT
演算装置で実行される。ここで、上記の加算ステップ2
10、減算ステップ220の説明における入力データx
p (q;N/2p )250で、p=0の場合が原画像デ
ータx(i;N)240に対応することになる。また、
スイッチ202は、第(log2 N−1)回目の加算ス
テップ210の加算結果260については、再度加算ス
テップ210、減算ステップ220の入力とすることを
せずに、積和演算ステップ230−2へ入力することを
示している。このような手順で再帰的に加算ステップ2
10、減算ステップ220を行うことにより、加算結果
xp+1 (u;N/2p+1 )260、減算結果g
p+1 (u;N/2p+1 )270が得られる。
【0031】次に、積和演算手続き294を加減算手続
き292の演算結果を用いて実行する。g1 からgα
までの減算結果gp+1 (u;N/2p+1 )270を入力
として用い、上記の説明に従って、積和演算ステップ2
30−1を(log2 N−1)回行うことにより、それ
ぞれN/2p+1 個のDCT変換結果を算出する。また加
算結果xα (w;2)260を入力として用い、積和
演算ステップ230−2を行うことにより2個のDCT
変換結果を算出する。
き292の演算結果を用いて実行する。g1 からgα
までの減算結果gp+1 (u;N/2p+1 )270を入力
として用い、上記の説明に従って、積和演算ステップ2
30−1を(log2 N−1)回行うことにより、それ
ぞれN/2p+1 個のDCT変換結果を算出する。また加
算結果xα (w;2)260を入力として用い、積和
演算ステップ230−2を行うことにより2個のDCT
変換結果を算出する。
【0032】以上の処理手順により、合計でN個の、1
次元N次DCT演算の演算結果が得られることになる。
次元N次DCT演算の演算結果が得られることになる。
【0033】図3は図1のDCT,逆DCT演算装置に
おける1次元N次逆DCTの演算方法の実施例を示す流
れ図である。
おける1次元N次逆DCTの演算方法の実施例を示す流
れ図である。
【0034】図3において、本発明の逆DCT演算方法
は、積和演算ステップ310−1,積和演算ステップ3
10−2,加算ステップ320,減算ステップ330の
各演算ステップを、図3に示された処理の手順に従っ
て、順次N個のDCT変換結果y(k;N)340に対
して施すことにより実行されている。まず、これらの各
演算ステップの動作を図1を引用して説明する。
は、積和演算ステップ310−1,積和演算ステップ3
10−2,加算ステップ320,減算ステップ330の
各演算ステップを、図3に示された処理の手順に従っ
て、順次N個のDCT変換結果y(k;N)340に対
して施すことにより実行されている。まず、これらの各
演算ステップの動作を図1を引用して説明する。
【0035】図3の積和演算ステップ310−1は、2
r 個(rは1から(log2 N−1)までの正整数)の
DCT変換結果y(Nt/2r +N/2r+1 ;N)34
0と、22r個のDCT逆変換係数390−1から、2r
個の加減算入力データh1 r(s;2r )360−1を
次の(9)式に従って算出するステップである。ただ
し、0≦s、t<2r である。
r 個(rは1から(log2 N−1)までの正整数)の
DCT変換結果y(Nt/2r +N/2r+1 ;N)34
0と、22r個のDCT逆変換係数390−1から、2r
個の加減算入力データh1 r(s;2r )360−1を
次の(9)式に従って算出するステップである。ただ
し、0≦s、t<2r である。
【0036】 h1 r (s;2r ) =f(s,Nt/2r +N/2r+1 ;N)y(Nt/2r +N/2r+1 ; N)|t …(9) 図1のDCT、逆DCT演算装置においてこの積和ステ
ップ310−1は以下のようにして実行される。DCT
変換結果y(Nt/2r +N/2r+1 ;N)340と逆
DCT変換係数390−1はデータメモリ110に記憶
されている。アドレス発生手段120の指定に従って、
DCT変換結果340と逆DCT変換係数390−1が
それぞれ入力バス130に順次読み出され、積和演算器
150に与えられる。積和演算器150で上式の計算が
行われ、加減算入力データh1 r(s;2r )360−1
がデータメモリ110に書き込まれる。
ップ310−1は以下のようにして実行される。DCT
変換結果y(Nt/2r +N/2r+1 ;N)340と逆
DCT変換係数390−1はデータメモリ110に記憶
されている。アドレス発生手段120の指定に従って、
DCT変換結果340と逆DCT変換係数390−1が
それぞれ入力バス130に順次読み出され、積和演算器
150に与えられる。積和演算器150で上式の計算が
行われ、加減算入力データh1 r(s;2r )360−1
がデータメモリ110に書き込まれる。
【0037】図3の積和演算ステップ310−2は、2
個のDCT変換結果y(Nv/2;N)340と、4個
の逆DCT変換係数390−2から、2個の積和演算結
果h0 1(w;2)350を次の(10)式に従って算出
するステップである。ただし、0≦v,w〈2である。
個のDCT変換結果y(Nv/2;N)340と、4個
の逆DCT変換係数390−2から、2個の積和演算結
果h0 1(w;2)350を次の(10)式に従って算出
するステップである。ただし、0≦v,w〈2である。
【0038】 h0 1(w;2) =f(w,Nv/2;N)y(Nv/2;N)|v …(10) 図1のDCT、逆DCT演算装置においてこの積和演算
ステップ310−2は以下のようにして実行される。D
CT変換結果y(Nv/2;N)340と逆DCT変換
係数390−2はデータメモリ110に記憶されてい
る。アドレス発生手段120の指定に従って、DCT変
換結果340と逆DCT変換係数390−2がそれぞれ
入力バス130に順次読み出され、積和演算器150に
与えられる。積和器150で上式の計算が行われ、積和
演算結果h0 1(w;2)350がデータメモリ110に
書き込まれる。
ステップ310−2は以下のようにして実行される。D
CT変換結果y(Nv/2;N)340と逆DCT変換
係数390−2はデータメモリ110に記憶されてい
る。アドレス発生手段120の指定に従って、DCT変
換結果340と逆DCT変換係数390−2がそれぞれ
入力バス130に順次読み出され、積和演算器150に
与えられる。積和器150で上式の計算が行われ、積和
演算結果h0 1(w;2)350がデータメモリ110に
書き込まれる。
【0039】図3の加算ステップ320は、2r 個の加
減算入力データh1 r(s;2r )360−1と2r 個の
加減算入力データh0 r(s;2r )360−2から、2
r 個の加算結果h0 r+1(s;2r+1 )370−1を次の
(11)式に従って算出するステップである。
減算入力データh1 r(s;2r )360−1と2r 個の
加減算入力データh0 r(s;2r )360−2から、2
r 個の加算結果h0 r+1(s;2r+1 )370−1を次の
(11)式に従って算出するステップである。
【0040】 h0 r+1(s;2r+1)=h0 r(s;2r )+h1 r(s;2r ) …(11) 図1のDCT、逆DCT演算装置においてこの加算ステ
ップ320は以下のようにして実行される。加減算入力
データh1 r(s;2r )360−1と加減算入力データ
h0 r(s;2r )360−2はデータメモリ110に記
憶されている。アドレス発生手段120の指定に従っ
て、上式の右辺の二つの頃のように、引数が等しい二つ
の入力データが入力バス130に読み出され、加算器1
40に与えられる。加算器140で上式の計算が行わ
れ、加算結果h0 r+1(s;2r+1 )370−1がデータ
メモリ110に書き込まれる。
ップ320は以下のようにして実行される。加減算入力
データh1 r(s;2r )360−1と加減算入力データ
h0 r(s;2r )360−2はデータメモリ110に記
憶されている。アドレス発生手段120の指定に従っ
て、上式の右辺の二つの頃のように、引数が等しい二つ
の入力データが入力バス130に読み出され、加算器1
40に与えられる。加算器140で上式の計算が行わ
れ、加算結果h0 r+1(s;2r+1 )370−1がデータ
メモリ110に書き込まれる。
【0041】図3の減算ステップ330は、2r 個の加
減算入力データh1 r(s;2r )360−1と2r 個の
加減算入力データh0 r(s;2r )360−2から、2
r 個の減算結果h0 r+1(2r+1 −1−s;2r+1 )37
0−2を次の(12)式に従って算出するステップであ
る。
減算入力データh1 r(s;2r )360−1と2r 個の
加減算入力データh0 r(s;2r )360−2から、2
r 個の減算結果h0 r+1(2r+1 −1−s;2r+1 )37
0−2を次の(12)式に従って算出するステップであ
る。
【0042】 h0 r+1(2r +1−1−s;2r+1)=h0 r(s;2r )−h1 r(s;2r ) …(12) 図1のDCT,逆DCT演算装置においてこの減算ステ
ップ330は以下のようにして実行される。加減算入力
データh1 r(s;2r )360−1と加減算入力データ
h0 r(s;2r )360−2はデータメモリ110に記
憶されている。アドレス発生手段120の指定に従っ
て、上式の右辺の二つの頃のように、引数が等しい二つ
の入力データが入力バス130に読み出され、加算器1
40に与えられる。加算器140で上式の計算が行わ
れ、減算結果h0 r+1(2r+1 −1−s;2r+1 )370
−2がデータメモリ110に書き込まれる。
ップ330は以下のようにして実行される。加減算入力
データh1 r(s;2r )360−1と加減算入力データ
h0 r(s;2r )360−2はデータメモリ110に記
憶されている。アドレス発生手段120の指定に従っ
て、上式の右辺の二つの頃のように、引数が等しい二つ
の入力データが入力バス130に読み出され、加算器1
40に与えられる。加算器140で上式の計算が行わ
れ、減算結果h0 r+1(2r+1 −1−s;2r+1 )370
−2がデータメモリ110に書き込まれる。
【0043】次に、図3の全体の逆DCT演算の手順を
図1を参照しながら説明する。図3において本実施例の
1次元N次逆DCT変換の演算方法は積和演算手続き3
92と加減算手続き394とから構成されている。
図1を参照しながら説明する。図3において本実施例の
1次元N次逆DCT変換の演算方法は積和演算手続き3
92と加減算手続き394とから構成されている。
【0044】積和演算手続き392においては、まず始
めに、入力端子101より外部から与えられたDCT変
換結果y(k;N)340を入力データとして用いる。
上記の説明に従って、第1回目から第(log2 N−
1)回までの第r回目の積和演算ステップ310−1
が、それぞれDCT変換結果y(Nt/2r +N/2
r+1;N)340に対して実行され、加減算入力データ
h1 r(s;2r )360−1がデータメモリ110に書
き込まれる。また積和演算ステップ310−2がDCT
変換結果y(Nv/2;N)340に対して実行され、
積和演算結果h0 1(w;2)350がデータメモリ11
0に書き込まれる。
めに、入力端子101より外部から与えられたDCT変
換結果y(k;N)340を入力データとして用いる。
上記の説明に従って、第1回目から第(log2 N−
1)回までの第r回目の積和演算ステップ310−1
が、それぞれDCT変換結果y(Nt/2r +N/2
r+1;N)340に対して実行され、加減算入力データ
h1 r(s;2r )360−1がデータメモリ110に書
き込まれる。また積和演算ステップ310−2がDCT
変換結果y(Nv/2;N)340に対して実行され、
積和演算結果h0 1(w;2)350がデータメモリ11
0に書き込まれる。
【0045】次に、加減算手続き394を積和演算手続
き392の演算結果を用いて実行する。スイッチ301
は加減算入力データh0 r(s;2r )360−2とし
て、r=1のときは積和演算ステップの積和演算結果3
50を用い、それ以外は加算ステップ320、減算ステ
ップ330の出力結果370−1及び370−2を用い
ることを示している。第1回目から第(log2 N−
1)回目までの第r回の加算ステップ320と減算ステ
ップ330は、一方の入力として加減算入力データh1 r
(s;2r )360−1を用い、もう一方の入力として
加減算入力データh0 r(s;2r )360−2を用い
て、それぞれの演算を行い、加減算結果h0 r+1(s;2
r+1 )370−1、減算結果h0 r+1(2r+1 −1−s;
2r+1 )370−2をデータメモリ110に書き込む。
スイッチ302は第(log2 N−1)回目の加算結果
370−1、減算結果370−2のみは、逆DCT変換
の結果である原画像データ380として、出力端子10
2から外部に出力することを示している。
き392の演算結果を用いて実行する。スイッチ301
は加減算入力データh0 r(s;2r )360−2とし
て、r=1のときは積和演算ステップの積和演算結果3
50を用い、それ以外は加算ステップ320、減算ステ
ップ330の出力結果370−1及び370−2を用い
ることを示している。第1回目から第(log2 N−
1)回目までの第r回の加算ステップ320と減算ステ
ップ330は、一方の入力として加減算入力データh1 r
(s;2r )360−1を用い、もう一方の入力として
加減算入力データh0 r(s;2r )360−2を用い
て、それぞれの演算を行い、加減算結果h0 r+1(s;2
r+1 )370−1、減算結果h0 r+1(2r+1 −1−s;
2r+1 )370−2をデータメモリ110に書き込む。
スイッチ302は第(log2 N−1)回目の加算結果
370−1、減算結果370−2のみは、逆DCT変換
の結果である原画像データ380として、出力端子10
2から外部に出力することを示している。
【0046】以上の処理手順により、合計でN個の、1
次元N次逆DCT演算結果が得られることになる。
次元N次逆DCT演算結果が得られることになる。
【0047】図4は本発明によるDCT、逆DCT演算
装置の第2の実施例を示すブロック図である。図4にお
いて、本実施例のDCT、逆DCT演算装置は、原画像
データ,DCT変換結果,演算途中結果,DCT変換係
数,逆DCT変換係数を記憶するデータメモリ410−
1、データメモリ410−2と、データメモリ410−
1、データメモリ410−2に外部からデータを与える
入力端子401と、データメモリ410−1の読みだし
及び書き込みアドレスを指定するアドレス発生手段42
0−1と、データメモリ410−2の読みだし及び書き
込みアドレスを指定するアドレス発生手段420−2
と、データメモリ410−1、データメモリ410−2
から読み出されたデータを受け取る加算器入力バス43
0−1及び積和演算器入力バス430−2と、加算器入
力バス430−1から2つの入力データを受け取り加算
または減算を行う加算器440と、積和演算器入力バス
430−2から2つの入力データを受け取り積和演算を
行う積和演算器450と、加算器440の出力もしくは
積和演算器450の出力を受け取り、データメモリ41
0−1またはデータメモリ410−2への書き込みを行
う出力バス460−1及び460−2と、DCT変換結
果、あるいはDCT逆変換の結果の原画像データを外部
へ出力する外部出力端子402からなっている。図4の
DCT,逆DCT演算装置においては、データメモリ,
アドレス発生回路,入力バス,出力バスを全て2重化す
ることで、加算器440と積和演算器450が並列に動
作できるようにしている。
装置の第2の実施例を示すブロック図である。図4にお
いて、本実施例のDCT、逆DCT演算装置は、原画像
データ,DCT変換結果,演算途中結果,DCT変換係
数,逆DCT変換係数を記憶するデータメモリ410−
1、データメモリ410−2と、データメモリ410−
1、データメモリ410−2に外部からデータを与える
入力端子401と、データメモリ410−1の読みだし
及び書き込みアドレスを指定するアドレス発生手段42
0−1と、データメモリ410−2の読みだし及び書き
込みアドレスを指定するアドレス発生手段420−2
と、データメモリ410−1、データメモリ410−2
から読み出されたデータを受け取る加算器入力バス43
0−1及び積和演算器入力バス430−2と、加算器入
力バス430−1から2つの入力データを受け取り加算
または減算を行う加算器440と、積和演算器入力バス
430−2から2つの入力データを受け取り積和演算を
行う積和演算器450と、加算器440の出力もしくは
積和演算器450の出力を受け取り、データメモリ41
0−1またはデータメモリ410−2への書き込みを行
う出力バス460−1及び460−2と、DCT変換結
果、あるいはDCT逆変換の結果の原画像データを外部
へ出力する外部出力端子402からなっている。図4の
DCT,逆DCT演算装置においては、データメモリ,
アドレス発生回路,入力バス,出力バスを全て2重化す
ることで、加算器440と積和演算器450が並列に動
作できるようにしている。
【0048】この実施例のDCT,逆DCT演算装置を
用いて、本発明の2次元N次DCT演算を次のようにし
て行う。2次元N次DCTは1次元N次DCTを2回介
繰り返すことにより実行することが出来る。従って、ま
ず1次元N次DCTの演算方法を説明する。
用いて、本発明の2次元N次DCT演算を次のようにし
て行う。2次元N次DCTは1次元N次DCTを2回介
繰り返すことにより実行することが出来る。従って、ま
ず1次元N次DCTの演算方法を説明する。
【0049】1次元N次DCTは、図4のDCT,逆D
CT演算装置においても、図2の演算方法に従って加減
算手続き292と積和演算手続き294を用いて行う。
以下図2と図4を用いて説明する。外部入力端子401
より与えられた原画像データ240は、データメモリ4
10−1に記憶される。この原画像データ240に対
し、加減算手続き292における、加算ステップ220
を、上記の図2の説明のように実行する。ただし、デー
タメモリ110のかわりにデータメモリ410−1、ア
ドレス発生手段120のかわりにアドレス発生手段42
0−1、入力バス130のかわりに加算器入力バス43
0−1、加算器140のかわりに加算器440を用い
る。また、全ての減算結果260と、最後の加算結果2
50はデータメモリ410−2へ記憶させるものとす
る。データメモリ410−2に記憶された減算結果26
0、加算結果250に対して、積和演算手続き294に
より積和演算ステップ230−1、積和演算ステップ2
30−2を上記の図2の説明のように実行する。ただ
し、データメモリ110のかわりにデータメモリ410
−2、アドレス発生手段120のかわりにアドレス発生
手段420−2、入力バス130のかわりに積和演算器
入力バス430−2、積和演算器150のかわりに積和
450を用いる。また、DCT変換結果は、最初のN回
の1次元N次DCT演算の場合は、外部出力端子402
から外部へ出力するかわりにもう一度データメモリ41
0−1に記憶される。
CT演算装置においても、図2の演算方法に従って加減
算手続き292と積和演算手続き294を用いて行う。
以下図2と図4を用いて説明する。外部入力端子401
より与えられた原画像データ240は、データメモリ4
10−1に記憶される。この原画像データ240に対
し、加減算手続き292における、加算ステップ220
を、上記の図2の説明のように実行する。ただし、デー
タメモリ110のかわりにデータメモリ410−1、ア
ドレス発生手段120のかわりにアドレス発生手段42
0−1、入力バス130のかわりに加算器入力バス43
0−1、加算器140のかわりに加算器440を用い
る。また、全ての減算結果260と、最後の加算結果2
50はデータメモリ410−2へ記憶させるものとす
る。データメモリ410−2に記憶された減算結果26
0、加算結果250に対して、積和演算手続き294に
より積和演算ステップ230−1、積和演算ステップ2
30−2を上記の図2の説明のように実行する。ただ
し、データメモリ110のかわりにデータメモリ410
−2、アドレス発生手段120のかわりにアドレス発生
手段420−2、入力バス130のかわりに積和演算器
入力バス430−2、積和演算器150のかわりに積和
450を用いる。また、DCT変換結果は、最初のN回
の1次元N次DCT演算の場合は、外部出力端子402
から外部へ出力するかわりにもう一度データメモリ41
0−1に記憶される。
【0050】図5は、図4のDCT,逆DCT演算装置
での2次元N次DCTの演算方法におけるタイミングを
示すタイミング図である。図5において、2次元N次D
CTは1次元N次DCT510を2N回繰り返すことで
実行されている。1次元N次DCTは、図2の説明で述
べたように加減算手続き292,積和演算手続き294
から構成されている。図4のDCT、逆DCT演算装置
において、加算器440、積和演算器450が並列に動
作できるので、図5に示したように、ある1次元N次D
CTの積和演算手続き294とその次の繰り返しの1次
元N次DCTの加減算手続き292とは並列に実行する
ことができる。このように、本発明の2次元N次DCT
の演算方法では、各1次元N次DCTの演算処理をオー
バーラップさせて、加算器440と積和演算器450で
並列処理を行っている。
での2次元N次DCTの演算方法におけるタイミングを
示すタイミング図である。図5において、2次元N次D
CTは1次元N次DCT510を2N回繰り返すことで
実行されている。1次元N次DCTは、図2の説明で述
べたように加減算手続き292,積和演算手続き294
から構成されている。図4のDCT、逆DCT演算装置
において、加算器440、積和演算器450が並列に動
作できるので、図5に示したように、ある1次元N次D
CTの積和演算手続き294とその次の繰り返しの1次
元N次DCTの加減算手続き292とは並列に実行する
ことができる。このように、本発明の2次元N次DCT
の演算方法では、各1次元N次DCTの演算処理をオー
バーラップさせて、加算器440と積和演算器450で
並列処理を行っている。
【0051】次に、図4のDCT,逆DCT演算装置を
用いて、本発明の2次元N次逆DCTの演算を次のよう
にして行う。2次元N次逆DCTは1次元N次逆DCT
を2N回繰り返すことにより実行することが出来る。1
次元N次逆DCTは、図4のDCT,逆DCT演算装置
においても、図3の演算方法に従って積和演算手続き3
92と加減算手続き394により行う。2次元N次DC
Tの場合と同様に、ある1次元N次逆DCTの加減算手
続き394とその次の繰り返しの1次元N次逆DCTの
積和演算手続き392とは並列に実行することが出来
る。このように、本発明の2次元N次逆DCTの演算方
法では、各1次元N次逆DCTの演算処理をオーバーラ
ップさせて、加算器440と積和演算器450で並列処
理を行っている。
用いて、本発明の2次元N次逆DCTの演算を次のよう
にして行う。2次元N次逆DCTは1次元N次逆DCT
を2N回繰り返すことにより実行することが出来る。1
次元N次逆DCTは、図4のDCT,逆DCT演算装置
においても、図3の演算方法に従って積和演算手続き3
92と加減算手続き394により行う。2次元N次DC
Tの場合と同様に、ある1次元N次逆DCTの加減算手
続き394とその次の繰り返しの1次元N次逆DCTの
積和演算手続き392とは並列に実行することが出来
る。このように、本発明の2次元N次逆DCTの演算方
法では、各1次元N次逆DCTの演算処理をオーバーラ
ップさせて、加算器440と積和演算器450で並列処
理を行っている。
【0052】図6は本発明のDCT並びに逆DCT演算
装置における1次元N次DCT、逆DCTの演算方法の
効果を示すため、本発明による1次元8次DCT、逆D
CTの演算手順と演算量、及び1次元N次DCT,逆D
CTの演算量を、従来技術その1,従来技術その2の例
であるFCT法と比較したものである。同図において、
従来技術その2、及び本発明においては、1次元8次D
CTの演算手順は同図に記載された手順を上から下に行
い、1次元8次逆DCTの演算手順は同図に記載された
手順を下から上に行うものとする。また、演算量は積和
演算、加減算、乗算を単位演算として、これらの単位演
算の実行回数で数えている。これから、以下のことが分
かる。 (1)演算量は、従来技術その1が64回、従来技術そ
の2が42回、本発明が36回であり、本発明が最も少
ない。 (2)従来技術その2では、演算手順が加減算手続き、
乗算手続きの繰り返しになっているが、本発明の演算方
法では、積和演算手続きと加減算手続きを実行するだけ
でよく、演算手順が簡単である。 (3)従来技術その2では、乗算が一つのデータに繰り
返し3回実行されるのに対し、本発明の演算方法では一
つのデータに1度しか積和演算が行われないので、乗算
実行時の丸め誤差の影響が本発明の演算方法の方が少な
くて済む。
装置における1次元N次DCT、逆DCTの演算方法の
効果を示すため、本発明による1次元8次DCT、逆D
CTの演算手順と演算量、及び1次元N次DCT,逆D
CTの演算量を、従来技術その1,従来技術その2の例
であるFCT法と比較したものである。同図において、
従来技術その2、及び本発明においては、1次元8次D
CTの演算手順は同図に記載された手順を上から下に行
い、1次元8次逆DCTの演算手順は同図に記載された
手順を下から上に行うものとする。また、演算量は積和
演算、加減算、乗算を単位演算として、これらの単位演
算の実行回数で数えている。これから、以下のことが分
かる。 (1)演算量は、従来技術その1が64回、従来技術そ
の2が42回、本発明が36回であり、本発明が最も少
ない。 (2)従来技術その2では、演算手順が加減算手続き、
乗算手続きの繰り返しになっているが、本発明の演算方
法では、積和演算手続きと加減算手続きを実行するだけ
でよく、演算手順が簡単である。 (3)従来技術その2では、乗算が一つのデータに繰り
返し3回実行されるのに対し、本発明の演算方法では一
つのデータに1度しか積和演算が行われないので、乗算
実行時の丸め誤差の影響が本発明の演算方法の方が少な
くて済む。
【0053】このように、本発明のDCT,逆DCT演
算方法は1次元8次DCT,逆DCTに対して、従来技
術その1、従来技術その2に比べてすぐれた性能を有す
る。また、一般のN次の1次元DCT,逆DCTについ
ては図6から分かるように、、Nが16以上では、本発
明による演算方法より従来技術2の方が演算量が少な
く、上記(1)は成り立たないことが分かる。しかし、
上記(2),(3)については、Nが増えるほど本発明
による演算方法の方が有利になる。
算方法は1次元8次DCT,逆DCTに対して、従来技
術その1、従来技術その2に比べてすぐれた性能を有す
る。また、一般のN次の1次元DCT,逆DCTについ
ては図6から分かるように、、Nが16以上では、本発
明による演算方法より従来技術2の方が演算量が少な
く、上記(1)は成り立たないことが分かる。しかし、
上記(2),(3)については、Nが増えるほど本発明
による演算方法の方が有利になる。
【0054】更に、本発明によるDCT,逆DCT演算
装置は、加算器の積和演算器が並列動作できるようにす
ることにより、2次元N次DCTまたは2次元N次逆D
CTを実行するさい、1次元N次DCTまたは逆DCT
の加減算手続きと積和演算手続きを並列に処理できると
いう優れた性質を有しており、これにより更に高速なD
CT,逆DCT演算を実現することが出来る。
装置は、加算器の積和演算器が並列動作できるようにす
ることにより、2次元N次DCTまたは2次元N次逆D
CTを実行するさい、1次元N次DCTまたは逆DCT
の加減算手続きと積和演算手続きを並列に処理できると
いう優れた性質を有しており、これにより更に高速なD
CT,逆DCT演算を実現することが出来る。
【0055】
【発明の効果】以上のように、本発明のDCT及び逆D
CT演算装置は以下のような効果を有する。 (1)データメモリ,アドレス発生手段,加算器,積和
演算器をバスで接続した柔軟な構成をしているため、高
能率符号化の他の処理も行うことができる。 (2)同一の演算器構成で、任意の次数のDCT及び逆
DCTを実行できる。 (3)従来技術その2と比べると、少ないハードウェア
量で、より高性能なDCT及び逆DCT演算装置を構成
できる。 (4)以下に述べるように、本演算装置上のDCT,逆
DCT演算方法は、演算量が少なく、演算手順が簡単な
ため、高速にDCT,逆DCTを実行できる。
CT演算装置は以下のような効果を有する。 (1)データメモリ,アドレス発生手段,加算器,積和
演算器をバスで接続した柔軟な構成をしているため、高
能率符号化の他の処理も行うことができる。 (2)同一の演算器構成で、任意の次数のDCT及び逆
DCTを実行できる。 (3)従来技術その2と比べると、少ないハードウェア
量で、より高性能なDCT及び逆DCT演算装置を構成
できる。 (4)以下に述べるように、本演算装置上のDCT,逆
DCT演算方法は、演算量が少なく、演算手順が簡単な
ため、高速にDCT,逆DCTを実行できる。
【図1】本発明のDCT,逆DCT演算装置の一実施例
を示すブロック図である。
を示すブロック図である。
【図2】図1のDCT,逆DCT演算装置における1次
元N次DCTの演算方法を示す流れ図である。
元N次DCTの演算方法を示す流れ図である。
【図3】図1のDCT,逆DCT演算装置における1次
元N次逆DCTの演算方法を示す流れ図である。
元N次逆DCTの演算方法を示す流れ図である。
【図4】本発明のDCT,逆DCTの演算装置の第2の
実施例を示すブロック図である。
実施例を示すブロック図である。
【図5】図4のDCT,逆DCT演算装置での2次元N
次DCTの演算方法におけるタイミングを示すタイミン
グ図である。
次DCTの演算方法におけるタイミングを示すタイミン
グ図である。
【図6】本発明の効果を示す従来技術との比較図であ
る。
る。
【図7】図7は従来技術その2におけるDCT,逆DC
T演算装置の構成を示すブロック図である。
T演算装置の構成を示すブロック図である。
101 入力端子 102 出力端子 110 データメモリ 120 アドレス発生回路 130 入力バス 140 加算器 150 積和演算器 160 出力バス 201 スイッチ 202 スイッチ 210 加算ステップ 220 減算ステップ 230−1 積和演算ステップ 230−2 積和演算ステップ 240 原画像データ 250 加減算入力データ 260 加算結果 270 減算結果 280 DCT変換結果 290−1 DCT変換係数 290−2 DCT変換係数 292 加減算手続き 294 積和演算手続き 301 スイッチ 302 スイッチ 310−1 積和演算ステップ 310−2 積和演算ステップ 320 加算ステップ 330 減算ステップ 340 DCT演算結果 350 積和演算結果 360−1 加減算入力データ 360−2 加減算入力データ 370−1 加算結果 370−2 減算結果 380 原画像データ 390−1 逆DCT変換係数 390−2 逆DCT変換係数 392 積和演算手続き 401 外部入力端子 402 外部出力端子 410−1 データメモリ 410−2 データメモリ 420−1 アドレス発生手段 420−2 アドレス発生手段 430−1 加算器入力バス 430−2 積和演算器入力バス 440 加算器 450 積和演算器 460−1 出力バス 460−2 出力バス 510 1次元N次DCT 710〜740 加算装置 760〜780 乗算装置
Claims (5)
- 【請求項1】(A)原画像データ,演算途中結果,DC
T変換結果,DCT変換係数,逆DCT変換係数を記憶
するデータメモリ、(B)前記データメモリの読みだし
及び書き込みアドレスを指定するアドレス発生手段、
(C)前記アドレス発生手段の指定する前記データメモ
リの複数のアドレスから読み出されたデータ間の加算ま
たは減算を行い、前記加算結果を前記アドレス発生手段
の指定する前記データメモリのアドレスに書き込む加算
器、(D)前記アドレス発生手段の指定する前記データ
メモリの複数のアドレスから読み出されたデータ間の積
和演算を行い、前記積和演算結果を前記アドレス発生手
段の指定する前記データメモリのアドレスに書き込む積
和演算器、を有することを特徴とするDCT及び逆DC
T演算装置。 - 【請求項2】 請求項1記載のDCT及び逆DCT演算
装置におけるN次(Nは2の正のべき乗で表される任意
の正整数)の1次元DCTの演算方法であって、(A)
0から(M−1)までの引数を持つM個(Mは2からN
までの2の正のべき乗で表される任意の正整数)のデー
タを入力として持ち、前記アドレス発生手段の指定によ
り、前記入力データのうち引数の和がMである二つの前
記入力データの組を順次前記データメモリから読みだ
し、読み出された二つの前記入力データ間の加算を前記
加算器で行い、1から(M/2−1)までの引数を持つ
M/2個の加算結果を前記データメモリに書き込む加算
ステップ、(B)0から(M−1)までの引数を持つM
個のデータを入力として持ち、前記アドレス発生手段の
指定により、前記入力データのうち引数の和がMである
二つの前記入力データの組を順次前記データメモリから
読み出し、読み出された二つの前記入力データ間の減算
を前記加算器で行い、1から(M/2−1)までの引数
を持つM/2個の減算結果を前記データメモリに書き込
む減算ステップ、(C)0から(L−1)までの引数を
持つL個(Lは2からN/2までの2の正のべき乗で表
される任意の正整数)のデータと、L2 個のDCT変換
係数とを入力として持ち、前記アドレス発生手段の指定
により、前記入力データと前記入力DCT変換係数を順
次前記データメモリから読みだし、読み出された前記入
力データと前記入力DCT変換係数間の積和演算を前記
積和演算器で行い、L個のDCT変換結果を出力する第
1の積和演算ステップ、(D)0から1までの引数を持
つ2個のデータと、4個のDCT変換係数とを入力とし
て持ち、前記アドレス発生手段の指定により、前記入力
データと前記入力DCT変換係数を順次前記データメモ
リから読みだし、読み出された前記入力データと前記入
力DCT変換係数間の積和演算を前記積和演算器で行
い、2個のDCT変換結果を出力する第2の積和演算ス
テップ、を有し、 (log2 N−1)回の前記加算ステップと(log2
N−1)回の前記減算ステップを行う加減算手続きと、
(log2 N−1)回の前記第1の積和演算ステップと
1回の前記第2の積和演算ステップを行う積和演算手続
とにより1次元N次DCT演算を実行し、 前記加減算手続器においては、 第1回目の前記加算ステップおよび第1回目の前記減算
ステップの前記入力データとして、0から(N−1)ま
での引数を持つN個の前記原画像データを用い、 第m回目(mは2から(log2 N−1)までの任意の
正整数)の前記加算ステップおよび第m回目の前記減算
ステップの前記入力データとして第(m−1)回目の前
記加算ステップの前記加算結果を用い、 前記積和演算手続においては、 第n回目(nは1から(log2 N−1)までの任意の
正整数)の前記第1の積和演算ステップの前記入力デー
タとして、第n回目の前記減算ステップの前記減算結果
を用い、 前記第2の積和演算ステップの入力データとして第(l
og2 N−1)回目の前記加算ステップの加算結果を用
い、 第1から第(log2 N−1)までの前記第1の積和演
算ステップと前記第2の積和演算ステップの積和演算の
結果として、合計でN個の前記DCT変換経過を得るこ
とを特徴とする1次元N次DCTの演算方法。 - 【請求項3】 請求項1記載のDCT及び逆DCT演算
装置におけるN次の1次元DCTの演算方法であって、
(A)0からN−1までの引数を持つN個の前記DCT
変換結果のうちで、引数N/2n で割った余りがN/2
n+1 である引数を持つ2n 個の前記DCT変換結果と、
22n個の前記逆DCT変換係数とを入力として持ち、前
記アドレス発生手段の指定により、前記入力DCT変換
経過と、前記入力逆DCT変換係数を順次データメモリ
から読み出し、読み出された前記入力DCT変換結果と
前記入力逆DCT変換係数間の積和演算を前記第1の積
和演算器で行い、0から(2n −1)までの引数を持つ
2n 個の積和演算結果を出力する第1の積和演算ステッ
プ、(B)前記DCT変換結果のうちで、引数が0とN
/2である2個の前記DCT変換結果と、4個の前記逆
DCT変換係数とを入力として持ち、前記アドレス発生
手段の指定により、前記入力データと前記入力逆DCT
変換係数を順次データメモリから読み出し、読み出され
た前記入力データと前記入力逆DCT変換係数間の積和
演算を前記積和演算器で行い、0から1までの引数を持
つ2個の積和演算結果を出力する第2の積和演算ステッ
プ、(C)0から(L−1)までの引数を持つL個のデ
ータ二組を入力として持ち、前記アドレス発生手段の指
定により、二組の前記入力データのうち、引数が同じで
ある二つの前記入力データの組を順次前記データメモリ
から読みだし、読み出された二つの前記入力データ間の
加算を前記加算器で行い、L個の加算結果を前記データ
メモリに書き込む加算ステップ、(D)0から(L−
1)までの引数を持つL個のデータ二組を入力として持
ち、前記アドレス発生手段により、二組の前記入力デー
タのうち、引数が同じである二つの前記入力データの組
を順次前記データメモリから読み出し、読み出された二
つの前記入力データ間の減算を前記加算器で行い、L個
の減算結果を前記データメモリに書き込む減算ステッ
プ、を有し、 (log2 N−1)回の第1の積和演算ステップと1回
の第2の積和演算ステップを行う積和演算手続と、(l
og2 N−1)回の加算ステップと(log2N−1)
回の減算ステップを行う加減算手続きとにより1次元N
次逆DCTを実行し、 前記積和演算手続きにおいては、 第n回目の第1の積和演算ステップで、前記2n 個の逆
DCT変換結果を入力として用い、 前記加減手続きにおいては、 第1回目の前記加算ステップおよび第1回目の前記減算
ステップの二組の前記入力データとして、前記第2の積
和演算ステップの前記積和演算結果と第1回目の前記第
1の積和演算ステップの前記積和演算結果とを用い、 第m回目の前記加算ステップおよび第m回目の前記減算
ステップのそれぞれの二組の前記入力データとして第
(m−1)回目の前記加算ステップの前記加算結果及び
第(m−1)回目の前記減算ステップの前記減算結果
と、第m回目の前記第1の積和演算ステップの前記積和
演算結果とを用い、 第(log2 N−1)回目の前記加算ステップの前記加
算結果および第(log2 N−1)回目の前記減算ステ
ップの前記減算結果として、N個の原画像データを得る
ことを特徴とする1次元N次逆DCTの演算方法。 - 【請求項4】 請求項1記載のDCT及び逆DCT演算
装置におけるN次の2次元DCT演算方法であって、 請求項2記載の1次元N次DCT演算方法を2N回繰り
返すことにより2次元N次DCT演算を行い、前記加算
器と前記積和演算器を並列動作させることにより、 ある前記1次元N次DCT演算の前記積和演算手続き
と、その次の繰り返しの前記1次元N次DCT演算の加
減算手続きとを並列に処理することを特徴とする2次元
N次DCT演算方法。 - 【請求項5】 請求項1記載のDCT及び逆DCT演算
装置におけるN次の2次元逆DCT演算方法であって、
請求項3記載の1次元N次逆DCT演算方法を2N回繰
り返すことにより2次元N次逆DCT演算を行い、前記
加算器と前記積和演算器を並列動作させることにより、 ある前記1次元N次逆DCT演算の前記加減算手続き
と、その次の繰り返しの前記1次元N次逆DCT演算の
前記積和演算手続きとを並列に処理することを特徴とす
る2次元N次逆DCT演算方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30207192A JP2725544B2 (ja) | 1992-11-12 | 1992-11-12 | Dct及び逆dct演算装置並びにその演算方法 |
| US08/151,105 US5477469A (en) | 1992-11-12 | 1993-11-12 | Operation device and operation method for discrete cosine transform and inverse discrete cosine transform |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30207192A JP2725544B2 (ja) | 1992-11-12 | 1992-11-12 | Dct及び逆dct演算装置並びにその演算方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06149861A true JPH06149861A (ja) | 1994-05-31 |
| JP2725544B2 JP2725544B2 (ja) | 1998-03-11 |
Family
ID=17904570
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP30207192A Expired - Fee Related JP2725544B2 (ja) | 1992-11-12 | 1992-11-12 | Dct及び逆dct演算装置並びにその演算方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5477469A (ja) |
| JP (1) | JP2725544B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100357338B1 (ko) * | 1994-08-02 | 2003-02-11 | 가부시끼가이샤 히다치 세이사꾸쇼 | 데이타처리시스템 |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0723389A (ja) * | 1993-06-28 | 1995-01-24 | Toshiba Corp | 画像処理装置 |
| TW284869B (ja) | 1994-05-27 | 1996-09-01 | Hitachi Ltd | |
| KR100212268B1 (ko) * | 1995-12-13 | 1999-08-02 | 윤종용 | 리의 알고리즘을 이용한 이산 코사인 역변환 시스템 |
| JP3129392B2 (ja) * | 1996-02-02 | 2001-01-29 | 日本電気株式会社 | 2次元idct回路 |
| JP3547567B2 (ja) * | 1996-08-08 | 2004-07-28 | シャープ株式会社 | 離散コサイン変換器 |
| JP3547971B2 (ja) | 1998-01-30 | 2004-07-28 | 三洋電機株式会社 | 離散コサイン変換回路及びその動作方法 |
| JP3524747B2 (ja) * | 1998-01-30 | 2004-05-10 | 三洋電機株式会社 | 離散コサイン変換回路 |
| JP3547972B2 (ja) | 1998-01-30 | 2004-07-28 | 三洋電機株式会社 | 離散コサイン変換回路 |
| US6201897B1 (en) | 1998-11-09 | 2001-03-13 | Earth Resource Mapping | Transformation and selective inverse transformation of large digital images |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01119861A (ja) * | 1987-11-02 | 1989-05-11 | Sharp Corp | ディジタル信号処理用lsi |
| JPH03138759A (ja) * | 1989-10-23 | 1991-06-13 | Internatl Business Mach Corp <Ibm> | 信号プロセツサ |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| IT1207346B (it) * | 1987-01-20 | 1989-05-17 | Cselt Centro Studi Lab Telecom | Sformata coseno discreta a coeffi circuito per il calcolo della tra cienti quantizzati di campioni di segnale numerico |
| JP2646778B2 (ja) * | 1990-01-17 | 1997-08-27 | 日本電気株式会社 | ディジタル信号処理装置 |
| US5341318A (en) * | 1990-03-14 | 1994-08-23 | C-Cube Microsystems, Inc. | System for compression and decompression of video data using discrete cosine transform and coding techniques |
| DE4026523A1 (de) * | 1990-08-22 | 1992-02-27 | Thomson Brandt Gmbh | Verfahren und vorrichtung zur bilddaten-transformation |
| JPH04242860A (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 | 三菱電機株式会社 | 演算処理装置 |
| US5361220A (en) * | 1991-11-29 | 1994-11-01 | Fuji Photo Film Co., Ltd. | Discrete cosine transformation with reduced components |
| KR950000386B1 (ko) * | 1992-12-30 | 1995-01-16 | 재단법인 한국전자통신연구소 | 이산여현 변환회로 |
| US5345408A (en) * | 1993-04-19 | 1994-09-06 | Gi Corporation | Inverse discrete cosine transform processor |
-
1992
- 1992-11-12 JP JP30207192A patent/JP2725544B2/ja not_active Expired - Fee Related
-
1993
- 1993-11-12 US US08/151,105 patent/US5477469A/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01119861A (ja) * | 1987-11-02 | 1989-05-11 | Sharp Corp | ディジタル信号処理用lsi |
| JPH03138759A (ja) * | 1989-10-23 | 1991-06-13 | Internatl Business Mach Corp <Ibm> | 信号プロセツサ |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100357338B1 (ko) * | 1994-08-02 | 2003-02-11 | 가부시끼가이샤 히다치 세이사꾸쇼 | 데이타처리시스템 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5477469A (en) | 1995-12-19 |
| JP2725544B2 (ja) | 1998-03-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100329339B1 (ko) | 압축데이터에의한승산-가산연산수행장치 | |
| JP3750820B2 (ja) | パック・データの乗加算演算を実行する装置 | |
| JP4584580B2 (ja) | 単一命令複数データ(simd)命令用の積和演算(mac)ユニット | |
| US7117236B2 (en) | Parallel adder-based DCT/IDCT design using cyclic convolution | |
| JPH0526229B2 (ja) | ||
| WO1995033241A1 (en) | High-speed arithmetic unit for discrete cosine transform and associated operation | |
| MX2008008987A (es) | Transformadas con factores comunes. | |
| US6993547B2 (en) | Address generator for fast fourier transform processor | |
| JP2725544B2 (ja) | Dct及び逆dct演算装置並びにその演算方法 | |
| Park et al. | Modular VLSI architectures for real-time full-search-based vector quantization | |
| US6003058A (en) | Apparatus and methods for performing arithimetic operations on vectors and/or matrices | |
| JPH03100771A (ja) | アレイ処理方法 | |
| Wahid et al. | Error-free computation of 8/spl times/8 2D DCT and IDCT using two-dimensional algebraic integer quantization | |
| US5025257A (en) | Increased performance of digital integrated circuits by processing with multiple-bit-width digits | |
| JPH09212485A (ja) | 2次元idct回路 | |
| JPH07200539A (ja) | 二次元dct演算装置 | |
| JPH03256455A (ja) | Idct処理装置 | |
| US4942396A (en) | To-digit-serial converters for systems processing data in digit-serial format | |
| Panda | Performance Analysis and Design of a Discreet Cosine Transform processor Using CORDIC algorithm | |
| JP2001084242A (ja) | 可変演算プロセッサ | |
| JPH0298777A (ja) | 並列積和演算回路及びベクトル行列積演算方法 | |
| JPH0535773A (ja) | ベクトル除算方式とその装置 | |
| Lyakhov | Computer and Information Sciences | |
| JPH06274524A (ja) | 直交変換回路および逆変換回路 | |
| Sastry et al. | High speed pipelined architecture for cyclic convolution based on FNT |
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: 19971104 |
|
| LAPS | Cancellation because of no payment of annual fees |