JPH0793294A - 2次元離散コサイン変換装置、2次元逆離散コサイン変換装置およびディジタル信号処理装置 - Google Patents

2次元離散コサイン変換装置、2次元逆離散コサイン変換装置およびディジタル信号処理装置

Info

Publication number
JPH0793294A
JPH0793294A JP5238526A JP23852693A JPH0793294A JP H0793294 A JPH0793294 A JP H0793294A JP 5238526 A JP5238526 A JP 5238526A JP 23852693 A JP23852693 A JP 23852693A JP H0793294 A JPH0793294 A JP H0793294A
Authority
JP
Japan
Prior art keywords
matrix
calculation
data
register
stored
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
Application number
JP5238526A
Other languages
English (en)
Other versions
JP3697717B2 (ja
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 JP23852693A priority Critical patent/JP3697717B2/ja
Priority to KR1019940023780A priority patent/KR100311251B1/ko
Priority to US08/310,342 priority patent/US5590066A/en
Publication of JPH0793294A publication Critical patent/JPH0793294A/ja
Application granted granted Critical
Publication of JP3697717B2 publication Critical patent/JP3697717B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Discrete Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】 入出力データとしてシリアルデータ用いる場
合にもレジスタ数を削減し、回路規模を縮小することが
できる2次元離散コサイン変換装置を提供する。 【構成】 入力端子から、たとえば、画像データがシリ
アルに入力され、セレクタS1〜S12を介して、順
次、後段のレジスタR0〜R11に転送される。この転
送過程において、制御回路6からの制御信号CS1〜C
S24によって、データはバス4を介して、所定の演算
器AS1、AS2、ADD、SUB、MPYに供給さ
れ、計算が実行される。演算器における計算結果は、セ
レクタS1〜S12およびバス4を介して再びレジスタ
R1〜R12に出力され、最終的に計算結果が、出力端
子からシリアルに出力される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディジタル信号処理装
置に関し、特に2次元離散コサイン変換(DCT;Disc
rete Cosine Transformation) 装置および2次元逆離散
コサイン変換(IDCT;Inverse DCT)装置およびその
処理方法に関するものである。
【0002】
【従来技術】近年、画像圧縮の分野では2次元DCTお
よび2次元IDCTを用いる方式が主流を占めている。
2次元8×8DCTおよび2次元8×8IDCTは、下
記式(17)で表される変換である。下記式(1)にお
いて添え字の「t 」は転置行列を表し、〔Nt 〕と
〔N〕とは転置行列の関係にある。
【0003】
【数17】
【0004】式(17)において、〔X〕は例えば8×
8の実空間の画像行列データであり、〔C〕は〔X〕に
対応する8×8の周波数空間の行列データであり、
〔N〕は〔C〕を〔X〕に変換するための8×8定数行
列である。〔N〕は下記式(18)、〔Nt 〕は下記式
(19)のように表せる。
【0005】
【数18】
【0006】
【数19】
【0007】2次元8×8DCT、IDCTの計算を上
記式(17)をそのまま単純に計算して行うと、乗算回
数が非常に多くなり、多数の乗算器を含む膨大なハード
ウェアが必要になるという問題がある。この問題を解決
するために、本出願人による特願平4−211014号
では、上記式(17)に示す定数行列〔N〕を対角線成
分が無理数であり他の成分が全て「0」である行列
〔W〕および各成分が無理数、「+1」あるいは「−
1」のいずれかである行列〔M〕に行列分解し、定数行
列〔Nt 〕を上記行列〔W〕の転置行列である行列〔W
t 〕および上記行列〔M〕の転置行列である行列
〔Mt〕に行列分解し、これら行列分解された行列式に
基づいて計算を実行することにより、DCTの乗算回数
を減らすことができる2次元8×8DCT装置を開示す
る。この2次元8×8DCT装置では、上記式(17)
に示すDCTの式を下記式(20)のように変換し、下
記式(20)を下記ステップS1〜ステップS3の手順
で計算することで、乗算回数を低減し、乗算器の数の増
大による演算回路の大規模化を抑制する。
【0008】
【数20】
【0009】
【数21】
【0010】上記式(20)における行列〔W〕は下記
式(22)で表せる。
【数22】
【0011】また、上記式(20)における行列〔M〕
は下記式(23)で表せる。
【数23】
【0012】さらに、上記(20)における行列
〔Wt 〕、行列〔Mt 〕は、それぞれ行列〔W〕、行列
〔M〕の転置行列であり、下記式(24)、(25)で
表せる。
【数24】
【0013】
【数25】
【0014】図10は上記式(20)の計算を行う2次
元8×8DCT装置100の構成図である。図10に示
すように、2次元8×8DCT装置100は、シリアル
/パラレル変換器121、計算回路122、並換回路1
23、計算回路124、パラレル/シリアル変換器12
5および乗算器126で構成される。この2次元8×8
DCT装置100では、画像データである行列〔X〕を
シリアルに入力し、シリアル/パラレル変換器121に
て行列〔X〕をパラレルデータに変換し、計算回路12
2を用いて上記ステップS1の計算を実行し、並換回路
123および計算回路124を用いて上記ステップS2
の計算を実行し、パラレル/シリアル変換器125を用
いて計算回路124からのパラレルデータをシリアルデ
ータに変換し、乗算器126を用いて上記ステップS3
の計算を実行し、乗算器126から周波数上のデータで
ある行列〔C〕をシリアルに出力する。図11は計算回
路122の構成図である。図11に示されるxx0〜x
x7は下記式(26)で表せるベクトル〔xx〕の構成
要素であり、ベクトル〔xx〕は式(20)の行列
〔X〕の行方向の構成要素で構成されるベクトルであ
る。また、yy0〜yy7は下記式(27)で表せるベ
クトル〔yy〕の構成要素であり、ベクトル〔yy〕は
ステップS1の行列〔Y〕の行方向の構成要素で構成さ
れるベクトルである。
【0015】
【数26】
【0016】
【数27】
【0017】計算回路122は、8要素の入力データ
(xx0、xx1、...、xx7)をパラレルに入力
して、8要素の出力データ(yy0、yy1、...、
yy7)をパラレルに出力する構成となっている。計算
回路122では、たとえば、入力データxx0は、加算
器90aにて入力データxx7と加算され、この加算結
果がxp0として加算器90bに出力される。加算器9
0bでは、xp0とxp2とが加算され、加算結果がx
r0として加算器90cに出力される。加算器90cで
は、xr0とxr1とが加算され、加算結果がyy0と
して出力される。
【0018】図12にシリアル/パラレル変換器121
の構成図を示す。シリアル/パラレル変換器104で
は、入力端子からデータが1サイクルに1ワードずつワ
ードシリアルに入力されると、8サイクル終了後にはレ
ジスタ(単位遅延回路)Reg0〜7に8個のデータが
保持されるので、これらを8個の対応するホールド回路
Hold0〜7にそれぞれ移し、Hold0〜7からの
出力を出力端子から得ることにより1入力8出力のシリ
アル/パラレル変換が実現される。
【0019】図13にパラレル/シリアル変換器125
の構成図を示す。パラレル/シリアル変換器125で
は、8個の入力端子から8個のデータが1サイクル間に
入力され、これらデータが8個のセレクタSel0〜1
7を介してレジスタReg8〜15に保持され、2サイ
クル目以降にReg8〜15が直列に接続されるように
Sel0〜17が図示せぬ制御回路からの制御信号によ
って制御され、8サイクルかけてデータが1ワードずつ
出力端子から出力されることで、8入力1出力のパラレ
ル/シリアル変換が実現される。ホールド回路はデータ
を保持する回路であり、基本的にはレジスタと同じであ
る。従って、図10の計算回路100では、ホールド回
路は、シリアル/パラレル変換器121内に16個およ
びパラレル/シリアル変換器125内に8個それぞれ必
要となり、合計24個必要となる。
【0020】さらに、上記特願では、上記式(17)に
示す定数行列〔N〕を対角線成分が無理数であり他の成
分が全て「0」である行列〔G〕および各成分が無理
数、「+1」あるいは「−1」のいずれかである行列
〔F〕に行列分解し、定数行列〔Nt 〕を上記行列
〔G〕の転置行列である行列〔Gt 〕および上記行列
〔F〕の転置行列である行列〔Ft 〕に行列分解し、こ
れら行列分解された行列式に基づいて計算を実行するこ
とにより、IDCTの乗算回数を減らすことができる2
次元8×8IDCT装置を開示する。この2次元8×8
IDCT装置では、上記式(17)に示すIDCTの式
を下記式(28)のように式変換し、下記式(28)を
下記ステップS1’〜ステップS3’の手順で計算する
ことで、乗算回数を低減し、乗算器の数の増大による演
算回路の大規模化を抑制する。
【0021】
【数28】
【0022】
【数29】
【0023】上記式(28)における行列〔G〕は下記
式(30)で表せる。
【数30】
【0024】また、上記式(28)における行列〔F〕
は下記式(31)で表せる。
【0025】
【数31】
【0026】さらに、上記式(28)における行列〔G
t 〕、行列〔Ft 〕は、それぞれ行列〔G〕、行列
〔F〕の転置行列であり、下記式(32)、(33)で
定義される。
【0027】
【数32】
【0028】
【数33】
【0029】図14は上記式(28)の計算を行う2次
元8×8IDCT装置130の構成図である。図14に
示すように、2次元8×8DCT装置130は、乗算器
131、シリアル/パラレル変換器121、計算回路1
33、並換回路134、計算回路135およびパラレル
/シリアル変換器125で構成される。この2次元8×
8IDCT装置130では、周波数空間のデータである
行列〔C〕をシリアルに入力し、乗算器131にてステ
ップS1’の計算をシリアルに実行し、シリアル/パラ
レル変換器121にてパラレルデータに変換し、計算回
路133を用いて上記ステップS2’の計算を実行し、
並換回路134および計算回路135を用いて上記ステ
ップS3’の計算を実行し、パラレル/シリアル変換器
125を用いて計算回路135からのパラレルデータを
シリアルデータに変換し、実空間の画像データである行
列〔X〕をシリアルに出力する。
【0030】図15は計算回路135の構成図である。
図15に示すベクトル〔yy〕は下記式(34)および
ベクトル〔xx〕は下記式(35)でそれぞれ表せ、ベ
クトル〔yy〕はステップS2’で生成された行列
〔Q〕を並換回路134にて行と列とを並べ換えた行列
の行方向の構成要素で構成されるベクトルであり、〔x
x〕はステップS3’にて生成される実空間の行列
〔X〕の行方向の構成要素で構成されるベクトルであ
る。
【0031】
【数34】
【0032】
【数35】
【0033】図15に示す計算回路135は、8要素の
入力データ(yy0、yy1、...、yy7)をパラ
レルに入力して、8要素の出力データ(xx0、xx
1、...、xx7)をパラレルに出力する構成となっ
ている。この2次元8×8IDCT装置130でも、2
次元8×8DCT装置DCT100の場合と同様に、シ
リアル/パラレル変換器121内およびパラレル/シリ
アル変換器125内に合計、24個のレジスタを必要と
する。
【0034】
【発明が解決しようとする課題】しかし、上述した特願
平4−211014号が開示する2次元8×8DCT装
置100および2次元8×8IDCT装置130では、
上記ステップS1〜S3およびステップS1’〜S3’
の手順で計算を行うことで、従来技術の場合に比べて乗
算器の数を低減させ回路規模を縮小できるが、ワードシ
リアルに行列データを入出力する場合には、従来の場合
と同様に図10および図14に示すような多数のレジス
タを含むシリアル/パラレル変換器121およびパラレ
ル/シリアル変換器125が必要となり、この部分の回
路規模が大きくなってしまうという問題がある。
【0035】上述した従来技術の問題を解決するため
に、本発明は入出力データとしてワードシリアルデータ
を用いる場合においても、レジスタ数を低減し、回路規
模をさらに縮小することができる2次元離散コサイン変
換装置、2次元逆離散コサイン変換装置およびディジタ
ル信号処理装置を提供することを目的とする。
【0036】
【課題を解決するための手段】上述した問題を解決し、
上述した目的を達成するために、本発明の2次元離散コ
サイン変換装置は、少なくとも1の対角成分が無理数で
あり他の各成分が「0」である第1の行列と、各成分が
無理数、「+1」あるいは「−1」のいずれかである第
2の行列とに行列分解できる第1の係数行列と、前記第
2の行列の転置行列である第3の行列と、前記第1の行
列の転置行列である第4の行列とに行列分解できる前記
第1の係数行列の転置行列である第2の係数行列とをそ
れぞれ左側および右側から入力行列に乗算し、その乗算
結果である出力行列の各成分を出力する行列データ乗算
装置であって、前記第2の行列と前記入力行列との乗算
に相当する所定の計算を行う第1の計算回路と、該第1
の計算回路の乗算結果と前記第3の行列との乗算に相当
する所定の計算を行う第2の計算回路と、該第2の計算
回路の乗算結果に対して、左側から前記第1の行列を乗
算し右側から前記第4の行列を乗算する計算に相当する
所定の計算を行う乗算器とを有し、前記第1の計算回路
および前記第2の計算回路は、直列的に接続された複数
の記憶素子と、該記憶素子から供給されるデータを用い
て所定の計算を行い、計算結果を所定の前記記憶素子に
出力する単数または複数の演算器とを有し、第1段の前
記記憶素子からデータをシリアルに入力し、該入力した
データをパイプライン方式で順次、後段の記憶素子に転
送し、該転送過程において前記演算器による前記計算を
行い、最終段の前記記憶素子から計算結果を示すデータ
をシリアルに出力する。
【0037】また、本発明の2次元逆離散コサイン変換
装置は、少なくとも1の対角成分が無理数であり他の各
成分が「0」である第1の行列と、各成分が無理数、
「+1」あるいは「−1」のいずれかである第2の行列
とに行列分解できる第1の係数行列と、前記第2の行列
の転置行列である第3の行列と、前記第1の行列の転置
行列である第4の行列とに行列分解できる前記第1の係
数行列の転置行列である第2の係数行列とをそれぞれ右
側および左側から入力行列に乗算し、その乗算結果であ
る出力行列の各成分を出力する行列データ乗算装置であ
って、前記入力行列に対して、左側から前記第4の行列
を乗算し右側から前記第1の行列を乗算する計算に相当
する計算を行う乗算器と該乗算器と前記第2の行列の乗
算に相当する計算を行う第1の計算回路と、前記第3の
行列と前記第1の計算回路の前記乗算結果との乗算に相
当する計算を行う第2の計算回路と、を有し、前記第1
の計算回路および前記第2の計算回路は、直列的に接続
された複数の記憶素子と、該記憶素子から供給されるデ
ータを用いて所定の計算を行い、計算結果を所定の前記
記憶素子に出力する単数または複数の演算器とを有し、
第1段の前記記憶素子からデータをシリアルに入力し、
該入力したデータをパイプライン方式で順次、後段の記
憶素子に転送し、該転送過程において前記演算器による
前記計算を行い、最終段の前記記憶素子から計算結果を
示すデータをシリアルに出力する。
【0038】さらに、本発明のディジタル信号処理装置
は、直列的に接続された複数の記憶素子と、該記憶素子
から供給されるデータを用いて所定の計算を行い、計算
結果を所定の前記記憶素子に出力する単数または複数の
演算器とを有し、第1段の前記記憶素子からデータをシ
リアルに入力し、該入力したデータをパイプライン方式
で順次、後段の記憶素子に転送し、該転送過程において
前記演算器による前記計算を行い、最終段の前記記憶素
子から計算結果を示すデータをシリアルに出力する。
【0039】
【作用】本発明の2次元離散コサイン変換装置では、入
力行列に応じたデータがシリアルに第1の計算回路に入
力され、該第1の計算回路にて、各成分が無理数、「+
1」あるいは「−1」のいずれかである第2の行列と前
記入力行列との乗算に相当する所定の計算が実行され、
計算結果を示すデータがシリアルに出力される。該第1
の計算回路の計算結果を示すデータは、次に、第2の計
算回路にシリアルに入力され、該第2の計算回路にて、
該第1の計算回路の計算結果を示すデータと、前記第2
の行列の転置行列である第3の行列との乗算に相当する
所定の計算が実行され、計算結果を示すデータがシリア
ルに出力される。該第2の計算回路の計算結果を示すデ
ータは、次に、乗算器にシリアルに入力され、該乗算器
にて、左側から少なくとも1の対角成分が無理数であり
他の各成分が「0」である第1の行列を乗算し、右側か
ら前記第1の行列の転置行列である第4の行列を乗算す
る計算に相当する所定の計算が実行され、計算結果を示
すデータがシリアルに出力される。
【0040】上記第1の計算回路および第2の計算回路
においては、データが、第1段の記憶素子にシリアルに
入力され、該入力されたデータはパイプライン方式で順
次、後段の記憶素子に転送される。そして、この転送過
程において演算器による所定の計算が実行され、最終段
の記憶素子から計算結果を示すデータがシリアルに出力
される。
【0041】
【実施例】第1実施例について説明する。本実施例で
は、上述した従来の2次元8×8DCT装置100と同
様に、下記式(36)を下記ステップS1〜S3に示す
手順で実行する2次元8×8DCT装置について説明す
る。
【0042】
【数36】
【0043】
【数37】
【0044】上記式(36)における行列〔W〕は下記
式(38)で表せる。
【数38】
【0045】また、上記式(36)における行列〔M〕
は下記式(39)で表せる。
【数39】
【0046】また、上記式(36)における行列
〔Wt 〕および行列〔Mt 〕は、それぞれ行列〔W〕お
よび行列〔M〕の転置行列であり、下記式(40)、
(41)で表せる。
【0047】
【数40】
【0048】
【数41】
【0049】また、上記式(36)における〔X〕は8
×8の実空間の画像データであり、〔C〕は〔X〕に対
応する8×8の周波数空間ののデータである。
【0050】図1は、本実施例の2次元8×8DCT装
置1の構成図である。2次元8×8DCT装置1は、計
算回路2、並換回路5、計算回路6および乗算器8で構
成され、各構成要素はシリアルデータを入力し、シリア
ルデーアを出力する。従って、2次元8×8DCT装置
1では、上述した従来の2次元8×8DCT装置100
のように合計24個のレジスタを含むシリアル/パラレ
ル変換器およびパラレル/シリアル変換器を必要とせ
ず、各構成要素においてシリアルデータを後述するよう
にそのまま処理することができ、レジスタ数を大幅に低
減できると共に回路規模をさらに縮小することが可能と
なる。計算回路2は上記ステップS1の計算を実行す
る。並換回路5および計算回路6はステップS2の計算
を実行する。乗算器112はステップS3の計算を実行
する。図2は、図1に示す計算回路2の構成図である。
図2に示すように計算回路2は、入力端子と接続された
レジスタR0、レジスタR1〜R11および出力端子と
接続されたレジスタR12が直列に接続され、13段の
パイプラインレジスタを構成している。各レジスタ間に
はセレクタレジスタS1〜S12がそれぞれ設けられて
おり、セレクタレジスタSi(1≦i≦12)はレジス
タRi−1およびバス4からのデータを、制御回路6か
らの制御信号CS1〜CS12に基づいて、選択的にレ
ジスタRiに出力する。
【0051】計算回路2には、加減算器AS1、AS
2、加算器ADD、減算器SUBおよび乗算器MPYが
設けられている。加減算器AS1、AS2はそれぞれバ
ス4と接続され、加算/減算選択信号CS13、CS1
4に基づいて、バス4から供給されたデータについて加
算および減算を1クロックサイクルで選択的に行い、計
算結果をバス4に出力する。加算器ADDはバス4と接
続され、バス4から供給されたデータについて加算を1
クロックサイクルで行い、計算結果をバス4に出力す
る。減算器SUBはバス4と接続され、バス4から供給
されたデータについて減算を1クロックサイクルで行
い、計算結果をバス4に出力する。乗算器MPYはバス
4と接続され、バス4から供給されたデータと、制御回
路6からの係数信号S15に示される係数との乗算を行
い、計算結果をバス4に出力する。乗算器MPYにおけ
る乗算は、1クロックサイクル以上必要であるため、乗
算をパイプライン化して実行する。つまり、各クロック
サイクル毎に順次、乗算器MPYにデータを入力するこ
とは可能であるが、その乗算結果は所定のクロックサイ
クルだけ遅れて乗算器MPYから出力される。
【0052】但し、バス4は競合しないように充分に広
い幅を持たせておく。あるいは、競合するときは、時分
割でデータを送信するようにしておく。また、以下で述
べるようにDCT専用回路など特定のアプリケーション
に適用する場合には、全てのレジスタと全ての演算器を
バスで接続する必要はない。すなわち、特定のアプリケ
ーションにおいて使うことのないレジスタを演算器との
組み合わせはバスで接続する必要はない。
【0053】以下、計算回路2を用いてステップS1の
計算を行う場合について説明する。図3は計算回路2を
用いてテップS1の計算を行う際のタイミングチャート
である。図4は図3の各クロックサイクルにおける計算
内容を説明するための図である。図3および図4に示さ
れるxx0〜xx7、xp0〜xp7、xq4〜xq
7、xr0〜xr7、xs2〜xs7およびyy0〜y
y7は、図8に示されるものと同一である。
【0054】入力データ(xx0〜xx7)は、図3に
示すように1〜8クロックサイクルにわたって順次、入
力端子から入力される。ここで入力データ(xx0〜x
x7)は、式(36)の行列〔X〕の行方向の構成要素
で構成されるベクトルである。行列〔X〕を構成する行
方向のベクトルを単位として以下の計算が実行され、全
ての行方向のベクトルの計算を行うことで、行列〔X〕
に対して上記式(36)の計算が実行される。
【0055】入力データは、1クロックサイクル毎に順
次、後段のレジスタ(R0〜R12)およびバス4に出
力される。バス4に出力された入力データは、制御回路
6からの演算指示信号CS20〜CS24に基づいて、
所定の加減算器AS1、AS2、加算器ADD、減算器
SUBあるいは乗算器MPYに供給され、ステップS1
に応じた計算が実行される。加減算器AS1、AS2、
加算器ADD、減算器SUBあるいは乗算器MPYにお
ける計算結果はバス4を介してセレクタS1〜S12に
出力され、制御信号CS1〜CS12に応じて、所定の
レジスタR1〜R12に出力される。
【0056】制御回路6は、加減算器AS1、AS2、
加算器ADD、減算器SUBおよび乗算器MPYに対し
て、図4に示す手順でステップS1の計算が実行される
ように、制御信号CS1〜CS12、演算指示信号CS
20〜CS24、加算/減算選択信号CS13、CS1
4および係数信号S14を出力する。
【0057】以下、計算回路2における計算手順を図3
および図4を用いて各クロックサイクル毎に説明する。 1〜8クロックサイクル目:行列データ〔X〕の8要素
が、xx0、xx1、xx2、xx3、xx4、xx
5、xx7、xx6の順に、入力端子から入力され、順
次、後段のレジスタに出力される。
【0058】6クロックサイクル目:図3に示すよう
に、入力端子からデータxx2が入力され、レジスタR
0〜R4にはデータxx3、xx4、xx5,xx7、
xx6がそれぞれ記憶されている。そして、計算回路2
では、6クロックサイクル目において、図4に示すよう
に、レジスタR0に記憶されたデータxx3およびレジ
スタR1に記憶されたデータxx4をバス14を介して
加算器ADDおよび減算器SUBに供給し、加算器AD
Dにおいてデータxx3とデータxx4との加算を実行
し、減算器SUBにおいてデータxx3とデータxx4
との減算を行い、加算器ADDにおける加算結果xp3
をレジスタR2に記憶させ、減算器SUBにおける減算
結果xp4をレジスタR1に記憶させる。すなわち、6
クロックサイクル目が終了した時点で、データxp3が
レジスタR2に記憶され、データxp4がレジスタR1
に記憶される。
【0059】7クロックサイクル目:加算器ADDに
て、レジスタR0に記憶されたデータxx2とレジスタ
R3に記憶されたデータxx5との加算が実行され、加
算結果xp2がレジスタR4に記憶される。また、減算
器SUBにて、レジスタR0に記憶されたデータxx2
とレジスタR3に記憶されたデータxx5との減算が実
行され、減算結果xp5がレジスタR1に記憶される。
【0060】8クロックサイクル目:加算器ADDに
て、レジスタR0に記憶されたデータxx1とレジスタ
R6に記憶されたデータxx6との加算が実行され、加
算結果xp1がレジスタR7に記憶される。また、減算
器SUBにて、レジスタR0に記憶されたデータxx1
とレジスタR6に記憶されたデータxx6との減算が実
行され、減算結果xp6がレジスタR1に記憶される。
【0061】9クロックサイクル目:乗算器MPYに
て、制御回路6からの係数信号S15および演算指示信
号S24に基づいて、レジスタR1に記憶されているデ
ータxp6をバス14を介して入力し、データxp6と
係数信号S15に示される係数A4(=2×cos(4
×π/16))との乗算が実行され、その乗算結果xq
5が、10クロックサイクル目の終了時にバス14を介
してレジスタR3に記憶される。乗算器MPYにおける
計算は、前述したようにパイプライン化されており、9
クロックサイクル目に入力したデータに対しての乗算結
果は10クロックサイクル目終了時に出力される。ま
た、加減算器AS2にて、レジスタR2に記憶されたデ
ータxp5とレジスタR1に記憶されたデータxp6と
の加算が実行され、加算結果xq6がレジスタR3に記
憶される。また、加算器ADDにて、レジスタR0に記
憶されたデータxx0とレジスタR6に記憶されたデー
タxx7との加算が実行され、加算結果xp0がレジス
タR7に記憶される。また、減算器SUBにて、レジス
タR0に記憶されたデータxx0とレジスタR6に記憶
されたデータxx7との減算が実行され、減算結果xp
7がレジスタR1に記憶される。
【0062】10クロックサイクル目:乗算器MPYに
て、レジスタR1に記憶されているデータxp7と、係
数A4(=2×cos(4×π/16))との乗算が実
行され、その乗算結果xq4が、11クロックサイクル
目の終了時にレジスタR3に記憶される。また、加減算
器AS2にて、レジスタR4に記憶されたデータxp4
とレジスタR1に記憶されたデータxp7との加算が実
行され、加算結果xq7がレジスタR5に記憶される。
また、加算器ADDにて、レジスタR8に記憶されたデ
ータxp1とレジスタR6に記憶されたデータxp2と
の加算が実行され、加算結果xr1がレジスタR9に記
憶される。また、減算器SUBにて、レジスタR8に記
憶されたデータxp1とレジスタR6に記憶されたデー
タxp2との減算が実行され、減算結果xr3がレジス
タR7に記憶される。
【0063】11クロックサイクル目:加算器ADDに
て、レジスタR8に記憶されたデータxp0とレジスタ
R6に記憶されたデータxp3との加算が実行され、加
算結果xr0がレジスタR9に記憶される。また、減算
器SUBにて、レジスタR8に記憶されたデータxp0
とレジスタR6に記憶されたデータxp3との減算が実
行され、減算結果xr2がレジスタR7に記憶される。
【0064】12クロックサイクル目:加減算器AS1
にて、レジスタR10に記憶されたデータxr1とレジ
スタR9に記憶されたデータxr0との加算が実行さ
れ、加算結果yy0がレジスタR12に記憶される。乗
算器MPYにて、レジスタR7に記憶されているデータ
xr2と、係数A4(=2×cos(4×π/16))
との乗算が実行され、その乗算結果xs2が、13クロ
ックサイクル目の終了時にレジスタR9に記憶される。
また、加減算器AS2にて、レジスタR8に記憶された
データxr3とレジスタR7に記憶されたデータxr2
との加算が実行され、加算結果xs3がレジスタR9に
記憶される。また、加算器ADDにて、レジスタR4に
記憶されたデータxq5とレジスタR6に記憶されたデ
ータxq7との加算が実行され、加算結果xr5がレジ
スタR7に記憶される。また、減算器SUBにて、レジ
スタR4に記憶されたデータxq5とレジスタR6に記
憶されたデータxq7との減算が実行され、減算結果x
r7がレジスタR5に記憶される。
【0065】13クロックサイクル目:加減算器AS1
にて、レジスタR10に記憶されたデータxr0とレジ
スタR11に記憶されたデータxr1との減算が実行さ
れ、減算結果yy4がレジスタR12に記憶される。ま
た、加算器ADDにて、レジスタR4に記憶されたデー
タxq4とレジスタR6に記憶されたデータxq6との
加算が実行され、加算結果xr4がレジスタR7に記憶
される。また、減算器SUBにて、レジスタR4に記憶
されたデータxq4とレジスタR6に記憶されたデータ
xq6との減算が実行され、減算結果xr6がレジスタ
R5に記憶される。
【0066】14クロックサイクル目:加減算器AS1
にて、レジスタR10に記憶されたデータxs3とレジ
スタR9に記憶されたデータxs2との加算が実行さ
れ、加算結果yy2がレジスタR12に記憶される。乗
算器MPYにて、レジスタR7に記憶されているデータ
xr4と、係数A2(=2×cos(2×π/16))
との乗算が実行され、その乗算結果xs4が、15クロ
ックサイクル目の終了時にレジスタR9に記憶される。
また、加減算器AS2にて、レジスタR8に記憶された
データxr5とレジスタR7に記憶されたデータxr4
との加算が実行され、加算結果xs5がレジスタR9に
記憶される。
【0067】15クロックサイクル目:加減算器AS1
にて、レジスタR10に記憶されたデータxs2とレジ
スタR11に記憶されたデータxs3との減算が実行さ
れ、減算結果yy6がレジスタR12に記憶される。
【0068】16クロックサイクル目:加減算器AS1
にて、レジスタR10に記憶されたデータxs5とレジ
スタR9に記憶されたデータxs4との加算が実行さ
れ、加算結果yy1がレジスタR12に記憶される。乗
算器MPYにて、レジスタR7に記憶されているデータ
xr6と、係数A6(=2×cos(6×π/16))
との乗算が実行され、その乗算結果xs6が、17クロ
ックサイクル目の終了時にレジスタR9に記憶される。
また、加減算器AS2にて、レジスタR8に記憶された
データxr7とレジスタR7に記憶されたデータxr6
との加算が実行され、加算結果xs7がレジスタR9に
記憶される。
【0069】17クロックサイクル目:加減算器AS1
にて、レジスタR10に記憶されたデータxs4とレジ
スタR11に記憶されたデータxs5との減算が実行さ
れ、減算結果yy7がレジスタR12に記憶される。
【0070】18クロックサイクル目:加減算器AS1
にて、レジスタR10に記憶されたデータxs7とレジ
スタR9に記憶されたデータxs6との加算が実行さ
れ、加算結果yy3がレジスタR12に記憶される。
【0071】19クロックサイクル目:加減算器AS1
にて、レジスタR10に記憶されたデータxs6とレジ
スタR11に記憶されたデータxs7との減算が実行さ
れ、減算結果yy5がレジスタR12に記憶される。
【0072】このように計算回路2では、図3および図
4に示すように、13〜20クロックサイクル目にかけ
て、データyy0、yy4、yy2、yy6、yy1、
yy7、yy3およびyy5が出力される。
【0073】上述したように計算回路2によれば、シリ
アルにデータを入出力するかたちでステップS1の計算
を実行することができる。
【0074】計算回路6は、上述した図2に示す計算回
路2と同じ構成であり、制御回路6は、加減算器AS
1、AS2、加算器ADD、減算器SUBおよび乗算器
MPYに対して、並換回路5からのデータを用いてステ
ップS2の計算が実行されるように、制御信号CS1〜
CS12、演算指示信号CS20〜CS24、加算/減
算選択信号CS13、CS14および係数信号S14を
出力する。
【0075】乗算器8は、ステップS3の8×8行列
〔Z〕の各要素Zhkを図5に示す乗算回路MPYの入
力端子T1にシリアルに入力し、各クロックサイクル毎
にステップS3を計算するための適切な値:(1/4)
×ai×ajを乗算回路MPYの係数入力端子T2に入
力することにより、ステップS3の計算を実行し、計算
結果を出力端子からシリアルに出力する。
【0076】上述したように本実施例の2次元8×8D
CT装置1では、計算回路2、並換回路5、計算回路6
および乗算器8は、それぞれシリアルにデータを入力
し、シリアルにデータを出力する。従って、2次元8×
8DCT装置1では、従来の2次元8×8DCT装置1
00のように合計24個のレジスタを含むシリアル/パ
ラレル変換器およびパラレル/シリアル変換器を必要と
せず、R0〜R12の13個のレジスタを含む計算回路
2、6を用いることで、入力データをシリアルデータの
ままで処理することができ、レジスタ数を大幅に低減で
きると共に回路規模をさらに縮小することが可能とな
る。
【0077】第2実施例について説明する。本実施例で
は、前述した従来の2次元8×8IDCT装置130と
同様に下記式(42)を下記ステップS1’〜S3’に
示す手順で実行する2次元8×8IDCT装置30につ
いて説明する。
【0078】
【数42】
【0079】
【数43】
【0080】上記式(42)における行列〔G〕は下記
式(44)で表せる。
【数44】
【0081】また、上記式(42)における行列〔F〕
は下記式(45)のように表せる。
【0082】
【数45】
【0083】さらに、上記式(42)における行列〔G
t 〕および行列〔Ft 〕は、それぞれ行列〔G〕および
行列〔F〕の転置行列であり、それぞれ下記式(46)
および(47)で表せる。
【0084】
【数46】
【0085】
【数47】
【0086】図6は、本実施例の2次元8×8IDCT
装置30の構成図である。2次元8×8IDCT装置3
0は、乗算器32、計算回路34、並換回路36および
計算回路38で構成され、各構成要素はシリアルデータ
を入力し、シリアルデータを出力する。従って、2次元
8×8IDCT装置30では、前述した従来の2次元8
×8IDCT装置130のように合計24個のレジスタ
を含むシリアル/パラレル変換器およびパラレル/シリ
アル変換器を必要とせず、シリアルデータを各構成要素
において後述するようにそまま処理することができ、レ
ジスタ数を大幅に低減できると共に回路規模をさらに縮
小することが可能となる。
【0087】乗算器32は上記ステップS1’の計算を
実行する。計算回路34は上記ステップS2’の計算を
実行する。並換回路36および計算回路38は上記ステ
ップS3’の計算を実行する。
【0088】乗算器32は、ステップS1’の8×8行
列〔C〕の各要素Chkを図5に示す乗算回路MPYの
入力端子T1にシリアルに入力し、各クロックサイクル
毎にステップS1’を計算するための適切な値:(1/
4)×ai×ajを乗算回路MPYの係数入力端子T2
に入力することにより、ステップS1’の計算を実行
し、計算結果を出力端子からシリアルに出力する。
【0089】計算回路34は、前述した2次元8×8D
CT装置1の計算回路2と同一の構成であり、制御回路
6は、加減算器AS1、AS2、加算器ADD、減算器
SUBおよび乗算器MPYに対して、乗算器32からの
データを用いてステップS2’の計算が実行されるよう
に、制御信号CS1〜CS12、演算指示信号CS20
〜CS24、加算/減算選択信号CS13、CS14お
よび係数信号S14を出力する。
【0090】計算回路38は、前述した2次元8×8D
CT装置1の計算回路2と同一の構成であり、制御回路
6は、加減算器AS1、AS2、加算器ADD、減算器
SUBおよび乗算器MPYに対して、並換回路36から
のデータを用いてステップS3’の計算が実行されるよ
うに、制御信号CS1〜CS12、演算指示信号CS2
0〜CS24、加算/減算選択信号CS13、CS14
および係数信号S14を出力する。
【0091】以下、計算回路38を用いてステップS
3’の計算を行う場合について説明する。図7は計算回
路38を用いてステップS3’の計算を行う際のタイミ
ングチャートである。図8は図7の各クロックサイクル
における計算内容を説明するための図である。図7およ
び図8に示されるyy0〜yy7、yp0〜yp7、y
q2〜yq7、yr0〜yr7、ys4〜ys7および
xx1〜xx7は、図15に示されるものと同一であ
る。ここで、yy0〜yy7は、ステップS2’におい
て計算された行列〔Q〕を並換回路36にて列と行とを
並べ替えた行列における、行方向の構成要素で構成され
るベクトルであり、xx0〜xx7はステップS3’に
おいて生成される実空間の行列〔X〕の行方向の構成要
素で構成されるベクトルである。
【0092】1〜8クロックサイクル目:行列データ
〔Y〕が並換回路8の8要素が、yy3、yy5、yy
1、yy7、yy2、yy6、yy0、yy4の順に、
入力端子から入力され、順次、後段のレジスタに出力さ
れる。
【0093】3クロックサイクル目:加減算器AS1に
て、レジスタR0に記憶されたデータyy5と、レジス
タR1に記憶されたデータyy3との加算が実行され、
加算結果yp6がレジスタR3に記憶される。
【0094】4クロックサイクル目:加減算器AS1に
て、レジスタR2に記憶されたデータyy3と、レジス
タR1に記憶されたデータyy5との減算が実行され、
減算結果yp7がレジスタR3に記憶される。また、乗
算器MPYにて、レジスタR3に記憶されたデータyp
6と、係数信号S15に示される係数AA6(=1/
{2×cos(6×π/16)})との乗算が実行さ
れ、乗算結果yq6が5クロックサイクル目の終了時に
レジスタR5に記憶される。
【0095】5クロックサイクル目:加減算器AS1に
て、レジスタR0に記憶されたデータyy7と、レジス
タR1に記憶されたデータyy1との加算が実行され、
加算結果yp4がレジスタR3に記憶される。
【0096】6クロックサイクル目:加減算器AS1に
て、レジスタR2に記憶されたデータyy1と、レジス
タR1に記憶されたデータyy7との減算が実行され、
減算結果yp5がレジスタR3に記憶される。また、乗
算器MPYにて、レジスタR3に記憶されたデータyp
4と、係数信号S15に示される係数AA2(=1/
{2×cos(2×π/16)})との乗算が実行さ
れ、乗算結果yq4が7クロックサイクル目の終了時に
レジスタR5に記憶される。また、加減算器AS2に
て、レジスタR4に記憶されたデータyp7と、レジス
タR5に記憶されたデータyq6との減算が実行され、
減算結果yq7がレジスタR5に記憶される。
【0097】7クロックサイクル目:加減算器AS1に
て、レジスタR0に記憶されたデータyy6と、レジス
タR1に記憶されたデータyy2との加算が実行され、
加算結果yp2がレジスタR3に記憶される。
【0098】8クロックサイクル目:加減算器AS1に
て、レジスタR2に記憶されたデータyy2と、レジス
タR1に記憶されたデータyy6との減算が実行され、
減算結果yp3がレジスタR3に記憶される。また、乗
算器MPYにて、レジスタR3に記憶されたデータyp
2と、係数信号S15に示される係数AA4(=1/
{2×cos(4×π/16)})との乗算が実行さ
れ、乗算結果yq2が9クロックサイクル目の終了時に
レジスタR5に記憶される。また、加減算器AS2に
て、レジスタR4に記憶されたデータyp5と、レジス
タR5に記憶されたデータyq4との減算が実行され、
減算結果yq5がレジスタR5に記憶される。また、加
算器ADDにて、レジスタR5に記憶されたデータyq
4と、レジスタR7に記憶されたデータyq6との加算
が実行され、加算結果yr4がレジスタR8に記憶され
る。さらに、減算器SUBにて、レジスタR5に記憶さ
れたデータyq4と、レジスタR7に記憶されたデータ
yq6との減算が実行され、減算結果yr6がレジスタ
R6に記憶される。
【0099】9クロックサイクル目:加減算器AS1に
て、レジスタR0に記憶されたデータyy4と、レジス
タR1に記憶されたデータyy0との加算が実行され、
加算結果yp0がレジスタR3に記憶される。また、乗
算器MPYにて、レジスタR8に記憶されたデータyr
4と、係数信号S15に示される係数AA4(=1/
{2×cos(4×π/16)})との乗算が実行さ
れ、乗算結果ys4が10クロックサイクル目の終了時
にレジスタR10に記憶される。また、加算器ADDに
て、レジスタR5に記憶されたデータyq5と、レジス
タR7に記憶されたデータyq7との加算が実行され、
加算結果yr5がレジスタR8に記憶される。さらに、
減算器SUBにて、レジスタR5に記憶されたデータy
q5と、レジスタR7に記憶されたデータyq7との減
算が実行され、減算結果yr7がレジスタR6に記憶さ
れる。
【0100】10クロックサイクル目:加減算器AS1
にて、レジスタR2に記憶されたデータyy0と、レジ
スタR1に記憶されたデータyy4との減算が実行さ
れ、減算結果yp1がレジスタR3に記憶される。ま
た、乗算器MPYにて、レジスタR8に記憶されたデー
タyr5と、係数信号S15に示される係数AA4(=
1/{2×cos(4×π/16)})との乗算が実行
され、乗算結果ys4が11クロックサイクル目の終了
時にレジスタR10に記憶される。また、加減算器AS
2にて、レジスタR4に記憶されたデータyp3と、レ
ジスタR5に記憶されたデータyq2との減算が実行さ
れ、減算結果yq3がレジスタR5に記憶される。ま
た、加算器ADDにて、レジスタR3に記憶されたデー
タyp0と、レジスタR5に記憶されたデータyq2と
の加算が実行され、加算結果yr0がレジスタR4に記
憶される。さらに、減算器SUBにて、レジスタR3に
記憶されたデータyp0と、レジスタR5に記憶された
データyq2との減算が実行され、減算結果yr2がレ
ジスタR6に記憶される。
【0101】11クロックサイクル目:加減算器AS2
にて、レジスタR7に記憶されたデータyr7と、レジ
スタR10に記憶されたデータys4との減算が実行さ
れ、減算結果ys7がレジスタR8に記憶される。ま
た、加算器ADDにて、レジスタR3に記憶されたデー
タyp1と、レジスタR5に記憶されたデータyq3と
の加算が実行され、加算結果yr1がレジスタR4に記
憶される。さらに、減算器SUBにて、レジスタR3に
記憶されたデータyp1と、レジスタR5に記憶された
データyq3との減算が実行され、減算結果yr3がレ
ジスタR6に記憶される。
【0102】12クロックサイクル目:加減算器AS2
にて、レジスタR9に記憶されたデータyr6と、レジ
スタR10に記憶されたデータys5との減算が実行さ
れ、減算結果ys6がレジスタR10に記憶される。ま
た、加算器ADDにて、レジスタR5に記憶されたデー
タyr0と、レジスタR11に記憶されたデータys4
との加算が実行され、加算結果xx0がレジスタR12
に記憶される。さらに、減算器SUBにて、レジスタR
5に記憶されたデータyr0と、レジスタR11に記憶
されたデータys4との減算が実行され、減算結果yx
7がレジスタR6に記憶される。
【0103】13クロックサイクル目:加算器ADDに
て、レジスタR5に記憶されたデータyr1と、レジス
タR11に記憶されたデータys5との加算が実行さ
れ、加算結果xx1がレジスタR12に記憶される。ま
た、減算器SUBにて、レジスタR5に記憶されたデー
タyr1と、レジスタR11に記憶されたデータys5
との減算が実行され、減算結果yx6がレジスタR6に
記憶される。
【0104】14クロックサイクル目:加算器ADDに
て、レジスタR8に記憶されたデータyr3と、レジス
タR11に記憶されたデータys6との加算が実行さ
れ、加算結果xx2がレジスタR12に記憶される。ま
た、減算器SUBにて、レジスタR8に記憶されたデー
タyr3と、レジスタR11に記憶されたデータys6
との減算が実行され、減算結果xx5がレジスタR9に
記憶される。
【0105】15クロックサイクル目:加算器ADDに
て、レジスタR10に記憶されたデータyr2と、レジ
スタR11に記憶されたデータys7との加算が実行さ
れ、加算結果xx3がレジスタR12に記憶される。ま
た、減算器SUBにて、レジスタR10に記憶されたデ
ータyr2と、レジスタR11に記憶されたデータys
7との減算が実行され、減算結果xx4がレジスタR1
1に記憶される。
【0106】このように計算回路38では、図7および
図8に示すように、13〜20クロックサイクル目にか
けて、データxx0、xx1、xx2、xx3、xx
4、xx5、xx7およびxx6が出力される。
【0107】上述したように本実施例の2次元8×8I
DCT装置30では、乗算器32、計算回路34、並換
回路36および計算回路38は、それぞれデータをシリ
アルに入力し、データをシリアルに出力する。従って、
2次元8×8IDCT装置30では、従来の2次元8×
8IDCT装置130のように合計24個のレジスタを
含むシリアル/パラレル変換器およびパラレル/シリア
ル変換器を必要とせず、R0〜R12の13個のレジス
タを含む計算回路34、38を用いることで、入力デー
タをシリアルデータのままで処理することができ、レジ
スタ数を大幅に低減できると共に回路規模をさらに縮小
することが可能となる。
【0108】第3実施例について説明する。本実施例で
は、直列的に複数のレジスタが接続されて構成されるパ
イプラインレジスタを、データが順次、後段のレジスタ
に転送されていく過程において、所定の演算器による計
算が実行されるディジタル信号処理装置の一般形である
ディジタル信号処理装置50について説明する。
【0109】図9は、ディジタル信号処理装置50の構
成図である。図9に示すように、ディジタル信号処理装
置50は、パイプラインレジスタ52、バス62および
演算器54、56、58、60で構成される。パイプラ
インレジスタ52は、上述した図2に示すようなレジス
タとセレクタと組み合わせて構成され、各レジスタとバ
ス62とが接続され、入力端子からシリアルに入力され
たデータが順次、後段のレジスタに転送され、この転送
されたデータは最終的に出力端子からシリアルに出力さ
れる。
【0110】バス62には、演算器54〜60が接続さ
れ、図示せぬ制御回路からの制御信号に基づいて、パイ
プラインレジスタ52を構成する各レジスタからのデー
タがバス62を介して、所定の演算器54〜60に供給
され計算が実行される。そして、演算器54〜60の計
算結果は、図示せぬ制御回路からの制御信号に基づい
て、パイプラインレジスタ52の所定のレジスタに出力
される。ディジタル信号処理装置50において、上述し
た2次元8×8DCT装置1と同様に、入力端子からシ
リアルに入力されるデータを用いて所定の計算を実行
し、その計算結果が出力端子からシリアルに出力される
ように、図示せぬ制御回路から所定の制御信号がパイプ
ラインレジスタ52および演算器54〜60に出力され
る。
【0111】本実施例のディジタル信号処理装置50に
よれば、シリアルデータを、多数のレジスタを含むシリ
アル/パラレル変換器およびパラレル/シリアル変換器
を用いることなく、そのまま処理し、処理されたデータ
をシリアルデータとして出力することができるため、レ
ジスタ数を削減することができ、回路規模を縮小するこ
とが可能となる。
【0112】
【発明の効果】本発明の2次元離散コサイン変換装置、
2次元逆離散コサイン変換装置およびディジタル信号処
理装置によれば、入力データおよび出力データとしてシ
リアルデータを用いる場合にも、多数のレジスタを必要
とするシリアル/パラレル変換器およびパラレル/シリ
アル変換器を必要とせず、レジスタ数を削減することが
できる。また、2次元離散コサイン変換装置、2次元逆
離散コサイン変換装置およびディジタル信号処理装置に
よれば、レジスタ数を削減することができる結果、装置
の規模を縮小することが可能となる。
【図面の簡単な説明】
【図1】本発明の第1実施例に係わる2次元離散コサイ
ン変換装置の構成図である。
【図2】図1に示す計算回路の構成図である。
【図3】図2に示す計算回路のタイミングチャートであ
る。
【図4】図2に示す計算回路の各構成要素における各ク
ロックサイクル毎の計算内容を説明するための図であ
る。
【図5】図2に示す計算回路の除算器を説明するための
図である。
【図6】本発明の第2実施例に係わる2次元逆離散コサ
イン変換装置の構成図である。
【図7】第2実施例における図2に示す計算回路のタイ
ミングチャートである。
【図8】第2実施例における図2に示す計算回路の各構
成要素における各クロックサイクル毎の計算内容を説明
するための図である。
【図9】本発明の第3実施例に係わるディジタル信号処
理装置の構成図である。
【図10】従来の2次元8×8DCT装置の構成図であ
る。
【図11】図10に示す計算回路の構成図である。
【図12】図10に示すシリアル/パラレル変換器の構
成図である。
【図13】図10に示すパラレル/シリアル変換器の構
成図である。
【図14】従来の2次元8×8IDCT装置の構成図で
ある。
【図15】図14に示す計算回路の構成図である。
【符号の説明】
1、100・・・2次元8×8DCT装置 2、6、34、38、122、124、133、135
・・・計算回路 4、62・・・バス 5、36、123、134・・・並換回路 6・・・制御回路 8、32、126、131・・・乗算器 52・・・パイプラインレジスタ 54、56、58、60・・・演算器 121・・・シリアル/パラレル変換器 125・・・パラレル/シリアル変換器 R0〜R11、Reg0〜Reg15・・・レジスタ Hold0〜Hold7・・・ホードル回路 S1〜S12、Sel10〜Sel17・・・セレクタ AS1、AS2・・・加減算器 ADD・・・加算器 SUB・・・減算器 MPY・・・乗算器

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】入力行列に対して、少なくとも1の対角成
    分が無理数であり他の各成分が「0」である第1の行列
    と、各成分が無理数、「+1」あるいは「−1」のいず
    れかである第2の行列とに行列分解できる第1の係数行
    列を左側から、 前記第2の行列の転置行列である第3の行列と、前記第
    1の行列の転置行列である第4の行列とに行列分解でき
    る前記第1の係数行列の転置行列である第2の係数行列
    を右側からそれぞれ乗算し、その乗算結果である出力行
    列の各成分を出力する行列データ乗算装置であって、 前記第2の行列と前記入力行列との乗算に相当する所定
    の計算を行う第1の計算回路と、 該第1の計算回路の乗算結果と前記第3の行列との乗算
    に相当する所定の計算を行う第2の計算回路と、 該第2の計算回路の乗算結果に対して、左側から前記第
    1の行列を乗算し右側から前記第4の行列を乗算する計
    算に相当する所定の計算を行う乗算器とを有し、 前記第1の計算回路および前記第2の計算回路は、 直列的に接続された複数の記憶素子と、 該記憶素子から供給されるデータを用いて所定の計算を
    行い、計算結果を所定の前記記憶素子に出力する単数ま
    たは複数の演算器とを有し、 第1段の前記記憶素子からデータをシリアルに入力し、
    該入力したデータをパイプライン方式で順次、後段の記
    憶素子に転送し、該転送過程において前記演算器による
    前記計算を行い、最終段の前記記憶素子から計算結果を
    示すデータをシリアルに出力する2次元離散コサイン変
    換装置。
  2. 【請求項2】前記第1の計算回路の計算結果の列と行と
    を並べ換える並換回路を前記第1の計算回路と前記第2
    の計算回路との間に設けたことを特徴とする請求項1記
    載の2次元離散コサイン変換装置。
  3. 【請求項3】前記第1の計算回路および前記第2の計算
    回路は、それぞれ、2個の加減算器、加算器、減算器お
    よび乗算器を有することを特徴とする請求項1記載の2
    次元離散コサイン変換装置。
  4. 【請求項4】入力行列に対して、少なくとも1の対角成
    分が無理数であり他の各成分が「0」である第1の行列
    と、各成分が無理数、「+1」あるいは「−1」のいず
    れかである第2の行列とに行列分解できる第1の係数行
    列を右側から、 前記第2の行列の転置行列である第3の行列と、前記第
    1の行列の転置行列である第4の行列とに行列分解でき
    る前記第1の係数行列の転置行列である第2の係数行列
    を左側からそれぞれ乗算し、その乗算結果である出力行
    列の各成分を出力する行列データ乗算装置であって、 前記入力行列に対して、左側から前記第4の行列を乗算
    し右側から前記第1の行列を乗算する計算に相当する計
    算を行う乗算器と該乗算器と前記第2の行列の乗算に相
    当する計算を行う第1の計算回路と、 前記第3の行列と前記第1の計算回路の前記乗算結果と
    の乗算に相当する計算を行う第2の計算回路と、 を有し、 前記第1の計算回路および前記第2の計算回路は、 直列的に接続された複数の記憶素子と、 該記憶素子から供給されるデータを用いて所定の計算を
    行い、計算結果を所定の前記記憶素子に出力する単数ま
    たは複数の演算器とを有し、 第1段の前記記憶素子からデータをシリアルに入力し、
    該入力したデータをパイプライン方式で順次、後段の記
    憶素子に転送し、該転送過程において前記演算器による
    前記計算を行い、最終段の前記記憶素子から計算結果を
    示すデータをシリアルに出力する2次元逆離散コサイン
    変換装置。
  5. 【請求項5】前記第1の計算回路の計算結果の列と行と
    を並べ換える並換回路を前記第1の計算回路と前記第2
    の計算回路との間に設けたことを特徴とする請求項2記
    載の2次元逆離散コサイン変換装置。
  6. 【請求項6】前記第1の計算回路および前記第2の計算
    回路は、それぞれ、2個の加減算器、加算器、減算器お
    よび乗算器を有することを特徴とする請求項2記載の2
    次元逆離散コサイン変換装置。
  7. 【請求項7】直列的に接続された複数の記憶素子と、 該記憶素子から供給されるデータを用いて所定の計算を
    行い、計算結果を所定の前記記憶素子に出力する単数ま
    たは複数の演算器とを有し、 第1段の前記記憶素子からデータをシリアルに入力し、
    該入力したデータをパイプライン方式で順次、後段の記
    憶素子に転送し、該転送過程において前記演算器による
    前記計算を行い、最終段の前記記憶素子から計算結果を
    示すデータをシリアルに出力することを特徴とするディ
    ジタル信号処理装置。
  8. 【請求項8】前記所定の計算は、離散コサイン変換また
    は逆離散コサイン変換であることを特徴とする請求項7
    記載のディジタル信号処理装置。
  9. 【請求項9】8×8の実空間の画像行列データ〔X〕を
    8×8の周波数空間の行列データ〔C〕に2次元離散コ
    サイン変換する下記2次元離散コサイン変換式(1) 【数1】 における、 〔W〕が下記行列式(2)で定義され、 【数2】 〔M〕が下記行列式(3)で定義され、 【数3】 〔W〕の転置行列である〔Wt 〕が下記行列式(4)で
    定義され、 【数4】 〔M〕の転置行列である〔Mt 〕が下記行列式(5)で
    定義されるとき、 【数5】 上記2次元離散コサイン変換式(1)の計算を、 第1ステップにおいて、画像データ〔X〕の要素をシリ
    アルにパイプライン方式で順次、後段の記憶素子に転送
    して、該転送過程において下記式(6)に相当する計算
    を行い、その計算結果〔Y〕をシリアルに算出し、 【数6】 第2ステップにおいて、上記第1ステップの計算結果
    〔Y〕をシリアルにパイプライン方式で順次、後段の記
    憶素子に転送して、該転送過程において下記式(7)に
    相当する計算を行い、その計算結果〔Z〕をシリアルに
    算出し、 【数7】 第3ステップにおいて、上記第2ステップの計算結果
    〔Z〕を用いて、下記式(8)に相当する乗算を行い、
    乗算結果である前記〔C〕をシリアルに算出し 【数8】 て行うことを特徴とする2次元離散コサイン変換処理方
    法。
  10. 【請求項10】8×8周波数空間の行列データ〔C〕を
    8×8の実空間の画像行列データ〔X〕に2次元逆離散
    コサイン変換する下記2次元逆離散コサイン変換式
    (9) 【数9】 における、 〔F〕が下記行列式(10)で定義され、 【数10】 〔G〕が下記行列式(11)で定義され、 【数11】 〔F〕の転置行列である〔Ft 〕が下記行列式(12)
    で定義され、 【数12】 〔G〕の転置行列である〔Gt 〕が下記行列式(13)
    で定義されるとき、 【数13】 上記2次元逆離散コサイン変換式(9)の計算を、 第1ステップにおいて、周波数上のデータである前記
    〔C〕の要素を用いて、下記式(14)に相当する乗算
    を行い、その乗算結果〔P〕をシリアルに算出し、 【数14】 第2ステップにおいて、前記ステップ1の乗算結果
    〔P〕の要素をシリアルにパイプライン方式で順次、後
    段の記憶素子に転送して、該転送過程において下記式
    (15)に相当する計算を行い、その計算結果〔Q〕を
    シリアルに算出し、 【数15】 第3ステップにおいて、上記第2ステップの計算結果
    〔Q〕をシリアルにパイプライン方式で順次、後段の記
    憶素子に転送して、該転送過程において下記式(16)
    に相当する計算を行い、計算結果である前記〔X〕をシ
    リアルに算出し 【数16】 て行うことを特徴とする2次元逆離散コサイン変換処理
    方法。
JP23852693A 1993-09-24 1993-09-24 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置 Expired - Lifetime JP3697717B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP23852693A JP3697717B2 (ja) 1993-09-24 1993-09-24 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置
KR1019940023780A KR100311251B1 (ko) 1993-09-24 1994-09-17 2차원이산코사인변환장치,2차원역이산코사인변환장치및디지탈신호처리장치
US08/310,342 US5590066A (en) 1993-09-24 1994-09-22 Two-dimensional discrete cosine transformation system, two-dimensional inverse discrete cosine transformation system, and digital signal processing apparatus using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23852693A JP3697717B2 (ja) 1993-09-24 1993-09-24 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置

Publications (2)

Publication Number Publication Date
JPH0793294A true JPH0793294A (ja) 1995-04-07
JP3697717B2 JP3697717B2 (ja) 2005-09-21

Family

ID=17031571

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23852693A Expired - Lifetime JP3697717B2 (ja) 1993-09-24 1993-09-24 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置

Country Status (3)

Country Link
US (1) US5590066A (ja)
JP (1) JP3697717B2 (ja)
KR (1) KR100311251B1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825676A (en) * 1994-09-30 1998-10-20 Canon Kabushiki Kaisha Orthogonal converting apparatus
JP3025750B2 (ja) * 1994-11-30 2000-03-27 三洋電機株式会社 離散コサイン変換回路,離散コサイン逆変換回路,mpegビデオエンコーダ,mpegビデオデコーダ
JP2914226B2 (ja) * 1995-06-16 1999-06-28 日本電気株式会社 可逆変換を可能にするディジタル信号の変換符号化方式
JP3274593B2 (ja) * 1995-09-27 2002-04-15 日本電気株式会社 可逆変換可能な変換装置及び逆変換装置
US5754456A (en) * 1996-03-05 1998-05-19 Intel Corporation Computer system performing an inverse cosine transfer function for use with multimedia information
US5754457A (en) * 1996-03-05 1998-05-19 Intel Corporation Method for performing an inverse cosine transfer function for use with multimedia information
JP3129398B2 (ja) * 1997-01-08 2001-01-29 日本電気株式会社 8点×8点2次元逆離散コサイン変換回路およびそれを実現するマイクロプロセッサ
US6134270A (en) * 1997-06-13 2000-10-17 Sun Microsystems, Inc. Scaled forward and inverse discrete cosine transform and video compression/decompression systems employing the same
US6504871B1 (en) * 1997-07-31 2003-01-07 Lsi Logic Corporation IDCT processor for use in decoding MPEG compliant video bitstreams meeting 2-frame and letterboxing requirements
TW364269B (en) * 1998-01-02 1999-07-11 Winbond Electronic Corp Discreet cosine transform/inverse discreet cosine transform circuit
US6243730B1 (en) 1999-05-04 2001-06-05 Sony Electronics, Inc. Methods and systems for performing short integer chen IDCT algorithm with fused multiply/add
US6625721B1 (en) * 1999-07-26 2003-09-23 Intel Corporation Registers for 2-D matrix processing
US6421696B1 (en) 1999-08-17 2002-07-16 Advanced Micro Devices, Inc. System and method for high speed execution of Fast Fourier Transforms utilizing SIMD instructions on a general purpose processor
JP3934290B2 (ja) * 1999-09-30 2007-06-20 株式会社東芝 離散コサイン変換処理装置、逆離散コサイン変換処理装置及び離散コサイン変換処理装置・逆離散コサイン変換処理装置
US6832232B1 (en) 2000-07-10 2004-12-14 Advanced Micro Devices, Inc. Dual-block inverse discrete cosine transform method
US6742010B1 (en) 2000-07-10 2004-05-25 Advanced Micro Devices, Inc. Dual-block discrete consine transform method
US6973469B1 (en) 2001-02-01 2005-12-06 Advanced Micro Devices, Inc. Two-dimensional discrete cosine transform using SIMD instructions
JP4459470B2 (ja) * 2001-04-06 2010-04-28 信越化学工業株式会社 電子部品の放熱構造体及びそれに用いる放熱シート
JP3971135B2 (ja) * 2001-07-11 2007-09-05 株式会社テクノマセマティカル Dct行列分解方法及びdct装置
US6882685B2 (en) * 2001-09-18 2005-04-19 Microsoft Corporation Block transform and quantization for image and video coding
US7460993B2 (en) * 2001-12-14 2008-12-02 Microsoft Corporation Adaptive window-size selection in transform coding
US7242713B2 (en) * 2002-05-02 2007-07-10 Microsoft Corporation 2-D transforms for image and video coding
US7487193B2 (en) * 2004-05-14 2009-02-03 Microsoft Corporation Fast video codec transform implementations
CN100448293C (zh) * 2005-02-03 2008-12-31 联想(北京)有限公司 一种二维离散余弦变换装置及方法
US7546240B2 (en) * 2005-07-15 2009-06-09 Microsoft Corporation Coding with improved time resolution for selected segments via adaptive block transformation of a group of samples from a subband decomposition
US7689052B2 (en) * 2005-10-07 2010-03-30 Microsoft Corporation Multimedia signal processing using fixed-point approximations of linear transforms
US8942289B2 (en) * 2007-02-21 2015-01-27 Microsoft Corporation Computational complexity and precision control in transform-based digital media codec
US7761290B2 (en) 2007-06-15 2010-07-20 Microsoft Corporation Flexible frequency and time partitioning in perceptual transform coding of audio

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2608808B1 (fr) * 1986-12-22 1989-04-28 Efcis Circuit integre de traitement numerique de signaux
EP0366435B1 (en) * 1988-10-27 1998-12-23 Matsushita Electric Industrial Co., Ltd. Orthogonal and inverse orthogonal transform apparatus
US5163103A (en) * 1988-12-27 1992-11-10 Kabushiki Kaisha Toshiba Discrete cosine transforming apparatus
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
US5420811A (en) * 1992-08-26 1995-05-30 Sony Corporation Simple quick image processing apparatus for performing a discrete cosine transformation or an inverse discrete cosine transformation

Also Published As

Publication number Publication date
US5590066A (en) 1996-12-31
KR100311251B1 (ko) 2001-12-15
KR950009472A (ko) 1995-04-24
JP3697717B2 (ja) 2005-09-21

Similar Documents

Publication Publication Date Title
JP3697717B2 (ja) 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置
JP2646778B2 (ja) ディジタル信号処理装置
US4385363A (en) Discrete cosine transformer
US20070094320A1 (en) Parallel Adder-Based DCT / IDCT Design Using Cyclic Convolution
JPH06103301A (ja) 8x8離散コサイン変換回路および8x8離散コサイン逆変換回路
JPH04242861A (ja) 内積演算回路
JP6357345B2 (ja) ビデオデータ処理時に空間領域と周波数領域との間の変換を実行するためのデータ処理装置および方法
JP2870756B2 (ja) 空間フィルタ画像処理装置
JP2964172B2 (ja) Dctマトリクス演算回路
JPH05181896A (ja) 離散コサイン変換処理装置
US5999958A (en) Device for computing discrete cosine transform and inverse discrete cosine transform
JP2822684B2 (ja) 離散コサイン変換装置および逆離散コサイン変換装置
JP2646844B2 (ja) 離散コサイン変換装置
JP3155383B2 (ja) 2モード処理装置、2次元変換装置及び静止画像データの圧縮システム
JP3684314B2 (ja) 複素乗算器および複素相関器
JP3697716B2 (ja) 行列データ乗算装置
JPH0540776A (ja) 二次元dctマトリクス演算回路
JPH0644291A (ja) 離散コサイン変換器及び情報符号化器
KR0152802B1 (ko) 영상 압축장치의 역이산 코사인 변환방법 및 장치
JP3547567B2 (ja) 離散コサイン変換器
JP2869668B2 (ja) ディジタルデータの離散フーリエ又はコサイン変換装置
JP3697720B2 (ja) デジタルシグナルプロセッサ装置
JPH06195369A (ja) 高速アルゴリズム離散コサイン変換器/逆変換器
JP2696903B2 (ja) 数値計算装置
JP2945013B2 (ja) 空間フイルタ画像処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040831

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050627

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

Free format text: PAYMENT UNTIL: 20090715

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090715

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100715

Year of fee payment: 5