JP2778622B2 - 2次元dct回路 - Google Patents

2次元dct回路

Info

Publication number
JP2778622B2
JP2778622B2 JP13937495A JP13937495A JP2778622B2 JP 2778622 B2 JP2778622 B2 JP 2778622B2 JP 13937495 A JP13937495 A JP 13937495A JP 13937495 A JP13937495 A JP 13937495A JP 2778622 B2 JP2778622 B2 JP 2778622B2
Authority
JP
Japan
Prior art keywords
output
input
butterfly operation
coefficient matrix
tensor product
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP13937495A
Other languages
English (en)
Other versions
JPH08335885A (ja
Inventor
一朗 黒田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP13937495A priority Critical patent/JP2778622B2/ja
Priority to US08/659,345 priority patent/US5768167A/en
Publication of JPH08335885A publication Critical patent/JPH08335885A/ja
Application granted granted Critical
Publication of JP2778622B2 publication Critical patent/JP2778622B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform

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)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (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)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は画像信号処理等で用いら
れる2次元DCTを実現する回路に関する。
【0002】
【従来の技術】従来、画像信号処理で用いられる8点×
8点DCTを実現する場合、より多くの時間あるいはハ
ードウェアを要する乗算回数あるいは積和演算の回数を
最小限にすることを目的に設計されてきた。
【0003】具体的には8点×8点の2次元DCTは、
1次元8点DCTを行方向に8回行い、その結果を用い
て列方向に8回実行することにより実現している。さら
に、1次元8点DCTの高速化により2次元DCTの高
速化を図っていた。1次元8点DCTとしてはLoef
flerらによる方法が知られている。Loeffle
rらによる方法についてはProceedings o
f International Conferenc
e on Acoustics,Speech,and
Signal Processing 1989(I
CASSP´89)の988頁から991頁記載のC.
Loefflerらによる論文“Practical
Fast 1−D DCT Algorithms w
ith11 Multiplications”を参照
されたい。
【0004】一方、マイクロプロセッサやシグナルプロ
セッサの性能向上により、これらのプロセッサにより画
像信号処理を実現することが可能になって来ている。な
かでも乗算器や積和演算器を内蔵したマイクロプロセッ
サやシグナルプロセッサでは加減算と積和演算を同じサ
イクルで実現できるため、高速化アルゴリズムとしても
積和演算の回数だけでなく加減算と積和演算の回数の総
和を最小化することが必要になる。このために黒田らに
よる方法が知られている。黒田らによる方法については
平成5年電子情報通信学会秋季全国大会予稿集A−77
頁記載の黒田らによる論文“16−bit汎用DSPに
よるビデオレート(逆)DCTの実現”を参照された
い。
【0005】
【発明が解決しようとする課題】マイクロプロセッサや
シグナルプロセッサにより2次元DCTを実現する場
合、レジスタの本数の制限から行方向の1次元DCTの
結果を一旦メモリに格納し再びレジスタから読みだして
列方向の1次元DCTを実行する。さらに列方向の1次
元DCT結果をメモリに格納する。
【0006】ここで行方向の1次元DCTを実行する時
に乗算を実行するため、行方向の1次元DCTの結果は
倍精度になる。そのため誤差の導入を防ぐためには、メ
モリの格納や引き続いて行う列方向の1次元DCTも倍
精度で実行する必要がある。しかしながら、倍精度演算
を行うと演算量やハードウェア量が大きくなるため従来
は一般に倍精度データを単精度に打ち切って演算を行う
ことにより誤差を導入している。
【0007】一方、直接64×64の2次元DCT行列
による行列ベクトル乗算を行えばこのような誤差を導入
しなくてすむが演算量が膨大になる。
【0008】それ故に本発明の課題は、2次元DCTの
演算において積和演算と加減算の回数の総和を抑えなが
ら、演算誤差の導入を避けた高速な2次元DCTを実現
することである。
【0009】
【課題を解決するための手段】本発明によれば、8点×
8点の2次元逆DCTを計算する2次元DCT回路にお
いて、i,jを0から7までの整数として、iを垂直方
向のアドレス、jを水平方向のアドレスとして入力およ
び中間データの格納を行う点を(i,j)と名付け、2
つの入力をもち、第1の入力と第2の入力の加算結果を
第1の出力とし、第1の入力から第2の入力を減算した
ものを第2の出力とする演算回路をバタフライ演算回路
とし、第1のバタフライ演算回路と、第2のバタフライ
演算回路と、第1のバタフライ演算回路の第1の出力を
第1の入力とし、第2のバタフライ演算回路の第1の出
力を第2の入力とする第3のバタフライ演算回路と、第
1のバタフライ演算回路の第2の出力を第1の入力と
し、第2のバタフライ演算回路の第2の出力を第2の入
力とする第4のバタフライ演算回路とからなり、第3の
バタフライ演算回路の第1の出力を第1の出力とし、第
4のバタフライ演算回路の第1の出力を第2の出力と
し、第3のバタフライ演算回路の第2の出力を第3の出
力とし、第4のバタフライ演算回路の第2の出力を第4
の出力とした演算回路を2次元バタフライ演算回路と
し、n×mの矩形領域(i,j)を辞書的に並べたもの
を入力としてn×n行列とm×m行列とのテンソル積で
あるnm行列を掛ける演算器をテンソル積演算器とし、
iを0から3、jを0から3とした全ての組み合わせに
対して、(i,j)を第1のバタフライ演算回路の第1
の入力とし、(i,7−j)を第1のバタフライ演算回
路の第2の入力とし、(7−i,j)を第2のバタフラ
イ演算回路の第1の入力とし、(7−i,7−j)を第
2のバタフライ演算回路の第2の入力とし、第1の出力
を(i,j)に格納し、第2の出力を(i,7−j)に
格納し、第3の出力を(7−i,j)に格納し、第4の
出力を(7−i,7−j)に格納する16個の2次元バ
タフライ演算回路からなる第1ステージと、第1のステ
ージの出力を入力とし、iを0から1、jを0から1と
した全ての組み合わせに対して、(i,j)を第1のバ
タフライ演算回路の第1の入力とし、(i,3−j)を
第1のバタフライ演算回路の第2の入力とし、(3−
i,j)を第2のバタフライ演算回路の第1の入力と
し、(3−i,3−j)を第2のバタフライ演算回路の
第2の入力とし、第1の出力を(i,j)に格納し、第
2の出力を(i,3−j)に格納し、第3の出力を(3
−i,j)に格納し、第4の出力を(3−i,3−j)
に格納する4個の2次元バタフライ演算回路と、iを0
または1とし、jを4から7とした全ての組み合わせに
対して、(i,j)を第1の入力とし、(3−i,j)
を第2の入力とし、第1の出力を(i,j)に格納し、
第2の出力を(3−i,j)に格納する8個のバタフラ
イ演算回路と、iを4から7とし、jを0または1とし
た全ての組み合わせに対して、(i,j)を第1の入力
とし、(i,3−j)を第2の入力とし、第1の出力を
(i,j)に格納し、第2の出力を(i,3−j)に格
納する8個のバタフライ演算回路とからなる第2ステー
ジと、第2のステージの出力を入力とし、(0,0),
(0,1),(1,0),(1,1)を入力とした、第
1の2×2係数行列と第1の2×2係数行列による第1
のテンソル積演算器と、(0,2),(0,3),
(1,2),(1,3)を入力とした、第1の2×2係
数行列と第2の2×2係数行列による第2のテンソル積
演算器と、(2,0),(2,1),(3,0),
(3,1)を入力とした、第2の2×2係数行列と第1
の2×2係数行列による第3のテンソル積演算器と、
(2,2),(2,3),(3,2),(3,3)を入
力とした、第2の2×2係数行列と第2の2×2係数行
列による第4のテンソル積演算器と、(0,4),
(0,5),(0,6),(0,7),(1,4),
(1,5),(1,6),(1,7)を入力とした、第
1の2×2係数行列と第1の4×4係数行列による第5
のテンソル積演算器と、(2,4),(2,5),
(2,6),(2,7),(3,4),(3,5),
(3,6),(3,7)を入力とした、第2の2×2係
数行列と第1の4×4係数行列による第6のテンソル積
演算器と、(4,0),(4,1),(5,0),
(5,1),(6,0),(6,1),(7,0),
(7,1)を入力とした、第1の4×4係数行列と第1
の2×2係数行列による第7のテンソル積演算器と、
(4,2),(4,3),(5,2),(5,3),
(6,2),(6,3),(7,2),(7,3)を入
力とした、第1の4×4係数行列と第2の2×2係数行
列による第8のテンソル積演算器と、(4,4),
(4,5),(4,6),(4,7),(5,4),
(5,5),(5,6),(5,7),(6,4),
(6,5),(6,6),(6,7),(7,4),
(7,5),(7,6),(7,7)を入力とした、第
1の4×4係数行列と第1の4×4係数行列による第9
のテンソル積演算器とからなる第3のステージとから構
成される2次元DCT回路が得られる。
【0010】また本発明によれば、8点×8点の2次元
逆DCTを計算する2次元DCT回路において、第1ス
テージと、前記第1ステージの出力を入力とする第2ス
テージと、前記第2ステージの出力を入力とする第3ス
テージとを含み、前記第1ステージは16個の2次元バ
タフライ演算回路を含み、前記第1ステージの2次元バ
タフライ演算回路の各々は、第1の入力と第2の入力の
加算結果を第1の出力とし、第1の入力から第2の入力
を減算したものを第2の出力とする第1及び第2のバタ
フライ演算回路と、前記第1のバタフライ演算回路の第
1の出力を第1の入力とし、前記第2のバタフライ演算
回路の第1の出力を第2の入力とし、第1の入力と第2
の入力の加算結果を第1の出力とし、第1の入力から第
2の入力を減算したものを第2の出力とする第3のバタ
フライ演算回路と、前記第1のバタフライ演算回路の第
2の出力を第1の入力とし、前記第2のバタフライ演算
回路の第2の出力を第2の入力とし、第1の入力と第2
の入力の加算結果を第1の出力とし、第1の入力から第
2の入力を減算したものを第2の出力とする第4のバタ
フライ演算回路とを含み、前記第3のバタフライ演算回
路の第1の出力を第1の出力とし、前記第4のバタフラ
イ演算回路の第1の出力を第2の出力とし、前記第3の
バタフライ演算回路の第2の出力を第3の出力とし、前
記第4のバタフライ演算回路の第2の出力を第4の出力
とし、i(iは0から7までの整数)を垂直方向のアド
レスとするとともにj(jは0から7までの整数)を水
平方向のアドレスとして入力および中間データの格納を
行う点を(i,j)としたとき、iを0から3、jを0
から3とした全ての組み合わせに対して、(i,j)を
前記第1のバタフライ演算回路の第1の入力とし、
(i,7−j)を前記第1のバタフライ演算回路の第2
の入力とし、(7−i,j)を前記第2のバタフライ演
算回路の第1の入力とし、(7−i,7−j)を前記第
2のバタフライ演算回路の第2の入力とし、第1の出力
を(i,j)に格納し、第2の出力を(i,7−j)に
格納し、第3の出力を(7−i,j)に格納し、第4の
出力を(7−i,7−j)に格納するものであり、前記
第2ステージは、4個の2次元バタフライ演算回路、8
個の第1の種のバタフライ演算回路、及び8個の第2の
種のバタフライ演算回路を含み、前記第2ステージの2
次元バタフライ演算回路の各々は、第1及び第2のバタ
フライ演算回路を含み、iを0から1、jを0から1と
した全ての組み合わせに対して、(i,j)を前記第2
ステージの第1のバタフライ演算回路の第1の入力と
し、(i,3−j)を該第1のバタフライ演算回路の第
2の入力とし、(3−i,j)を前記第2ステージの第
2のバタフライ演算回路の第1の入力とし、(3−i,
3−j)を該第2のバタフライ演算回路の第2の入力と
し、第1の出力を(i,j)に格納し、第2の出力を
(i,3−j)に格納し、第3の出力を(3−i,j)
に格納し、第4の出力を(3−i,3−j)に格納する
ものであり、前記第1の種のバタフライ演算回路の各々
は、iを0または1とし、jを4から7とした全ての組
み合わせに対して、(i,j)を第1の入力とし、(3
−i,j)を第2の入力とし、第1の出力を(i,j)
に格納し、第2の出力を(3−i,j)に格納するもの
であり、前記第2の種のバタフライ演算回路の各々は、
iを4から7とし、jを0または1とした全ての組み合
わせに対して、(i,j)を第1の入力とし、(i,3
−j)を第2の入力とし、第1の出力を(i,j)に格
納し、第2の出力を(i,3−j)に格納するものであ
り、前記第3ステージは、(0,0),(0,1),
(1,0),(1,1)を入力として第1の2×2係数
行列と第1の2×2係数行列によるテンソル積を求める
第1のテンソル積演算器と、(0,2),(0,3),
(1,2),(1,3)を入力として第1の2×2係数
行列と第2の2×2係数行列によるテンソル積を求める
第2のテンソル積演算器と、(2,0),(2,1),
(3,0),(3,1)を入力として第2の2×2係数
行列と第1の2×2係数行列によるテンソル積を求める
第3のテンソル積演算器と、(2,2),(2,3),
(3,2),(3,3)を入力として第2の2×2係数
行列と第2の2×2係数行列によるテンソル積を求める
第4のテンソル積演算器と、(0,4),(0,5),
(0,6),(0,7),(1,4),(1,5),
(1,6),(1,7)を入力として第1の2×2係数
行列と第1の4×4係数行列によるテンソル積を求める
第5のテンソル積演算器と、(2,4),(2,5),
(2,6),(2,7),(3,4),(3,5),
(3,6),(3,7)を入力として第2の2×2係数
行列と第1の4×4係数行列によるテンソル積を求める
第6のテンソル積演算器と、(4,0),(4,1),
(5,0),(5,1),(6,0),(6,1),
(7,0),(7,1)を入力として第1の4×4係数
行列と第1の2×2係数行列によるテンソル積を求める
第7のテンソル積演算器と、(4,2),(4,3),
(5,2),(5,3),(6,2),(6,3),
(7,2),(7,3)を入力として第1の4×4係数
行列と第2の2×2係数行列によるテンソル積を求める
第8のテンソル積演算器と、(4,4),(4,5),
(4,6),(4,7),(5,4),(5,5),
(5,6),(5,7),(6,4),(6,5),
(6,6),(6,7),(7,4),(7,5),
(7,6),(7,7)を入力として第1の4×4係数
行列と第1の4×4係数行列によるテンソル積を求める
第9のテンソル積演算器とを含むことを特徴とする2次
元DCT回路が得られる。
【0011】また本発明によれば、8点×8点の2次元
逆DCTを計算する方法において、所定の演算を行う第
1ステージと、前記第1ステージの出力に基づいて演算
する第2ステージと、前記第2ステージの出力に基づい
て演算する第3ステージとを含み、前記第1ステージで
は第1から第16の2次元バタフライ演算を行い、前記
第1ステージの2次元バタフライ演算の各々は、第1の
入力と第2の入力の加算結果を第1の出力とし、第1の
入力から第2の入力を減算したものを第2の出力とする
第1及び第2のバタフライ演算を行うことと、前記第1
のバタフライ演算の第1の出力を第1の入力とし、前記
第2のバタフライ演算の第1の出力を第2の入力とし、
第1の入力と第2の入力の加算結果を第1の出力とし、
第1の入力から第2の入力を減算したものを第2の出力
とする第3のバタフライ演算を行うことと、前記第1の
バタフライ演算の第2の出力を第1の入力とし、前記第
2のバタフライ演算の第2の出力を第2の入力とし、第
1の入力と第2の入力の加算結果を第1の出力とし、第
1の入力から第2の入力を減算したものを第2の出力と
する第4のバタフライ演算を行うこととを含み、前記第
3のバタフライ演算の第1の出力を第1の出力とし、前
記第4のバタフライ演算の第1の出力を第2の出力と
し、前記第3のバタフライ演算の第2の出力を第3の出
力とし、前記第4のバタフライ演算の第2の出力を第4
の出力とし、i(iは0から7までの整数)を垂直方向
のアドレスとするとともにj(jは0から7までの整
数)を水平方向のアドレスとして入力および中間データ
の格納を行う点を(i,j)としたとき、iを0から
3、jを0から3とした全ての組み合わせに対して、
(i,j)を前記第1のバタフライ演算の第1の入力と
し、(i,7−j)を前記第1のバタフライ演算の第2
の入力とし、(7−i,j)を前記第2のバタフライ演
算の第1の入力とし、(7−i,7−j)を前記第2の
バタフライ演算の第2の入力とし、第1の出力を(i,
j)に格納し、第2の出力を(i,7−j)に格納し、
第3の出力を(7−i,j)に格納し、第4の出力を
(7−i,7−j)に格納し、前記第2ステージでは、
第1から第4の2次元バタフライ演算、第1から第8の
第1の種のバタフライ演算、及び第1から第8の第2の
種のバタフライ演算を行い、前記第2ステージの2次元
バタフライ演算の各々は、第1及び第2のバタフライ演
算を含み、iを0から1、jを0から1とした全ての組
み合わせに対して、(i,j)を前記第2ステージの第
1のバタフライ演算の第1の入力とし、(i,3−j)
を該第1のバタフライ演算の第2の入力とし、(3−
i,j)を前記第2ステージの第2のバタフライ演算の
第1の入力とし、(3−i,3−j)を該第2のバタフ
ライ演算の第2の入力とし、第1の出力を(i,j)に
格納し、第2の出力を(i,3−j)に格納し、第3の
出力を(3−i,j)に格納し、第4の出力を(3−
i,3−j)に格納するものであり、前記第1の種のバ
タフライ演算の各々は、iを0または1とし、jを4か
ら7とした全ての組み合わせに対して、(i,j)を第
1の入力とし、(3−i,j)を第2の入力とし、第1
の出力を(i,j)に格納し、第2の出力を(3−i,
j)に格納するものであり、前記第2の種のバタフライ
演算の各々は、iを4から7とし、jを0または1とし
た全ての組み合わせに対して、(i,j)を第1の入力
とし、(i,3−j)を第2の入力とし、第1の出力を
(i,j)に格納し、第2の出力を(i,3−j)に格
納するものであり、前記第3ステージは、(0,0),
(0,1),(1,0),(1,1)を入力として第1
の2×2係数行列と第1の2×2係数行列によるテンソ
ル積を求めることと、(0,2),(0,3),(1,
2),(1,3)を入力として第1の2×2係数行列と
第2の2×2係数行列によるテンソル積を求めること
と、(2,0),(2,1),(3,0),(3,1)
を入力として第2の2×2係数行列と第1の2×2係数
行列によるテンソル積を求めることと、(2,2),
(2,3),(3,2),(3,3)を入力として第2
の2×2係数行列と第2の2×2係数行列によるテンソ
ル積を求めることと、(0,4),(0,5),(0,
6),(0,7),(1,4),(1,5),(1,
6),(1,7)を入力として第1の2×2係数行列と
第1の4×4係数行列によるテンソル積を求めること
と、(2,4),(2,5),(2,6),(2,
7),(3,4),(3,5),(3,6),(3,
7)を入力として第2の2×2係数行列と第1の4×4
係数行列によるテンソル積を求めることと、(4,
0),(4,1),(5,0),(5,1),(6,
0),(6,1),(7,0),(7,1)を入力とし
て第1の4×4係数行列と第1の2×2係数行列による
テンソル積を求めることと、(4,2),(4,3),
(5,2),(5,3),(6,2),(6,3),
(7,2),(7,3)を入力として第1の4×4係数
行列と第2の2×2係数行列によるテンソル積を求める
ことと、(4,4),(4,5),(4,6),(4,
7),(5,4),(5,5),(5,6),(5,
7),(6,4),(6,5),(6,6),(6,
7),(7,4),(7,5),(7,6),(7,
7)を入力として第1の4×4係数行列と第1の4×4
係数行列によるテンソル積を求めることとを含むことを
特徴とする2次元逆DCT計算方法が得られる。
【0012】
【作用】本発明の原理を以下に示す。
【0013】前述の黒田らによる8点1次元DCTアル
ゴリズムは以下数1の様な8×8行列Rによる変換とし
て記述できる。
【0014】
【数1】 ここで、下記数2但し、下記数3である。
【0015】
【数2】
【0016】
【数3】 また、Pは巡回行列、B4 ,B8 はバタフライ行列であ
る。また、γ (k)=cos2πk/32。
【0017】この時、2次元DCT行列(64×64)
は下記数4の様に1次元DCT行列(8×8)のテンソ
ル積(クロネッカー積)になる。
【0018】
【数4】 これは下記数5のように書き換えられる。ここでP1,
P2は巡回行列である。
【0019】
【数5】 上に示した様に、2次元DCT行列は64×64バタフ
ライ行列と、4つの16×16行列、及び巡回行列の掛
け算になる。但し巡回行列の掛け算はデータの入れ替え
のみであり、プロセッサで実現する場合は汎用レジスタ
のアドレッシングで実現できるため演算量としてはカウ
ントされない。各々の16×16行列はさらに、下記数
6のように分解される。
【0020】
【数6】 さらに、下記数7となる。
【0021】
【数7】 以上より、乗算が必要な第3のステージの行列ベクトル
乗算では、乗算結果である倍精度データを乗算の入力と
したり、メモリに格納したりする必要はない。
【0022】また本回路における積和演算および加減算
回数の総和は第1ステージの128回、第2ステージの
64回、第3ステージの576回を足し合わせた768
回となる。これは行列分解を用いることにより誤差の導
入が避けられない黒田らによ方法の576回に比べれば
多いが、64×64行列演算に要する4092回に比べ
れば遥かに少ない。
【0023】
【実施例】次に本発明の実施例を図面を参照しながら説
明する。
【0024】図1は本発明の一実施例であり、8点×8
点の2次元DCTを計算する回路を表す。
【0025】図1は2次元バタフライ演算器1から16
により構成される第1ステージA、2次元バタフライ演
算器17から20と、バタフライ演算器21から36か
ら構成される第2ステージB、第1のテンソル積演算器
37、第2のテンソル積演算器38、第3のテンソル積
演算器39、第4のテンソル積演算器40、第5のテン
ソル積演算器41、第6のテンソル積演算器42、第7
のテンソル積演算器43、第8のテンソル積演算器4
4、第9のテンソル積演算器45とよりなる第3ステー
ジCとから構成される。
【0026】図1では第1、第2、及び第3ステージ
A,B,C間をパーミュテーションネットワーク(Pe
rmutation Network)PN1,PN
2,PN3にて接続している。
【0027】ここで8点×8点の2次元DCTを計算す
る回路において、i,jを0から7までの整数として、
iを垂直方向のアドレス、jを水平方向のアドレスとし
た入力各ijの格納アドレスを(i,j)と名付ける。
また各入力の図1における番号を1ijとする。
【0028】図2に8点×8点の2次元領域とアドレス
との対応を示す。
【0029】また、2つの入力をもち、第1の入力と第
2の入力の加算結果を第1の出力とし、第1の入力から
第2の入力を減算したものを第2の出力とする演算回路
をバタフライ演算回路とする。バタフライ演算回路にお
いて第1の入力を(i1,j1)とした時、第1の出力
は(i1,j1)に格納し、第2の入力(i2,j2)
とした時、第2の出力を(i2,j2)に格納する。
【0030】さらに、第1のバタフライ演算回路と、第
2のバタフライ演算回路と、第1のバタフライ演算回路
の第1の出力を第1の入力とし、第2のバタフライ演算
回路の第1の出力を第2の入力とする第3のバタフライ
演算回路と、第1のバタフライ演算回路の第2の出力を
第1の入力とし、第2のバタフライ演算回路の第2の出
力を第2の入力とする第4のバタフライ演算回路とから
なり、第3のバタフライ演算回路の第1の出力を第1の
出力とし、第4のバタフライ演算回路の第1の出力を第
2の出力とし、第3のバタフライ演算回路の第2の出力
を第3の出力とし、第4のバタフライ演算回路の第2の
出力を第4の出力とした演算回路を2次元バタフライ演
算回路とする。
【0031】2次元バタフライ演算回路において第1の
入力を(i1,j1)とした時、第1の出力を(i1,
j1)に格納し、第2の入力を(i2,j2)とした
時、第2の出力を(i2,j2)に格納し、第3の入力
を(i3,j3)とした時、第3の出力を(i3,j
3)に格納し、第4の入力を(i4,j4)とした時、
第4の出力を(i4,j4)に格納する。
【0032】またn×mの矩形領域(i,j)を辞書的
に並べたものを入力としてn×n行列とm×m行列との
テンソル積であるnm行列を掛ける演算器をテンソル積
演算器とする。
【0033】このとき、iを0から3、jを0から3と
した全ての組み合わせに対して、(i,j)を第1のバ
タフライ演算回路の第1の入力とし、(i,7−j)を
第1のバタフライ演算回路の第2の入力とし、(7−
i,j)を第2のバタフライ演算回路の第1の入力と
し、(7−i,7−j)を第2のバタフライ演算回路の
第2の入力とする16個の2次元バタフライ演算回路か
らなる第1ステージにおいて、2次元バタフライ演算器
1は(0,0)(0,7)(7,0)(7,7)を入力
とする。2次元バタフライ演算器2は(0,1)(0,
6)(7,1)(7,6)を入力とする。2次元バタフ
ライ演算器3は(0,2)(0,5)(7,2)(7,
5)を入力とする。2次元バタフライ演算器4は(0,
3)(0,4)(7,3)(7,4)を入力とする。2
次元バタフライ演算器5は(1,0)(1,7)(6,
0)(6,7)を入力とする。2次元バタフライ演算器
6は(1,1)(1,6)(6,1)(6,6)を入力
とする。2次元バタフライ演算器7は(1,2)(1,
5)(6,2)(6,5)を入力とする。2次元バタフ
ライ演算器8は(1,3)(1,4)(6,3)(6,
4)を入力とする。2次元バタフライ演算器9は(2,
0)(2,7)(5,0)(5,7)を入力とする。2
次元バタフライ演算器10は(2,1)(2,6)
(5,1)(5,6)を入力とする。2次元バタフライ
演算器11は(2,2)(2,5)(5,2)(5,
5)を入力とする。2次元バタフライ演算器12は
(2,3)(2,4)(5,3)(5,4)を入力とす
る。2次元バタフライ演算器13は(3,0)(3,
7)(4,0)(4,7)を入力とする。2次元バタフ
ライ演算器14は(3,1)(3,6)(4,1)
(4,6)を入力とする。2次元バタフライ演算器15
は(3,2)(3,5)(4,2)(4,5)を入力と
する。2次元バタフライ演算器16は(3,3)(3,
4)(4,3)(4,4)を入力とする。
【0034】図1では以上の第1ステージの入力点1i
jに対応する出力点を2ijとする。
【0035】また、第1ステージの出力を入力とし、i
を0から1、jを0から1とした全ての組み合わせに対
して、(i,j)を第1のバタフライ演算回路の第1の
入力とし、(i,3−j)を第1のバタフライ演算回路
の第2の入力とし、(3−i,j)を第2のバタフライ
演算回路の第1の入力とし、(3−i,3−j)を第2
のバタフライ演算回路の第2の入力とする4個の2次元
バタフライ演算回路と、iを0または1とし、jを4か
ら7とした全ての組み合わせに対して、(i,j)を第
1の入力とし、(3−i,j)を第2の入力とする8個
のバタフライ演算回路と、iを4から7とし、jを0ま
たは1とした全ての組み合わせに対して、(i,j)を
第1の入力とし、(i,3−j)を第2の入力とする8
個のバタフライ演算回路とからなる第2ステージにおい
て、2次元バタフライ演算器17は(0,0)(0,
3)(3,0)(3,3)を入力とする。2次元バタフ
ライ演算器18は(0,1)(0,2)(3,1)
(3,2)を入力とする。2次元バタフライ演算器19
は(1.0)(1,3)(2,0)(2,3)を入力と
する。2次元バタフライ演算器20は(1,1)(1,
2)(2,1)(2,2)を入力とする。
【0036】また、バタフライ演算器21は(0,4)
(3,4)を入力とする。バタフライ演算器22は
(0,5)(3,5)を入力とする。バタフライ演算器
23は(0,6)(3,6)を入力とする。バタフライ
演算器24は(0,7)(3,7)を入力とする。バタ
フライ演算器25は(1,4)(2,4)を入力とす
る。バタフライ演算器26は(1,5)(2,5)を入
力とする。バタフライ演算器27は(1,6)(2,
6)を入力とする。バタフライ演算器28は(1,7)
(2,7)を入力とする。バタフライ演算器29は
(4,0)(4,3)を入力とする。バタフライ演算器
30は(5,0)(5,3)を入力とする。バタフライ
演算器31は(6,0)(6,3)を入力とする。バタ
フライ演算器32は(7,0)(7,3)を入力とす
る。バタフライ演算器33は(4,1)(4,2)を入
力とする。バタフライ演算器34は(5,1)(5,
2)を入力とする。バタフライ演算器35は(6,1)
(6,2)を入力とする。バタフライ演算器36は
(7,1)(7,2)を入力とする。
【0037】図1では以上の第2ステージの入力点2i
jに対応する出力点を3ijとする。
【0038】第2ステージの出力を第3ステージの入力
とする。第1のテンソル積演算器37は、(0,0),
(0,1),(1,0),(1,1)を入力とし、第1
の2×2係数行列と第1の2×2係数行列によるテンソ
ル積である4×4行列による行列ベクトル演算を行う。
第2のテンソル積演算器38は、(0,2),(0,
3),(1,2),(1,3)を入力とし、第1の2×
2係数行列と第2の2×2係数行列によるテンソル積で
ある4×4行列による行列ベクトル演算を行う。第3の
テンソル積演算器39は、(2,0),(2,1),
(3,0),(3,1)を入力とした、第2の2×2係
数行列と第1の2×2係数行列によるテンソル積である
4×4行列による行列ベクトル演算を行う。第4のテン
ソル積演算器40は、(2,2),(2,3),(3,
2),(3,3)を入力とした、第2の2×2係数行列
と第2の2×2係数行列によるテンソル積である4×4
行列による行列ベクトル演算を行う。第5のテンソル積
演算器41は、(0,4),(0,5),(0,6),
(0,7),(1,4),(1,5),(1,6),
(1,7)を入力とした、第1の2×2係数行列と第1
の4×4係数行列によるテンソル積である8×8行列に
よる行列ベクトル演算を行う。第6のテンソル積演算器
42は、(2,4),(2,5),(2,6),(2,
7),(3,4),(3,5),(3,6),(3,
7)を入力とした、第2の2×2係数行列と第1の4×
4係数行列によるテンソル積である8×8行列による行
列ベクトル演算を行う。第7のテンソル積演算器43
は、(4,0),(4,1),(5,0),(5,
1),(6,0),(6,1),(7,0),(7,
1)を入力とした、第1の4×4係数行列と第1の2×
2係数行列によるテンソル積である8×8行列による行
列ベクトル演算を行う。第8のテンソル積演算器44
は、(4,2),(4,3),(5,2),(5,
3),(6,2),(6,3),(7,2),(7,
3)を入力とした、第1の4×4係数行列と第2の2×
2係数行列によるテンソル積である8×8行列による行
列ベクトル演算を行う。第9のテンソル積演算器45
は、(4,4),(4,5),(4,6),(4,
7),(5,4),(5,5),(5,6),(5,
7),(6,4),(6,5),(6,6),(6,
7),(7,4),(7,5),(7,6),(7,
7)を入力とした、第1の4×4係数行列と第1の4×
4係数行列によるテンソル積である16×16行列によ
る行列ベクトル演算を行う。
【0039】図1では以上の第3ステージの入力点3i
jに対応する出力点を4ijとする。
【0040】2次元DCT演算を実行するには、2次元
入力データを第1ステージに入力し、第1ステージによ
る出力を第2ステージに入力し、第2ステージによる出
力を第3ステージに入力することにより第3ステージに
おいて2次元DCT出力結果が得られる。
【0041】
【発明の効果】以上説明したように、本発明に従えば2
次元DCT回路において演算精度を保ったまま小規模な
回路で高速に2次元DCT演算を実行することが可能に
なる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す図である。
【図2】8×8点の2次元領域のアドレスを示す。
【符号の説明】
A 第1ステージ B 第2ステージ C 第3ステージ 1〜16 2次元バタフライ演算器 17〜20 2次元バタフライ演算器 21〜36 バタフライ演算器 37 第1のテンソル積演算器 38 第2のテンソル積演算器 39 第3のテンソル積演算器 40 第4のテンソル積演算器 41 第5のテンソル積演算器 42 第6のテンソル積演算器 43 第7のテンソル積演算器 44 第8のテンソル積演算器 45 第9のテンソル積演算器
フロントページの続き (58)調査した分野(Int.Cl.6,DB名) H03M 7/30 H04N 1/41 H04N 7/30

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 8点×8点の2次元逆DCTを計算する
    2次元DCT回路において、 i,jを0から7までの整数として、iを垂直方向のア
    ドレス、jを水平方向のアドレスとして入力および中間
    データの格納を行う点を(i,j)と名付け、 2つの入力をもち、第1の入力と第2の入力の加算結果
    を第1の出力とし、第1の入力から第2の入力を減算し
    たものを第2の出力とする演算回路をバタフライ演算回
    路とし、 第1のバタフライ演算回路と、第2のバタフライ演算回
    路と、第1のバタフライ演算回路の第1の出力を第1の
    入力とし、第2のバタフライ演算回路の第1の出力を第
    2の入力とする第3のバタフライ演算回路と、第1のバ
    タフライ演算回路の第2の出力を第1の入力とし、第2
    のバタフライ演算回路の第2の出力を第2の入力とする
    第4のバタフライ演算回路とからなり、第3のバタフラ
    イ演算回路の第1の出力を第1の出力とし、第4のバタ
    フライ演算回路の第1の出力を第2の出力とし、第3の
    バタフライ演算回路の第2の出力を第3の出力とし、第
    4のバタフライ演算回路の第2の出力を第4の出力とし
    た演算回路を2次元バタフライ演算回路とし、 n×mの矩形領域(i,j)を辞書的に並べたものを入
    力としてn×n行列とm×m行列とのテンソル積である
    nm行列を掛ける演算器をテンソル積演算器とし、 iを0から3、jを0から3とした全ての組み合わせに
    対して、(i,j)を第1のバタフライ演算回路の第1
    の入力とし、(i,7−j)を第1のバタフライ演算回
    路の第2の入力とし、(7−i,j)を第2のバタフラ
    イ演算回路の第1の入力とし、(7−i,7−j)を第
    2のバタフライ演算回路の第2の入力とし、第1の出力
    を(i,j)に格納し、第2の出力を(i,7−j)に
    格納し、第3の出力を(7−i,j)に格納し、第4の
    出力を(7−i,7−j)に格納する16個の2次元バ
    タフライ演算回路からなる第1ステージと、 第1のステージの出力を入力とし、iを0から1、jを
    0から1とした全ての組み合わせに対して、(i,j)
    を第1のバタフライ演算回路の第1の入力とし、(i,
    3−j)を第1のバタフライ演算回路の第2の入力と
    し、(3−i,j)を第2のバタフライ演算回路の第1
    の入力とし、(3−i,3−j)を第2のバタフライ演
    算回路の第2の入力とし、第1の出力を(i,j)に格
    納し、第2の出力を(i,3−j)に格納し、第3の出
    力を(3−i,j)に格納し、第4の出力を(3−i,
    3−j)に格納する4個の2次元バタフライ演算回路
    と、iを0または1とし、jを4から7とした全ての組
    み合わせに対して、(i,j)を第1の入力とし、(3
    −i,j)を第2の入力とし、第1の出力を(i,j)
    に格納し、第2の出力を(3−i,j)に格納する8個
    のバタフライ演算回路と、iを4から7とし、jを0ま
    たは1とした全ての組み合わせに対して、(i,j)を
    第1の入力とし、(i,3−j)を第2の入力とし、第
    1の出力を(i,j)に格納し、第2の出力を(i,3
    −j)に格納する8個のバタフライ演算回路とからなる
    第2ステージと、 第2のステージの出力を入力とし、(0,0),(0,
    1),(1,0),(1,1)を入力とした、第1の2
    ×2係数行列と第1の2×2係数行列による第1のテン
    ソル積演算器と、(0,2),(0,3),(1,
    2),(1,3)を入力とした、第1の2×2係数行列
    と第2の2×2係数行列による第2のテンソル積演算器
    と、(2,0),(2,1),(3,0),(3,1)
    を入力とした、第2の2×2係数行列と第1の2×2係
    数行列による第3のテンソル積演算器と、(2,2),
    (2,3),(3,2),(3,3)を入力とした、第
    2の2×2係数行列と第2の2×2係数行列による第4
    のテンソル積演算器と、(0,4),(0,5),
    (0,6),(0,7),(1,4),(1,5),
    (1,6),(1,7)を入力とした、第1の2×2係
    数行列と第1の4×4係数行列による第5のテンソル積
    演算器と、(2,4),(2,5),(2,6),
    (2,7),(3,4),(3,5),(3,6),
    (3,7)を入力とした、第2の2×2係数行列と第1
    の4×4係数行列による第6のテンソル積演算器と、
    (4,0),(4,1),(5,0),(5,1),
    (6,0),(6,1),(7,0),(7,1)を入
    力とした、第1の4×4係数行列と第1の2×2係数行
    列による第7のテンソル積演算器と、(4,2),
    (4,3),(5,2),(5,3),(6,2),
    (6,3),(7,2),(7,3)を入力とした、第
    1の4×4係数行列と第2の2×2係数行列による第8
    のテンソル積演算器と、(4,4),(4,5),
    (4,6),(4,7),(5,4),(5,5),
    (5,6),(5,7),(6,4),(6,5),
    (6,6),(6,7),(7,4),(7,5),
    (7,6),(7,7)を入力とした、第1の4×4係
    数行列と第1の4×4係数行列による第9のテンソル積
    演算器とからなる第3のステージとから構成される2次
    元DCT回路。
  2. 【請求項2】 8点×8点の2次元逆DCTを計算する
    2次元DCT回路において、 第1ステージと、前記第1ステージの出力を入力とする
    第2ステージと、前記第2ステージの出力を入力とする
    第3ステージとを含み、 前記第1ステージは16個の2次元バタフライ演算回路
    を含み、前記第1ステージの2次元バタフライ演算回路
    の各々は、第1の入力と第2の入力の加算結果を第1の
    出力とし、第1の入力から第2の入力を減算したものを
    第2の出力とする第1及び第2のバタフライ演算回路
    と、前記第1のバタフライ演算回路の第1の出力を第1
    の入力とし、前記第2のバタフライ演算回路の第1の出
    力を第2の入力とし、第1の入力と第2の入力の加算結
    果を第1の出力とし、第1の入力から第2の入力を減算
    したものを第2の出力とする第3のバタフライ演算回路
    と、前記第1のバタフライ演算回路の第2の出力を第1
    の入力とし、前記第2のバタフライ演算回路の第2の出
    力を第2の入力とし、第1の入力と第2の入力の加算結
    果を第1の出力とし、第1の入力から第2の入力を減算
    したものを第2の出力とする第4のバタフライ演算回路
    とを含み、前記第3のバタフライ演算回路の第1の出力
    を第1の出力とし、前記第4のバタフライ演算回路の第
    1の出力を第2の出力とし、前記第3のバタフライ演算
    回路の第2の出力を第3の出力とし、前記第4のバタフ
    ライ演算回路の第2の出力を第4の出力とし、i(iは
    0から7までの整数)を垂直方向のアドレスとするとと
    もにj(jは0から7までの整数)を水平方向のアドレ
    スとして入力および中間データの格納を行う点を(i,
    j)としたとき、iを0から3、jを0から3とした全
    ての組み合わせに対して、(i,j)を前記第1のバタ
    フライ演算回路の第1の入力とし、(i,7−j)を前
    記第1のバタフライ演算回路の第2の入力とし、(7−
    i,j)を前記第2のバタフライ演算回路の第1の入力
    とし、(7−i,7−j)を前記第2のバタフライ演算
    回路の第2の入力とし、第1の出力を(i,j)に格納
    し、第2の出力を(i,7−j)に格納し、第3の出力
    を(7−i,j)に格納し、第4の出力を(7−i,7
    −j)に格納するものであり、 前記第2ステージは、4個の2次元バタフライ演算回
    路、8個の第1の種のバタフライ演算回路、及び8個の
    第2の種のバタフライ演算回路を含み、前記第2ステー
    ジの2次元バタフライ演算回路の各々は、第1及び第2
    のバタフライ演算回路を含み、iを0から1、jを0か
    ら1とした全ての組み合わせに対して、(i,j)を前
    記第2ステージの第1のバタフライ演算回路の第1の入
    力とし、(i,3−j)を該第1のバタフライ演算回路
    の第2の入力とし、(3−i,j)を前記第2ステージ
    の第2のバタフライ演算回路の第1の入力とし、(3−
    i,3−j)を該第2のバタフライ演算回路の第2の入
    力とし、第1の出力を(i,j)に格納し、第2の出力
    を(i,3−j)に格納し、第3の出力を(3−i,
    j)に格納し、第4の出力を(3−i,3−j)に格納
    するものであり、前記第1の種のバタフライ演算回路の
    各々は、iを0または1とし、jを4から7とした全て
    の組み合わせに対して、(i,j)を第1の入力とし、
    (3−i,j)を第2の入力とし、第1の出力を(i,
    j)に格納し、第2の出力を(3−i,j)に格納する
    ものであり、前記第2の種のバタフライ演算回路の各々
    は、iを4から7とし、jを0または1とした全ての組
    み合わせに対して、(i,j)を第1の入力とし、
    (i,3−j)を第2の入力とし、第1の出力を(i,
    j)に格納し、第2の出力を(i,3−j)に格納する
    ものであり、 前記第3ステージは、(0,0),(0,1),(1,
    0),(1,1)を入力として第1の2×2係数行列と
    第1の2×2係数行列によるテンソル積を求める第1の
    テンソル積演算器と、(0,2),(0,3),(1,
    2),(1,3)を入力として第1の2×2係数行列と
    第2の2×2係数行列によるテンソル積を求める第2の
    テンソル積演算器と、(2,0),(2,1),(3,
    0),(3,1)を入力として第2の2×2係数行列と
    第1の2×2係数行列によるテンソル積を求める第3の
    テンソル積演算器と、(2,2),(2,3),(3,
    2),(3,3)を入力として第2の2×2係数行列と
    第2の2×2係数行列によるテンソル積を求める第4の
    テンソル積演算器と、(0,4),(0,5),(0,
    6),(0,7),(1,4),(1,5),(1,
    6),(1,7)を入力として第1の2×2係数行列と
    第1の4×4係数行列によるテンソル積を求める第5の
    テンソル積演算器と、(2,4),(2,5),(2,
    6),(2,7),(3,4),(3,5),(3,
    6),(3,7)を入力として第2の2×2係数行列と
    第1の4×4係数行列によるテンソル積を求める第6の
    テンソル積演算器と、(4,0),(4,1),(5,
    0),(5,1),(6,0),(6,1),(7,
    0),(7,1)を入力として第1の4×4係数行列と
    第1の2×2係数行列によるテンソル積を求める第7の
    テンソル積演算器と、(4,2),(4,3),(5,
    2),(5,3),(6,2),(6,3),(7,
    2),(7,3)を入力として第1の4×4係数行列と
    第2の2×2係数行列によるテンソル積を求める第8の
    テンソル積演算器と、(4,4),(4,5),(4,
    6),(4,7),(5,4),(5,5),(5,
    6),(5,7),(6,4),(6,5),(6,
    6),(6,7),(7,4),(7,5),(7,
    6),(7,7)を入力として第1の4×4係数行列と
    第1の4×4係数行列によるテンソル積を求める第9の
    テンソル積演算器とを含むことを特徴とする2次元DC
    T回路。
  3. 【請求項3】 8点×8点の2次元逆DCTを計算する
    方法において、 所定の演算を行う第1ステージと、前記第1ステージの
    出力に基づいて演算する第2ステージと、前記第2ステ
    ージの出力に基づいて演算する第3ステージとを含み、 前記第1ステージでは第1から第16の2次元バタフラ
    イ演算を行い、前記第1ステージの2次元バタフライ演
    算の各々は、第1の入力と第2の入力の加算結果を第1
    の出力とし、第1の入力から第2の入力を減算したもの
    を第2の出力とする第1及び第2のバタフライ演算を行
    うことと、前記第1のバタフライ演算の第1の出力を第
    1の入力とし、前記第2のバタフライ演算の第1の出力
    を第2の入力とし、第1の入力と第2の入力の加算結果
    を第1の出力とし、第1の入力から第2の入力を減算し
    たものを第2の出力とする第3のバタフライ演算を行う
    ことと、前記第1のバタフライ演算の第2の出力を第1
    の入力とし、前記第2のバタフライ演算の第2の出力を
    第2の入力とし、第1の入力と第2の入力の加算結果を
    第1の出力とし、第1の入力から第2の入力を減算した
    ものを第2の出力とする第4のバタフライ演算を行うこ
    ととを含み、前記第3のバタフライ演算の第1の出力を
    第1の出力とし、前記第4のバタフライ演算の第1の出
    力を第2の出力とし、前記第3のバタフライ演算の第2
    の出力を第3の出力とし、前記第4のバタフライ演算の
    第2の出力を第4の出力とし、i(iは0から7までの
    整数)を垂直方向のアドレスとするとともにj(jは0
    から7までの整数)を水平方向のアドレスとして入力お
    よび中間データの格納を行う点を(i,j)としたと
    き、iを0から3、jを0から3とした全ての組み合わ
    せに対して、(i,j)を前記第1のバタフライ演算の
    第1の入力とし、(i,7−j)を前記第1のバタフラ
    イ演算の第2の入力とし、(7−i,j)を前記第2の
    バタフライ演算の第1の入力とし、(7−i,7−j)
    を前記第2のバタフライ演算の第2の入力とし、第1の
    出力を(i,j)に格納し、第2の出力を(i,7−
    j)に格納し、第3の出力を(7−i,j)に格納し、
    第4の出力を(7−i,7−j)に格納し、 前記第2ステージでは、第1から第4の2次元バタフラ
    イ演算、第1から第8の第1の種のバタフライ演算、及
    び第1から第8の第2の種のバタフライ演算を行い、前
    記第2ステージの2次元バタフライ演算の各々は、第1
    及び第2のバタフライ演算を含み、iを0から1、jを
    0から1とした全ての組み合わせに対して、(i,j)
    を前記第2ステージの第1のバタフライ演算の第1の入
    力とし、(i,3−j)を該第1のバタフライ演算の第
    2の入力とし、(3−i,j)を前記第2ステージの第
    2のバタフライ演算の第1の入力とし、(3−i,3−
    j)を該第2のバタフライ演算の第2の入力とし、第1
    の出力を(i,j)に格納し、第2の出力を(i,3−
    j)に格納し、第3の出力を(3−i,j)に格納し、
    第4の出力を(3−i,3−j)に格納するものであ
    り、前記第1の種のバタフライ演算の各々は、iを0ま
    たは1とし、jを4から7とした全ての組み合わせに対
    して、(i,j)を第1の入力とし、(3−i,j)を
    第2の入力とし、第1の出力を(i,j)に格納し、第
    2の出力を(3−i,j)に格納するものであり、前記
    第2の種のバタフライ演算の各々は、iを4から7と
    し、jを0または1とした全ての組み合わせに対して、
    (i,j)を第1の入力とし、(i,3−j)を第2の
    入力とし、第1の出力を(i,j)に格納し、第2の出
    力を(i,3−j)に格納するものであり、 前記第3ステージは、(0,0),(0,1),(1,
    0),(1,1)を入力として第1の2×2係数行列と
    第1の2×2係数行列によるテンソル積を求めること
    と、(0,2),(0,3),(1,2),(1,3)
    を入力として第1の2×2係数行列と第2の2×2係数
    行列によるテンソル積を求めることと、(2,0),
    (2,1),(3,0),(3,1)を入力として第2
    の2×2係数行列と第1の2×2係数行列によるテンソ
    ル積を求めることと、(2,2),(2,3),(3,
    2),(3,3)を入力として第2の2×2係数行列と
    第2の2×2係数行列によるテンソル積を求めること
    と、(0,4),(0,5),(0,6),(0,
    7),(1,4),(1,5),(1,6),(1,
    7)を入力として第1の2×2係数行列と第1の4×4
    係数行列によるテンソル積を求めることと、(2,
    4),(2,5),(2,6),(2,7),(3,
    4),(3,5),(3,6),(3,7)を入力とし
    て第2の2×2係数行列と第1の4×4係数行列による
    テンソル積を求めることと、(4,0),(4,1),
    (5,0),(5,1),(6,0),(6,1),
    (7,0),(7,1)を入力として第1の4×4係数
    行列と第1の2×2係数行列によるテンソル積を求める
    ことと、(4,2),(4,3),(5,2),(5,
    3),(6,2),(6,3),(7,2),(7,
    3)を入力として第1の4×4係数行列と第2の2×2
    係数行列によるテンソル積を求めることと、(4,
    4),(4,5),(4,6),(4,7),(5,
    4),(5,5),(5,6),(5,7),(6,
    4),(6,5),(6,6),(6,7),(7,
    4),(7,5),(7,6),(7,7)を入力とし
    て第1の4×4係数行列と第1の4×4係数行列による
    テンソル積を求めることとを含むことを特徴とする2次
    元DCT計算方法。
