JPH04242860A - 演算装置 - Google Patents

演算装置

Info

Publication number
JPH04242860A
JPH04242860A JP90417119A JP41711990A JPH04242860A JP H04242860 A JPH04242860 A JP H04242860A JP 90417119 A JP90417119 A JP 90417119A JP 41711990 A JP41711990 A JP 41711990A JP H04242860 A JPH04242860 A JP H04242860A
Authority
JP
Japan
Prior art keywords
vector
elements
matrix
data
circuit
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
Application number
JP90417119A
Other languages
English (en)
Inventor
Mitsuharu Oki
光晴 大木
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP90417119A priority Critical patent/JPH04242860A/ja
Priority to KR1019910022227A priority patent/KR100233555B1/ko
Priority to US07/808,658 priority patent/US5276784A/en
Publication of JPH04242860A publication Critical patent/JPH04242860A/ja
Pending legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00—Image coding
    • 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)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えば2次元の離散コ
サイン変換(DCT)の演算又は逆離散コサイン変換(
IDCT)の演算を行う場合に使用して好適な演算装置
に関する。
【0002】
【従来の技術】画像データを圧縮して伝送するような場
合に2次元の8行×8列の離散コサイン変換(Disc
rete Cosine Transform、以下「
DCT」という。)が使用されると共に、その圧縮され
たデータから元の画像データをデコードするような場合
に2次元の8行×8列の逆離散コサイン変換(Inve
rse Discrete Cosine Trans
form 、以下「IDCT」という。)が使用される
。実空間の8×8の画像データからなる要素がxi,j
 の行列をX、空間周波数の空間の8×8のデータから
なる要素がci,j の行列をC、DCTの8行×8列
の変換行列をNとすると、DCT及びIDCTの場合に
夫々次の数1の関係が成立している。
【数1】DCT:    C=(1/4)NXNt I
DCT:  X=(1/4)Nt CNこれらの行列N
,X,Cは夫々次のように定義されている。
【0003】
【数2】
【0004】この数2において、a=cos(π/16
),α=cos(2π/16),b=cos(3π/1
6),c=cos(5π/16),β=cos(6π/
16),d=cos(7π/16)であり、行列Nt 
は行列Nの転置行列である。即ち、DCTは行列Xから
行列Cへの1次変換であり、IDCTは行列Cから行列
Xへの1次変換である。
【0005】従来のシリアル入力且つシリアル出力の2
次元のDCTの演算回路及びIDCTの演算回路の構成
について図12及び図13を参照して説明する。なお、
DCT及びIDCTの定義の中に含まれている係数の1
/4の乗算は2ビットのシフトにより容易に実行できる
ため、以下の説明では省略する。図12は従来の2次元
の8×8DCT演算回路を示し、この図12において、
1は実空間上の行列Xの要素xi,j がシリアルに供
給される第1の8×8行列の演算回路であり、この演算
回路1は行列Nに行列Xを乗算して得た行列NXの64
個の要素をシリアルに並べ換え回路2に供給する。この
並べ換え回路2は入力される64個の要素を所定の順序
で並べ換えて第2の8×8行列の演算回路3に供給し、
この演算回路3は入力される行列に行列Nt を乗算し
て得た行列(NX)Nt の64個の要素ci,j を
シリアルに図示省略した後続の処理回路に供給する。
【0006】図13は従来の2次元の8×8IDCT演
算回路を示し、この図13において、4は空間周波数の
空間上の行列Cの要素ci,j がシリアルに供給され
る第3の8×8行列演算回路であり、この演算回路4は
行列Cに行列Nt を乗算して得た行列Nt Cの64
個の要素をシリアルに並べ換え回路5を介して第4の8
×8行列演算回路6に供給する。この演算回路6は入力
される行列に行列Nを乗算して得た行列(Nt C)N
の64個の要素xi,j をシリアルに出力する。
【0007】
【発明が解決しようとする課題】しかしながら、一般に
8行×8列の行列同士の演算をシリアル入力且つシリア
ル出力で実行する演算回路は8個の乗算器を必要とする
ので、従来の2次元8×8DCT演算回路及び2次元8
×8IDCT演算回路は夫々16(=2×8)個の乗算
器が必要である。これを一般化すると、2次元のN行×
N列(Nは2以上の整数)のDCT又はIDCT演算回
路では2N個の乗算器が必要である。この場合、乗算器
の回路規模は加減算回路等の回路規模に比べてかなり大
きく使用されている乗算器の個数により全体の回路規模
はほぼ決まるので、従来のDCT演算回路及びIDCT
演算回路は全体として回路規模が大きい不都合があった
。また、乗算器の演算においては扱う数値の桁数が有限
であることに起因して所謂丸め誤差又は桁落ち誤差が発
生するが、従来の2次元のDCT演算回路では(IDC
T演算回路も同様)第1の演算回路1と第2の演算回路
3とで合計2回乗算が実行されるので、丸め誤差が累積
して誤差が大きくなる不都合があった。
【0008】これに関して例えば特開昭62−6115
9号公報には、1次元の要素が8個のDCT演算装置及
びIDCT演算装置において、行列分解の手法により乗
算器の個数を削減するようにした技術が記載されている
が、2次元のDCT演算装置及びIDCT演算装置につ
いて乗算器を削減できるようにした技術は何等提案され
ていない。本発明は斯かる点に鑑み、2次元のDCT演
算及び2次元のIDCT演算をより少ない個数の乗算器
を用いて実行できる演算装置を提供することを目的とす
る。
【0009】
【課題を解決するための手段】本発明による第1の演算
装置は、例えば図1に示す如く、実空間上のN行×N列
(Nは2以上の整数)の画像データより周波数空間上の
N行×N列のデータci,j を求める離散コサイン変
換(DCT)の演算を行う演算装置において、予めその
実空間上のN行×N列の画像データxi,j を所定の
順序(数3の規則により)で一列に配列して要素xk 
の数がN2 個の実空間上のベクトル〈x〉を形成して
おき、その実空間上のベクトル〈x〉より第1のベクト
ル〈v〉を計算する第1のベクトル演算回路(7)と、
その実空間上のベクトル〈x〉より第2のベクトル〈w
〉を計算する第2のベクトル演算回路(8)と、その第
1のベクトルの要素とその第2のベクトルの要素とを加
減算することにより要素の数がN2 個の周波数空間上
のベクトル〈c〉を求める加減算回路(9)とを有し、
その周波数空間上のベクトル〈c〉の要素ck を再配
列してその周波数空間上のN行×N列のデータci,j
 を求めるようにしたものである。
【0010】また、本発明による第2の演算装置は、例
えば図6に示す如く、周波数空間上のN行×N列(Nは
2以上の整数)のデータci,j より実空間上のN行
×N列の画像データxi,j を求める逆離散コサイン
変換(IDCT)の演算を行う演算装置において、予め
その周波数空間上のN行×N列のデータci,j を所
定の順序で一列に配列して要素ck の数がN2 個の
周波数空間上のベクトル〈c〉を形成しておき、その周
波数空間上のベクトル〈c〉の要素を加減算することに
より第1のベクトル〈y〉の要素及び第2のベクトル〈
z〉の要素を求める第1のベクトル演算回路(39)と
、その第1のベクトル〈y〉より第3のベクトル〈y´
〉を計算する第2のベクトル演算回路(40)と、その
第2のベクトル〈z〉の要素より第4のベクトル〈z´
〉を計算する第3のベクトル演算回路(41)と、その
第3のベクトルの要素とその第4のベクトルの要素とを
加算することにより要素xk の数がN2 個の実空間
上のベクトル〈x〉を求める加算回路(42)とを有し
、その実空間上のベクトル〈x〉の要素xk を再配列
してその実空間上のN行×N列の画像データxi,j 
を求めるようにしたものである。
【0011】
【作用】斯かる本発明の第1の演算装置によれば、離散
コサイン変換のN行×N列の行列同士の乗算がN2 行
×N2 列の定数行列と要素の個数がN2 のベクトル
との乗算に置き換えられると共に、DCTの特性により
その定数行列は全ての要素が0又は±1であるような行
列と各1行の中に含まれる0及び±1以外の要素の個数
がNよりも少ない行列との第1の積及び全ての要素が0
又は±1であるような行列と各1行の中に含まれる0及
び±1以外の要素の個数がNよりも少ない行列との第2
の積の和(例えば数7参照)で表すことができる。また
、各1行の中に含まれる0及び±1以外の要素の個数が
Nよりも少ない行列とベクトルとの乗算はNよりも少な
い個数の乗算器で実行することができるので、第1のベ
クトル演算回路(7)及び第2のベクトル演算回路(8
)は合計で2N個よりも少ない個数の乗算器で構成する
ことができる。更に、全ての要素が0又は±であるよう
な1行列とベクトルとの乗算は加減算回路だけで実行す
ることができるので、その加減算回路(9)により最終
的なDCTの演算結果をベクトル表現として求めること
ができる。
【0012】また、本発明の第2の演算装置によれば、
逆離散コサイン変換のN行×N列の行列同士の乗算がN
2 行×N2 列の定数行列と要素の個数がN2 のベ
クトルとの乗算に置き換えられると共に、IDCTの特
性によりその定数行列は各1行の中に含まれる0及び±
1以外の要素の個数がNよりも少ない行列と全ての要素
が0又は±1であるような行列との第1の積及び各1行
の中に含まれる0及び±1以外の要素の個数がNよりも
少ない行列と全ての要素が0又は±1であるような行列
との第2の積の和(例えば数8参照)で表すことができ
る。従って、DCTの場合とは逆の順序で、最初に第1
のベクトル演算回路(39)によりその周波数空間上の
ベクトル〈c〉の要素を加減算することにより第1のベ
クトル〈y〉の要素及び第2のベクトル〈z〉の要素が
求められ、次に合計で2N個よりも少ない乗算器を有す
る第2のベクトル演算回路(40)及び第3のベクトル
演算回路(41)により夫々第3のベクトル〈y´〉及
び第4のベクトル〈z´〉が求められ、最後に加算回路
(42)により実空間上のベクトル〈x〉が求められる
。
【0013】
【実施例】以下、本発明の一実施例につき図1〜図9を
参照して説明しよう。本例は2次元の8行×8列のDC
T演算回路及び8行×8列のIDCT演算回路に本発明
を適用したものである。従来DCT及びIDCTは数1
で定義されているが、本例では先ず数2で定義されてい
る実空間上の64個の要素xi,j を有する8行×8
列の行列Xを64個の要素xk (k=0,1,‥‥,
63)を有するベクトル〈x〉に変換しておく。そのベ
クトルの要素xk と行列の要素xi,j とは次の数
3のように対応させる。具体的には、x0 =x0,0
 、x1 =x7,7 、x2 =x3,3 、‥‥、
x63=x3,2 となる。
【数3】
【0014】同様に、数2で定義されている空間周波数
の空間上の64個の要素ci,j を有する8行×8列
の行列Cを64個の要素ck (k=0,1,‥‥,6
3)を有するベクトル〈c〉に変換しておく。そのベク
トルの要素ck と行列の要素ci,j とは次の数4
のように対応させる。具体的には、c0 =c0,0 
、c1 =c4,4 、c2=c0,4 、‥‥、c6
3=c6,1 となる。
【数4】
【0015】即ち、ベクトル〈x〉及びベクトル〈c〉
は次の数5で定義することができる。
【数5】 このように定義すると、2次元の8×8DCTは64個
の要素を有する実空間上のベクトル〈x〉から64個の
要素を有する周波数空間上のベクトル〈c〉への一次変
換であり、2次元の8×8IDCTはその後者のベクト
ル〈c〉から前者のベクトル〈x〉への一次変換である
とみなすことができる。そのDCTの一次変換の64行
×64列の変換行列をM、IDCTの一次変換の64行
×64列の変換行列をM´とすると、DCT及びIDC
Tは次の数6で定義することができる。
【数6】DCT:    〈c〉=M〈x〉IDCT:
  〈x〉=M´〈c〉
【0016】その変換行列Mを行列の積の和で表すこと
により、そのDCTは次のように表すことができる。
【数7】〈c〉=(1/8)(PQ+RS)〈x〉この
数7において、P,Q,R及びSは夫々64行×64列
の定数行列である。同様にその変換行列M´を行列の積
の和で表すことにより、そのIDCTは次のように表す
ことができる。
【数8】 〈x〉=(1/8)(Qt Pt +St Rt )〈
c〉但し、Pt ,Qt ,Rt 及びStは夫々行列
P,Q,R及びSの転置行列である。
【0017】この場合、行列Pは次のように上半分の3
2行×64列だけが0,1又は−1の要素を有し、下半
分の32行×64列は全ての要素が0である。
【数9】 この数9において、+は1、−は−1、空白は0を夫々
示す(以下同じ。)。従って、この行列Pと64個の要
素を有するベクトルとの乗算は加減算回路だけで実行す
ることができる。
【0018】また、行列Qは数2で使用されているのと
同じ定数r,α及びβを用いて次の数10で表すことが
できる。
【数10】 即ち、この行列Qは右下がりの対角線上の夫々が4行×
4列の同一の16個の小行列Q1のみが非零の要素を有
し、他の要素は全て0であるような64行×64列の行
列である。また、その小行列Q1は各行の0又は±1以
外の要素が1個のみであるため(但し、例えばαと−α
とは併せて1個と数える。)、シリアル入出力の演算で
はその元の行列Qと要素の数が64個のベクトルとの積
は1個の乗算器だけで実行することができる。
【0019】一方、行列Rは次のように上半分の32行
×64列は全ての要素が0であり、下半分の32行×6
4列は0,1又は−1だけで構成されている。従って、
この行列Rと64個の要素を有するベクトルとの乗算も
加減算回路だけで実行することができる。
【数11】
【0020】また、行列Sは数2で使用されているのと
同じ定数a,b,c,dを用いて次の数12で表すこと
ができる。
【数12】 即ち、この行列Sは右下がりの対角線上の夫々が4行×
4列の同一の16個の小行列S1のみが非零の要素を有
し、他の要素は全て0であるような64行×64列の行
列である。また、その小行列S1は各行の0又は±1以
外の要素が2個のみであるため(但し、例えばaと−a
とは併せて1個と数える。)、シリアル入出力の演算で
はその元の行列Sと要素の数が64個のベクトルとの積
は2個の乗算器だけで実行することができる。
【0021】従って、数7でDCTを表現すると、シリ
アル入出力の場合では全体として3個の乗算器を使用す
るだけでそのDCTの演算を実行することができ、従来
の16個に比べて大幅に乗算器の個数を削減することが
できる利益がある。また、数7の場合には1回の乗算だ
けでDCTの変換を行うことができるので、丸め誤差又
は桁落ち誤差が累積することがない。また、数8のID
CTで使用されている行列Qt ,Pt ,St ,R
t は夫々行列Q,P,S,Rと同様の特性を有するた
め、後述の回路例でも示すようにその数8のIDCTも
3個の乗算器を使用するだけで実行することができる。
【0022】数7及び数8の演算を実行する回路例の説
明のため、先ず数7を次のように変形する。
【数13】〈c〉=(1/8)(PQ+RS)〈x〉=
(1/8)(P〈v〉+R〈w〉) この場合、ベクトル〈v〉及び〈w〉は次のように表す
ことができる。
【数14】
【0023】同様に数8を次の数15のように変形する
。
【数15】       〈x〉=(1/8)(Qt Pt +St
 Rt )〈c〉            =(1/8
)(Qt 〈y〉+St 〈z〉)         
   =(1/8)(〈y´〉+〈z´〉)この中のベ