JP13937495A 1995-06-06 1995-06-06 2次元dct回路 Expired - Fee Related JP2778622B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP13937495A JP2778622B2 (ja) 1995-06-06 1995-06-06 2次元dct回路
US08/659,345 US5768167A (en) 1995-06-06 1996-06-06 Two-dimensional discrete cosine transformation circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13937495A JP2778622B2 (ja) 1995-06-06 1995-06-06 2次元dct回路

Publications (2)

Publication Number Publication Date
JPH08335885A JPH08335885A (ja) 1996-12-17
JP2778622B2 true JP2778622B2 (ja) 1998-07-23

Family

ID=15243844

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13937495A Expired - Fee Related JP2778622B2 (ja) 1995-06-06 1995-06-06 2次元dct回路

Country Status (2)

Country Link
US (1) US5768167A (ja)
JP (1) JP2778622B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3129392B2 (ja) * 1996-02-02 2001-01-29 日本電気株式会社 2次元idct回路
JPH1063646A (ja) * 1996-08-23 1998-03-06 Nec Corp 2次元逆離散コサイン変換回路
JP3129398B2 (ja) * 1997-01-08 2001-01-29 日本電気株式会社 8点×8点2次元逆離散コサイン変換回路およびそれを実現するマイクロプロセッサ
US6721708B1 (en) 1999-12-22 2004-04-13 Hitachi America, Ltd. Power saving apparatus and method for AC-3 codec by reducing operations
US6882685B2 (en) * 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
US7487193B2 (en) 2004-05-14 2009-02-03 Microsoft Corporation Fast video codec transform implementations
US8942289B2 (en) * 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
US9110849B2 (en) * 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US9069713B2 (en) * 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
US8762441B2 (en) * 2009-06-05 2014-06-24 Qualcomm Incorporated 4X4 transform for media coding
US9118898B2 (en) * 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US9081733B2 (en) * 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
US9075757B2 (en) * 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
US8451904B2 (en) 2009-06-24 2013-05-28 Qualcomm Incorporated 8-point transform for media data coding
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539836A (en) * 1991-12-20 1996-07-23 Alaris Inc. Method and apparatus for the realization of two-dimensional discrete cosine transform for an 8*8 image fragment
US5408425A (en) * 1993-05-25 1995-04-18 The Aerospace Corporation Split-radix discrete cosine transform
JP2997613B2 (ja) * 1993-10-26 2000-01-11 株式会社東芝 離散コサイン変換装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
情報処理学会第34回(昭和62年前期)全国大会講演論文集(▲I▼)、第305−306頁「6Q−2:VPPシステムにおける画像処理」