クトル〈y〉,〈z〉は次の数16のようになり、ベク
トル〈y´〉,〈z´〉は次の数17のようになる。
【数16】
【数17】
【0024】上述のように定義すると、本例の数13の
2次元の8×8DCT演算は次の3個のステップで実行
することができる。なお、(1/8)の乗算は3ビット
のシフトにより実行できるため、以下ではその乗算の説
明は省略する。 (ステップD1)ベクトル〈x〉の要素をシリアルに入
力して、数14よりベクトル〈v〉を求める。 (ステップD2)ベクトル〈x〉の要素より数14によ
りベクトル〈w〉を求める。 (ステップD3)それらベクトル〈v〉及び〈w〉より
、P〈v〉+R〈w〉の演算を行ってベクトル〈c〉を
求める。
【0025】同様に、本例の数15の2次元の8×8I
DCT演算は次の3個のステップで実行することができ
る。 (ステップI1)ベクトル〈c〉の要素をシリアルに入
力して、数16よりベクトル〈y〉及び〈z〉を求める
。 (ステップI2)ベクトル〈y〉及び〈z〉より数17
に基づいて夫々ベクトル〈y´〉及び〈z´〉を求める
。 (ステップI3)それらベクトル〈y´〉及び〈z´〉
より、〈y´〉+〈z´〉の演算によりベクトル〈x〉
を求める。
【0026】図1は本例の2次元8×8DCT演算回路
を示し、この図1において、7はベクトル〈v〉を計算
する〈v〉計算ブロック、8はベクトル〈w〉を計算す
る〈w〉計算ブロック、9はベクトル〈c〉を計算する
〈c〉計算ブロックであり、これらブロック7及び8に
夫々ベクトル〈x〉の64個の要素xi(i=0,1,
‥‥,63)をシリアルに供給する。それら64個の要
素が1個シフトする周期を1クロックとすると、その要
素xi の入力に対して夫々4クロックだけ遅れて計算
ブロック7からはベクトル〈v〉の64個の要素vi 
がシリアルに〈c〉計算ブロック9に供給され、計算ブ
ロック8からはベクトル〈w〉の64個の要素wi が
シリアルに〈c〉計算ブロック9に供給される。この〈
c〉計算ブロック9は上記のステップD3の演算を行っ
て得たベクトル〈c〉の64個の要素ci を64クロ
ックでシリアルに後続の回路に供給する。
【0027】図2はその〈v〉計算ブロック7の具体的
な一例を示し、この図2において、ベクトル〈x〉の要
素xi を累加算器10及びホールド機能付きのレジス
ター11を介してデータセレクタ12の一方の入力部に
供給する。また、その要素xi を更に直接に及び2の
補数器13を介して夫々データセレクタ14の一方及び
他方の入力部に供給し、このデータセレクタ14の出力
データを累加算器15及びホールド機能付きのレジスタ
ー16を介してデータセレクタ12の他方の入力部に供
給し、このデータセレクタ12の出力データを乗算器1
7の入力部に供給する。2の補数器13は入力データに
−1を乗算するために使用される。18は係数設定回路
を示し、この係数設定回路18は周期的に1,r,α,
β,1,r,‥‥の順序で乗算の係数をその乗算器17
に供給し、これに対応してその乗算器17は入力される
データにその係数を乗じて得た結果であるベクトル〈v
〉の64個の要素vi−4 (入力データに対して4ク
ロック遅れているという意味でi−4としてある。)を
シリアルに出力する。
【0028】図2の回路の動作につき説明するに、ベク
トル〈v〉の要素viとベクトル〈x〉の要素xi と
の間には次の関係がある。
【数18】 この数18よりベクトル〈v〉の要素v4j 〜v4j
+3 (j=0,1,‥‥,15)は次のようにベクト
ル〈x〉の要素x4j〜x4j+3で表すことができる
ことが分かる。
【0029】
【数19】 従って、そのベクトル〈v〉は入力されるベクトル〈x
〉に対して順次数19の2×4の行列Q4、4×2の行
列Q3及び4×4の行列Q2を乗ずることにより求める
ことができる。また、入力されるベクトルの各4クロッ
ク分のデータより出力されるベクトルの各4個の要素を
求めることができるので、出力されるベクトルの要素は
入力されるベクトルの要素に対して夫々4クロック分だ
け遅延する。その数19を通常の数式で表現すると次の
ようになる。
【0030】 v4j  =1×(x4j+x4j+1 +x4j+2
 +x4j+3 )v4j+1=r×(x4j+x4j
+1 +x4j+2 +x4j+3 )v4j+2=α
×(x4j+x4j+1 −x4j+2 −x4j+3
 )v4j+3=β×(x4j+x4j+1 −x4j
+2 −x4j+3 )
【0031】具体的に図2にお
いて、各4クロックの期間の最初にオンとなるリセット
パルスRPにより累加算器10及び15の加算値が0に
リセットされる。その後切り替え信号G1を用いて最初
の2クロックの期間はデータセレクタ14では要素xi
 を選択して、次の2クロックの期間はデータセレクタ
14では2の補数器13の出力データを選択するように
する。また、各4クロックの最後にオンとなるホールド
パルスHPによりレジスター11及び16で夫々入力デ
ータを保持するようにする。この場合、そのホールドパ
ルスHPに同期してリセットパルスRPもオンとなり、
累加算器10及び16の計数値はリセットされる。その
4クロックの期間にレジスター11及び16より前段の
回路では数19の行列Q4及びQ3に関する演算が実行
され、レジスター11及び16には夫々(x4j+x4
j+1+x4j+2+x4j+3)及び(x4j+x4
j+1 −x4j+2 −x4j+3)が保持される。
【0032】その後、次の4クロックの前半の2クロッ
クはデータセレクタ12でレジスター11の出力データ
を選択し、後半の2クロックはデータセレクタ12でレ
ジスター16の出力データを選択すると共に、レジスタ
ー11及び16は夫々保持しているデータを常時出力す
る。これにより乗算器17及び係数設定回路18におい
て数19の行列Q2の演算が実行される。また、この行
列Q2の演算と並行してレジスター11及び16よりも
全段の回路では次の4個のxi に対して数19の行列
Q4及びQ3に関する演算が実行される。このようにし
て、〈v〉計算ブロック7からはベクトル〈v〉の64
個の要素が入力データに対して夫々4クロック遅れてシ
リアルに出力される。
【0033】図3は図1の中の〈w〉計算ブロック8の
構成例を示し、この図3において、ベクトル〈x〉の要
素xi を直接に及び2の補数器20を介して夫々2入
力で1出力のデータセレクタ19の一方及び他方の入力
部に供給し、このデータセレクタ19の出力データを2
入力で2出力のデータセレクタ21の一方の入力部に供
給し、このデータセレクタ21の他方の入力部には値が
0のデータを供給する。このデータセレクタ21は制御
信号G3のレベルに応じて入力データを並行に出力する
か、又は交差させて出力する。このデータセレクタ21
の一方の出力データを累加算器22及びホールド機能付
きのレジスター23を介して乗算器24に供給する。2
5はその乗算器24に周期的に係数a,d,b,cを順
次供給する係数設定回路を示し、その乗算器24では供
給されるデータにその係数を乗じて得た結果を加算器2
6の一方の入力部に供給する。
【0034】また、データセレクタ21の他方の出力デ
ータを累加算器27及びホールド機能付きのレジスター
28を介して乗算器29に供給し、この乗算器29では
その供給データに係数設定回路30より周期的にd,−
a,−c,bの順序で供給される係数を乗じて得た結果
を加算器26の他方の入力部に供給する。この加算器2
6の出力部からはベクトル〈w〉の64個の要素wi−
4 がシリアルに出力される。ベクトル〈v〉の場合と
同様にそのベクトル〈w〉も入力されるベクトル〈x〉
から4クロックだけ遅れている。
【0035】図3の回路の動作について説明するに、ベ
クトル〈w〉の要素wi とベクトル〈x〉の要素xi
 との間には次の関係がある。
【数20】 この数20よりベクトル〈w〉の要素w4j 〜w4j
+3 (j=0,1,‥‥,15)は次のようにベクト
ル〈x〉の要素x4j〜x4j+3で表すことができる
ことが分かる。
【0036】
【数21】 従って、そのベクトル〈w〉は入力されるベクトル〈x
〉に対して順次数21の2×4の行列S3及び4×2の
行列S2を乗ずることにより求めることができる。 また、入力されるベクトルの各4クロック分のデータよ
り出力されるベクトルの各4個の要素を求めることがで
きるので、出力されるベクトルの要素は入力されるベク
トルの要素に対して夫々4クロック分だけ遅延する。そ
の数21を通常の数式で表現すると次のようになる。
【0037】     w4j  =a(x4j−x4j+1 )+d
(x4j+2 −x4j+3 )    w4j+1=
d(x4j−x4j+1 )−a(x4j+2 −x4
j+3 )    w4j+2=b(x4j−x4j+
1 )−c(x4j+2 −x4j+3 )    w
4j+3=c(x4j−x4j+1 )+b(x4j+
2 −x4j+3 )
【0038】具体的に図3におい
て、各4クロックの期間の最初にオンとなるリセットパ
ルスRPにより累加算器22及び27の加算値が0にリ
セットされる。その後切り替え信号G2を用いてデータ
セレクタ19では交互に要素xi と−xi とを選択
させるようにして、切り替え信号G3を用いてデータセ
レクタ21では各4クロックの前半の2クロックでは入
力データを並行に出力して後半の2クロックでは入力デ
ータを交差させて出力させるようにする。また、各4ク
ロックの最後にオンとなるホールドパルスHPによりレ
ジスター23及び28で夫々入力データを保持するよう
にする。この場合、そのホールドパルスHPに同期して
リセットパルスRPもオンとなり、累加算器22及び2
7の計数値はリセットされる。その4クロックの期間に
レジスター23及び28より前段の回路では数21の行
列S3に関する演算が実行され、レジスター23及び2
8には夫々(x4j−x4j+1 )及び(x4j+2
 −x4j+3 )が保持される。
【0039】その後、次の4クロックの期間に乗算器2
4,29及び加算回路26において数21の行列S2の
演算が実行される。また、この行列S2の演算と並行し
てレジスター23及び28よりも前段の回路では次の4
個のxi に対して数21の行列S3に関する演算が実
行される。このようにして、〈w〉計算ブロック8から
はベクトル〈w〉の64個の要素が入力データに対して
夫々4クロック遅れてシリアルに出力される。
【0040】図4は図1の中の〈c〉計算ブロック9の
構成例を示し、この図4において、31及び32は夫々
1入力且つ64出力のシリアル/パラレル(S/P)変
換器であり、これらS/P変換器31及び32の入力部
に夫々ベクトル〈v〉の64個の要素vi 及びベクト
ル〈w〉の64個の要素wi をシリアルに供給する。 そのS/P変換器31は64クロックの期間に入力され
た64個の要素vi を並列のデータv0 〜v63に
変換して、この並列のデータを次の64クロックの間出
力部に保持し、同様にS/P変換器32は各64クロッ
クの間並列のデータw0 〜w63を出力部に保持する
。33は夫々2入力且つ1出力の64個のデータセレク
タを示し、これらデータセレクタ33の一方の入力部に
夫々その前者の並列のデータの1つv0 ,v1 ,‥
‥,v63を供給し、これらデータセレクタ33の他方
の入力部に夫々その後者の並列のデータの1つw0 ,
w1 ,‥‥,w63を供給する。また、34は64入
力且つ1出力の加減算器を示し、この加減算器34の6
4個の入力部にその64個のデータセレクタ33の出力
データを並列に供給する。この加減算器34の出力部よ
り空間周波数の空間上のベクトル〈c〉の64個の要素
ci がシリアルに出力される。
【0041】図5はn入力且つ1出力の加減算器の構成
例を示し、この回路でn=64の場合が図4の加減算器
34に対応する。この図5において、35は演算ユニッ
トを示し、n個の入力部には夫々同一の演算ユニット3
5を配し、これら演算ユニット35に夫々入力データI
0 ,I1 ,‥‥,In−1を供給する。例えばその
左端の1個の演算ユニット35において、36は3入力
で1出力のデータセレクタを示し、左端の入力データI
0 を2の補数器37を介して及び直接に夫々データセ
レクタ36の第1の入力部及び第2の入力部に供給し、
そのデータセレクタ36の第3の入力部に値が0のデー
タを供給する。そのデータセレクタ36が外部から供給
される制御信号H0 に応じてデータの選択を行うこと
により、その左端の演算ユニット35からはI0 ,−
I0 又は0が出力される。同様に個々の演算ユニット
35からは制御信号Hi (i=1,2,‥‥,n−1
)に応じてIi ,−Ii 又は0が出力される。
【0042】それらn個の演算ユニット35の出力デー
タを(n−1)個の加算器38で累加算して得られた結
果がその加減算器の最終的な出力データとなる。即ち、
そのn入力の加減算器からは、入力データI0 〜In
−1 に対して q0I0+q1I1+‥‥+qn−1In−1が出力さ
れると共に、各qiの値は0,1又は−1の中から任意
に指定することができる。
【0043】図4の回路の動作につき説明するに、図4
の回路では次式によりベクトル〈c〉が求められる。
【数22】〈c〉=P〈v〉+R〈w〉数9及び数11
よりその数22は次のように表現することができる。
【数23】 この数23において、行列P1は要素が0又は±1のみ
の32行×64列の行列であり、行列R1も要素が0又
は±1のみの32行×64列の行列であるので、その数
23は次のように2つの式に分離することができる。
【0044】
【数24】 この数24において、qi,j (i=0,1,‥‥,
63、j=0,1,‥‥,63)は夫々0,1又は−1
の値を採り、q0,j 〜q31,jは行列P1に基づ
いて定まり、q32,j〜q63,jは行列R1に基づ
いて定まる。また、この数24よりベクトル〈c〉の6
4個の要素の内の前の32個であるc0 〜c31は全
てベクトル〈v〉の64個の要素の単なる加減算により
求められ、後の32個であるc32〜c63は全てベク
トル〈w〉の64個の要素の単なる加減算により求めら
れることが分かる。
【0045】そこで、図4の64個のデータセレクタ3
3では64クロックの前半の32クロックでは夫々要素
vi を選択し、これに応じて64入力の加減算器34
では数24の第1の式に従ってベクトル〈c〉の最初の
32個の要素を順次計算して出力する。また、その64
クロックの後半の32クロックではそれらデータセレク
タ33は夫々要素wi を選択し、これに応じて64入
力の加減算器34では数24の第2の式に従ってベクト
ル〈c〉の最後の32個の要素を順次計算して出力する
。 上述のように図2〜図4の回路を使用すれば、実空間上
のベクトル〈x〉をシリアル入出力によりDCT変換し
て空間周波数の空間上のベクトル〈c〉を容易に求める
ことができるが、図2〜図4の回路において使用されて
いる乗算器の全体の個数は3個であり、従来の16個に
比べて大幅に乗算器の個数が削減されている。
【0046】次に、本例の2次元の8行×8列のIDC
T演算回路の構成につき説明する。このIDCT演算回
路は空間周波数の空間上のベクトル〈c〉の64個の要
素をシリアルに入力して、実空間上のベクトル〈x〉の
64個の要素をシリアルに出力する回路であり、既に述
べた数16及び数17よりそのベクトル〈x〉は次のよ
うに表すことができる。
【数25】   即ち、本例ではベクトル〈c〉から先ず2個のベク
トル〈y〉及び〈z〉を求め、その後ベクトル〈y〉及
び〈z〉から夫々ベクトル〈y´〉及び〈z´〉を求め
、最後にそれら2個のベクトルの要素を夫々加算するこ
とによりベクトル〈x〉を求める。なお、その1/8の
乗算の説明は省略する。
【0047】図6は本例のIDCT演算回路を示し、こ
の図6において、39は〈y〉,〈z〉計算ブロックを
示し、この計算ブロック39にベクトル〈c〉の要素c
0 〜c63をシリアルに供給する。この計算ブロック
39はそのベクトル〈c〉の要素から2個のベクトル〈
y〉及び〈z〉の要素を計算し、ベクトル〈y〉の64
個の要素y0 〜y63をシリアルに〈y´〉計算ブロ
ック40に供給し、ベクトル〈z〉の64個の要素z0
 〜z63をシリアルに〈z´〉計算ブロック41に供
給する。これに応じて〈y´〉計算ブロック40はベク
トル〈y´〉の64個の要素y0 ´〜y63´をシリ
アルに加算器42の一方の入力部に供給し、〈z´〉計
算ブロック41はベクトル〈z´〉の64個の要素z0
 ´〜z63´をシリアルにその加算器42の他方の入
力部に供給し、この加算器42からベクトル〈x〉の6
4個の要素x0 〜x63がシリアルに出力される。
【0048】図7はその〈y〉,〈z〉計算ブロック3
9の構成例を示し、この図7において、43は1入力6
4出力のシリアル/パラレル(S/P)変換器であり、
このS/P変換器43に64個の要素ci を64クロ
ックでシリアルに供給し、このS/P変換器43では次
の64クロックの期間に継続してその要素ci を並列
に並べたデータc0 〜c63を64個のデータ出力部
に出力しておく。44及び45は夫々32入力の加減算
器(図5の回路でn=32とした回路)であり、一方の
加減算器44にはその64個のデータの内の最初の32
個のデータc0 〜c31を並列に供給し、他方の加減
算器45にはその最後の32個のデータc32〜c63
を並列に供給する。この場合、数9及び数25の関係よ
りベクトル〈y〉の要素は次の式によりベクトル〈c〉
の要素から求められる。
【0049】
【数26】 この数26において、P1t は数9の上部の32行×
64列の行列を転置した行列であると共に、この行列P
1t の要素であるqi,j ´(j=0,1,‥‥,
31)は夫々0,1又は−1であるため、ベクトル〈y
〉の各要素はベクトル〈c〉の最初の32個の要素であ
るc0 〜c31の加減算により求めることができる。 従って、図7の一方の加減算器44ではその行列P1t
 に対応した加減算を実行することにより、ベクトル〈
y〉の64個の要素y0 〜y63がシリアルに計算さ
れて出力される。
【0050】同様に、数11及び数25の関係よりベク
トル〈z〉の要素は次の式によりベクトル〈c〉の要素
から求められる。
【数27】 この数27において、R1t は数11の下部の32行
×64列の行列を転置した行列であると共に、この行列
R1t の要素であるqi,j ´(j=32,33,
‥‥,63)は夫々0,1又は−1であるため、ベクト
ル〈y〉の各要素はベクトル〈c〉の最後の32個の要
素であるc32〜c63の加減算により求めることがで
きる。従って、図7の他方の加減算器45ではその行列
R1t に対応した加減算を実行することにより、ベク
トル〈z〉の64個の要素z0 〜z63がシリアルに
計算されて出力される。
【0051】図8は図6の中の〈y´〉計算ブロックの
構成例を示し、この図8において、シリアルに供給され
るベクトル〈y〉の要素yi を乗算器46に供給し、
この乗算器46は供給された要素に係数設定回路47か
ら周期的に供給される係数1,r,α,βを乗じて得た
結果を累加算器48及びホールド機能付きのレジスター
49を介してデータセレクタ50の一方の入力部に供給
する。また、その乗算結果を直接に及び2の補数器52
を介して夫々データセレクタ51の一方及び他方の入力
部に供給し、このデータセレクタ51の出力データを累
加算器53及びホールド機能付きのレジスター54を介
してそのデータセレクタ50の他方の入力部に供給する
。 このデータセレクタ50の出力部からはベクトル〈y´
〉の要素yi−4 ´が出力される。ベクトル〈y´〉
の要素は入力されるベクトル〈y〉の要素から4クロッ
クだけ遅れて出力される。
【0052】図8の回路の動作につき説明するに、数1
0及び数25よりベクトル〈y´〉とベクトル〈y〉と
の間には次の関係がある。
【数28】 この数28の行列は右下がりの対角線に沿う16個の4
行×4列の小行列Q1t 以外の要素は全て0あるため
、その数28は次の数29で全て表現することができる
。
【0053】
【数29】
【0054】この数29において、j=0,1,2,‥
‥,15であり、ベクトル〈y´〉の各4個の要素y4
j´〜y4j+3´は夫々ベクトル〈y〉の4個の要素
y4j〜y4j+3よりなるベクトルに順次行列Q7,
Q6及びQ5を乗ずることにより求めることができる。 また、図8の回路においては図2の回路と同様に、各4
クロックの最初にオンされるリセットパルスRPにより
累加算器48及び53の加算値が0にリセットされ、各
4クロックの最後にオンされるホールドパルスHPによ
りそれら累加算器48及び53の加算値が夫々レジスタ
ー49及び54に保持され、レジスター49及び54は
それに続く4クロックの期間その保持したデータを常時
出力する。また、データセレクタ51は各4クロックの
最初の2クロックは乗算器46の出力データを選択し、
次の2クロックは2の補数器52の出力データを選択す
るようになされ、データセレクタ50も各4クロックの
最初の2クロックはレジスター49の出力データを選択
し、次の2クロックはレジスター54の出力データを選
択するようになされている。従って、図8の回路では乗
算器46により数29の行列Q7に関する演算が実行さ
れ、回路系48,52,51,53により行列Q6に関
する演算が実行され、データセレクタ50により行列Q
5に関する演算が実行される。
【0055】図9は図6の回路中の〈z´〉計算ブロッ
ク41の構成例を示し、この図9において、シリアルに
供給されるベクトル〈z〉の要素zi を乗算器55に
供給し、この乗算器55はその供給されたデータに係数
設定回路56から周期的に供給される係数a,d,b,
cを乗算して得た結果を累加算器57及びホールド機能
付きのレジスター58を介してデータセレクタ59の一
方の入力部に供給する。また、その要素zi を同時に
乗算器60に供給し、この乗算器60はその供給された
データに係数設定回路61から周期的に供給される係数
d,−a,−c,bを乗算して得た結果を累加算器62
及びホールド機能付きのレジスター63を介してデータ
セレクタ59の他方の入力部に供給する。そして、この
データセレクタ59の出力データを直接に及び2の補数
器65を介して夫々データセレクタ64の一方及び他方
の入力部に供給する。このデータセレクタ64の出力部
からベクトル〈z´〉の要素zi−4 ´がシリアルに
入力データに対して夫々4クロックだけ遅れて出力され
る。
【0056】図9の回路の動作につき説明するに、数1
2及び数25よりベクトル〈z´〉は次のようにベクト
ル〈z〉と行列との乗算により求めることができる。
【数30】 この数30の64行×64列の行列は右下がりの対角線
上の16個の夫々4行×4列の同一の小行列S1t 以
外の要素は全て0であるため、この数30は次の数31
で代表することができる。
【0057】
【数31】 この数31において、j=0,1,2,‥‥,15であ
り、ベクトル〈z´〉の各4個の要素z4j´〜z4j
+3´は夫々ベクトル〈z〉の4個の要素z4j〜z4
j+3よりなるベクトルに順次行列S5及びS4を乗ず
ることにより求めることができる。
【0058】また、図9の回路においては図8の回路と
同様に、各4クロックの最初にオンされるリセットパル
スRPにより累加算器57及び62の加算値が0にリセ
ットされ、各4クロックの最後にオンされるホールドパ
ルスHPによりそれら累加算器57及び62の加算値が
夫々レジスター58及び63に保持され、レジスター5
8及び63はそれに続く4クロックの期間その保持した
データを常時出力する。また、データセレクタ59は各
4クロックの最初の2クロックはレジスター58の出力
データを選択し、次の2クロックはレジスター63の出
力データを選択するようになされ、データセレクタ64
は交互にデータセレクタ59の出力データと2の補数器
65の出力データとを切り替えて選択するようになされ
ている。従って、図9の回路では乗算器55及び60に
より数31の行列S5に関する演算が実行され、回路系
59,64,65により行列S4に関する演算が実行さ
れる。
【0059】次に本発明の他の実施例につき図10及び
図11を参照して説明する。本例はIDCT演算を実行
するための図6の回路における〈y〉,〈z〉計算ブロ
ック39をより小規模な回路で構成できるようにしたも
のである。先ず、数25で定義されるベクトル〈y〉及
び〈z〉を次のように表す。
【数32】〈y〉=Pt 〈c〉=P´T〈c〉,〈z
〉=Rt 〈c〉=R´T〈c〉 この場合、P´,R´及びTは夫々以下のように定義さ
れる64行×64列の定数行列である。
【数33】 即ち、この行列Tは右下がりの対角線上の16個の夫々
4行×4列の同一の小行列T1以外の要素は全て0であ
り、小行列T1の要素は1と−1のみである。
【0060】
【数34】 この数34において、+は1、−は−1、空白は0を示
す(以下同じ)。即ち、行列P´は左半分の64行×3
2列の要素が0,1又は−1であり、右半分の要素は全
て0である。
【0061】
【数35】 即ち、この行列R´は右半分の64行×32列の要素が
0,1又は−1であり、左半分の要素は全て0である。
【0062】次にベクトルT〈c〉をベクトル〈c´〉
として、このベクトル〈c´〉の64個の要素をc0 
´〜c63´とすると、数33より次の関係が導出され
る。
【数36】
【0063】小行列T1の特性よりその数36は次の数
37により代表することができる。
【数37】 この数37において、j=0,1,‥‥,33であり、
ベクトル〈c´〉の各2個の要素は夫々ベクトル〈c〉
の各2個の要素の加減算で求めることができる。また、
このベクトル〈c´〉を使用すると数32のベクトル〈
y〉及び〈z〉は夫々次式で計算することができる。
【0064】
【数38】
【0065】この数38において、行列P1´は数34
の左半分の行列であり、行列R1´は数35の右半分の
行列である。この数38よりベクトル〈y〉はベクトル
〈c´〉の64個の要素の内の最初の32個の要素c0
 ´〜c31´の単なる加減算で求めることができ、ベ
クトル〈z〉はそれに続く32個の要素c32´〜c6
3´の加減算で求めることができることが分かる。その
数36及び数38の演算を実行するための新たな〈y〉
,〈z〉計算ブロックを図10に示す。
【0066】図10において、66は1入力2出力のシ
リアル/パラレル(S/P)変換器、67は2入力1出
力で数37の演算を行う加減算器(図5でn=2とした
回路)、68は1入力64出力のS/P変換器を示し、
ベクトル〈c〉の64個のシリアルの要素c0 〜c6
3をS/P変換器66及び加減算器67を介してベクト
ル〈c´〉の64個のシリアルの要素c0 ´〜c63
´に変換し、これら要素c0 ´〜c63´をシリアル
にS/P変換器68の入力部に供給する。このS/P変
換器68の64個の出力部からはそれら要素c0 ´〜
c63´が並列に出力されるので、この並列出力データ
の内の最初の32個の要素c0 ´〜c31´を32入
力1出力の左側の加減算器69に供給し、それに続く3
2個の要素c32´〜c63´を右側の32入力1出力
の加減算器70に供給する。左側の加減算器69は数3
8の行列P1´に関する演算を実行してベクトル〈y〉
の要素yi をシリアルに出力し、右側の加減算器70
は数38の行列R1´に関する演算を実行してベクトル
〈z〉の要素zi をシリアルに出力する。
【0067】また、図10の〈y〉,〈z〉計算ブロッ
クは更に図11のように変形することができる。この図
11において、71は16個の夫々同一構成の2入力1
出力のデータセレクタを示し、そのS/P変換器68の
並列の64個の出力の内の最初の32個の要素c0 ´
〜c31´をそれら16個のデータセレクタ71の入力
部に並列に供給し、それら16個のデータセレクタ71
の出力データを夫々16入力且つ1出力の左側の加減算
器(図5でn=16とした回路)の入力部に供給する。 また、そのS/P変換器68の並列の64個の出力の内
の後に続く32個の要素c32´〜c63´を16個の
同一の2入力1出力のデータセレクタ73の入力部に並
列に供給し、それら16個のデータセレクタ73の出力
データを夫々16入力且つ1出力の右側の加減算器74
の入力部に供給する。
【0068】この場合、加減算器72には32個の要素
c0 ´〜c31´の内の半分のデータのみが供給され
る。 しかしながら、数38の行列P1´は数34より明かな
ように各行の隣合う2個の要素の内の少なくとも1個は
常に0である。従って、数38の行列P1´に関する演
算で実質的に使用される要素ci ´は供給される要素
の内の半分以下であるため、その16入力の加減算器7
2によりその行列P1´に関する演算を実行することが
できる。同様に、数35より明かなように数38の行列
R1´も各行の隣合う2個の要素の内の少なくとも1個
は常に0である。従って、その右側の16入力の加減算
器74でその行列R1´に関する演算を実行することが
できる。
【0069】なお、本発明は上述実施例に限定されず本
発明の要旨を逸脱しない範囲で種々の構成を取り得るこ
とは勿論である。
【0070】
【発明の効果】本発明によれば、N行×N列の実空間上
の行列及び周波数空間上の行列を夫々要素の数がN2 
個のベクトルに変換して、ベクトル同士でDCTの変換
又はIDCTの変換を行うようにしているので、2次元
のDCT演算又は2次元のIDCT演算をより少ない個
数の乗算器を用いて実行できる利益がある。
【図面の簡単な説明】
【図1】本発明の一実施例の2次元8×8DCT演算回
路の構成を示すブロック図である。
【図2】そのDCT演算回路中の〈v〉計算ブロックの
一例を示す構成図である。
【図3】そのDCT演算回路中の〈w〉計算ブロックの
一例を示す構成図である。
【図4】そのDCT演算回路中の〈c〉計算ブロックの
一例を示す構成図である。
【図5】n入力で1出力の加減算回路の一例を示す構成
図である。
【図6】本発明の一実施例の2次元8×8IDCT演算
回路の構成を示すブロック図である。
【図7】そのIDCT演算回路中の〈y〉,〈z〉計算
ブロックの一例を示す構成図である。
【図8】そのIDCT演算回路中の〈y´〉計算ブロッ
クの一例を示す構成図である。
【図9】そのIDCT演算回路中の〈z´〉計算ブロッ
クの一例を示す構成図である。
【図10】本発明の他の実施例のIDCT演算回路の中
の〈y〉,〈z〉計算ブロックを示す構成図である。
【図11】図10の〈y〉,〈z〉計算ブロックの変形
例を示す構成図である。
【図12】従来の2次元8×8DCT演算回路の構成を
示すブロック図である。
【図13】従来の2次元8×8IDCT演算回路の構成
を示すブロック図である。
【符号の説明】
7  〈v〉計算ブロック 8  〈w〉計算ブロック 9  〈c〉計算ブロック 39  〈y〉,〈z〉計算ブロック 40  〈y´〉計算ブロック 41  〈z´〉計算ブロック 42  加算器

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  実空間上のN行×N列(Nは2以上の
    整数)の画像データより周波数空間上のN行×N列のデ
    ータを求める離散コサイン変換の演算を行う演算装置に
    おいて、予め上記実空間上のN行×N列の画像データを
    所定の順序で一列に配列して要素の数がN2 個の実空
    間上のベクトルを形成しておき、上記実空間上のベクト
    ルより第1のベクトルを計算する第1のベクトル演算回
    路と、上記実空間上のベクトルより第2のベクトルを計
    算する第2のベクトル演算回路と、上記第1のベクトル
    の要素と上記第2のベクトルの要素とを加減算すること
    により要素の数がN2 個の周波数空間上のベクトルを
    求める加減算回路とを有し、該周波数空間上のベクトル
    の要素を再配列して上記周波数空間上のN行×N列のデ
    ータを求めるようにしたことを特徴とする演算装置。
  2. 【請求項2】  周波数空間上のN行×N列(Nは2以
    上の整数)のデータより実空間上のN行×N列の画像デ
    ータを求める逆離散コサイン変換の演算を行う演算装置
    において、予め上記周波数空間上のN行×N列のデータ
    を所定の順序で一列に配列して要素の数がN2 個の周
    波数空間上のベクトルを形成しておき、上記周波数空間
    上のベクトルの要素を加減算することにより第1のベク
    トルの要素及び第2のベクトルの要素を求める第1のベ
    クトル演算回路と、上記第1のベクトルより第3のベク
    トルを計算する第2のベクトル演算回路と、上記第2の
    ベクトルより第4のベクトルを計算する第3のベクトル
    演算回路と、上記第3のベクトルの要素と上記第4のベ
    クトルの要素とを加算することにより要素の数がN2 
    個の実空間上のベクトルを求める加算回路とを有し、該
    実空間上のベクトルの要素を再配列して上記実空間上の
    N行×N列の画像データを求めるようにしたことを特徴
    とする演算装置。
JP90417119A 1990-12-28 1990-12-28 演算装置 Pending JPH04242860A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP90417119A JPH04242860A (ja) 1990-12-28 1990-12-28 演算装置
KR1019910022227A KR100233555B1 (ko) 1990-12-28 1991-12-05 연산장치
US07/808,658 US5276784A (en) 1990-12-28 1991-12-17 2-D discrete cosine transform circuit with reduced number of multipliers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP90417119A JPH04242860A (ja) 1990-12-28 1990-12-28 演算装置

Publications (1)

Publication Number Publication Date
JPH04242860A true JPH04242860A (ja) 1992-08-31

Family

ID=18525253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP90417119A Pending JPH04242860A (ja) 1990-12-28 1990-12-28 演算装置

Country Status (3)

Country Link
US (1) US5276784A (ja)
JP (1) JPH04242860A (ja)
KR (1) KR100233555B1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0576749B1 (en) 1992-06-30 1999-06-02 Discovision Associates Data pipeline system
GB9405914D0 (en) * 1994-03-24 1994-05-11 Discovision Ass Video decompression
EP0575675B1 (en) * 1992-06-26 1998-11-25 Discovision Associates Method and apparatus for transformation of signals from a frequency to a time domaine
US6330665B1 (en) 1992-06-30 2001-12-11 Discovision Associates Video parser
US6047112A (en) 1992-06-30 2000-04-04 Discovision Associates Technique for initiating processing of a data stream of encoded video information
US6067417A (en) 1992-06-30 2000-05-23 Discovision Associates Picture start token
US5784631A (en) 1992-06-30 1998-07-21 Discovision Associates Huffman decoder
US6079009A (en) 1992-06-30 2000-06-20 Discovision Associates Coding standard token in a system compromising a plurality of pipeline stages
US6112017A (en) 1992-06-30 2000-08-29 Discovision Associates Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus
US6435737B1 (en) 1992-06-30 2002-08-20 Discovision Associates Data pipeline system and data encoding method
US5809270A (en) 1992-06-30 1998-09-15 Discovision Associates Inverse quantizer
US7095783B1 (en) 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US5768561A (en) 1992-06-30 1998-06-16 Discovision Associates Tokens-based adaptive video processing arrangement
JP2725544B2 (ja) * 1992-11-12 1998-03-11 日本電気株式会社 Dct及び逆dct演算装置並びにその演算方法
JPH06266747A (ja) * 1993-03-12 1994-09-22 Sharp Corp Dct/逆dct演算装置
US5805914A (en) 1993-06-24 1998-09-08 Discovision Associates Data pipeline system and data encoding method
US5835792A (en) 1993-06-24 1998-11-10 Discovision Associates Token-based adaptive video processing arrangement
US5861894A (en) 1993-06-24 1999-01-19 Discovision Associates Buffer manager
US5699544A (en) * 1993-06-24 1997-12-16 Discovision Associates Method and apparatus for using a fixed width word for addressing variable width data
JP3697717B2 (ja) * 1993-09-24 2005-09-21 ソニー株式会社 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置
CA2145363C (en) * 1994-03-24 1999-07-13 Anthony Mark Jones Ram interface
CA2145365C (en) 1994-03-24 1999-04-27 Anthony M. Jones Method for accessing banks of dram
CA2145379C (en) 1994-03-24 1999-06-08 William P. Robbins Method and apparatus for addressing memory
GB9417138D0 (en) * 1994-08-23 1994-10-12 Discovision Ass Data rate conversion
US5761328A (en) * 1995-05-22 1998-06-02 Solberg Creations, Inc. Computer automated system and method for converting source-documents bearing alphanumeric text relating to survey measurements
GB2303012B (en) * 1995-07-01 1999-11-03 Motorola Inc Image processing circuit and method
US6141761A (en) * 1996-11-05 2000-10-31 Samsung Electronics Co., Ltd. Low power consuming operating device for digital signal processing using a probability distribution of input digital signals and predetermined output signals
US8069201B2 (en) * 2003-11-25 2011-11-29 Texas Instruments Incorporated 8×8 transform and quantization

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4449194A (en) * 1981-09-25 1984-05-15 Motorola Inc. Multiple point, discrete cosine processor
US4481605A (en) * 1982-03-05 1984-11-06 Sperry Corporation Display vector generator utilizing sine/cosine accumulation
US4791598A (en) * 1987-03-24 1988-12-13 Bell Communications Research, Inc. Two-dimensional discrete cosine transform processor

Also Published As

Publication number Publication date
US5276784A (en) 1994-01-04
KR100233555B1 (ko) 1999-12-01
KR920013177A (ko) 1992-07-28

Similar Documents

Publication Publication Date Title
KR100233555B1 (ko) 연산장치
JP2646778B2 (ja) ディジタル信号処理装置
EP0506111B1 (en) DCT/IDCT processor and data processing method
KR100714358B1 (ko) 연산을 수행하기 위한 방법, 시스템 및 장치
KR100311251B1 (ko) 2차원이산코사인변환장치,2차원역이산코사인변환장치및디지탈신호처리장치
EP0412252B1 (en) System and circuit for the calculation of a bidimensional discrete transform
JPH04236664A (ja) 演算回路
JPH04242861A (ja) 内積演算回路
US6185595B1 (en) Discrete cosine transformation operation circuit
JP6357345B2 (ja) ビデオデータ処理時に空間領域と周波数領域との間の変換を実行するためのデータ処理装置および方法
KR950033919A (ko) 직교변환 프로세서
KR100444729B1 (ko) 레딕스-8 단일 경로 지연 전달 구조의 고속 퓨리에 변환장치 및 그 방법
JP2822684B2 (ja) 離散コサイン変換装置および逆離散コサイン変換装置
JP3934290B2 (ja) 離散コサイン変換処理装置、逆離散コサイン変換処理装置及び離散コサイン変換処理装置・逆離散コサイン変換処理装置
JPH0540776A (ja) 二次元dctマトリクス演算回路
JP3575991B2 (ja) 直交変換回路
KR100575285B1 (ko) 고속의 저전력 이산 코사인 변환 장치 및 방법
BenAyed et al. New design using a VHDL description for DCT based circuits
JP3697716B2 (ja) 行列データ乗算装置
JP2646844B2 (ja) 離散コサイン変換装置
KR0152802B1 (ko) 영상 압축장치의 역이산 코사인 변환방법 및 장치
JP3697720B2 (ja) デジタルシグナルプロセッサ装置
JP3970442B2 (ja) 離散コサイン変換装置及び逆離散コサイン変換装置
JP3547567B2 (ja) 離散コサイン変換器
KR100520640B1 (ko) 칼라 포맷 변환기