Also Published As

Publication number Publication date
JPH08335885A (ja) 1996-12-17
US5768167A (en) 1998-06-16

Similar Documents

Publication Publication Date Title
JP2778622B2 (ja) 2次元dct回路
US8185571B2 (en) Processor for performing multiply-add operations on packed data
US5859997A (en) Method for performing multiply-substrate operations on packed data
US20040122887A1 (en) Efficient multiplication of small matrices using SIMD registers
US5796645A (en) Multiply accumulate computation unit
JPH09153029A (ja) 高速フーリエ変換を行うメモリ分散型並列計算機およびその方法
Shirazi et al. Implementation of a 2-D fast Fourier transform on an FPGA-based custom computing machine
Dai et al. Area-time efficient architecture of FFT-based montgomery multiplication
JP3129392B2 (ja) 2次元idct回路
Nagpal et al. Processor architectures for two-dimensional convolvers using a single multiplexed computational element with finite field arithmetic
US20040128335A1 (en) Fast fourier transform (FFT) butterfly calculations in two cycles
CN108255463B (zh) 一种数字逻辑运算方法、电路和fpga芯片
JPH06149861A (ja) Dct及び逆dct演算装置並びにその演算方法
US6119140A (en) Two-dimensional inverse discrete cosine transform circuit and microprocessor realizing the same and method of implementing 8×8 two-dimensional inverse discrete cosine transform
US7167885B2 (en) Emod a fast modulus calculation for computer systems
JP2737933B2 (ja) 除算装置
Efstathiou et al. On the modulo 2 n+ 1 multiplication for diminished-1 operands
JP2953918B2 (ja) 演算装置
Chikouche et al. A new proposed algorithm of arbitrary radix for the computation of the 2D DFT
Schmidt Techniques for algorithm design on the instruction systolic array
JPH0298777A (ja) 並列積和演算回路及びベクトル行列積演算方法
Wong et al. A fast VLSI chip for computing the two-dimensional discrete cosine transform
KR0136486B1 (ko) 변형 부스 곱셈기
JPH06274524A (ja) 直交変換回路および逆変換回路
Karthikeyan et al. More on arbitrary boundary packed arithmetic

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: 19980408

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

Free format text: PAYMENT UNTIL: 20090508

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20100508

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees