JPH09153030A - 二次元離散コサイン変換回路 - Google Patents

二次元離散コサイン変換回路

Info

Publication number
JPH09153030A
JPH09153030A JP31197795A JP31197795A JPH09153030A JP H09153030 A JPH09153030 A JP H09153030A JP 31197795 A JP31197795 A JP 31197795A JP 31197795 A JP31197795 A JP 31197795A JP H09153030 A JPH09153030 A JP H09153030A
Authority
JP
Japan
Prior art keywords
dimensional
data
input
discrete cosine
cosine transform
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.)
Withdrawn
Application number
JP31197795A
Other languages
English (en)
Inventor
Eiji Komoto
英治 湖本
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP31197795A priority Critical patent/JPH09153030A/ja
Publication of JPH09153030A publication Critical patent/JPH09153030A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

(57)【要約】 【課題】 小さい構成面積の二次元DCT(離散コサイ
ン変換)回路を実現する。 【解決手段】 入力データDinは入力データRAM40
で格納され、選択器50の選択により、一次元目のDC
T演算に必要なデータが一次元DCT演算器60に与え
られる。DCT演算器60は内部に有した入力レジスタ
に記憶したデータを用いて一次元目のDCT演算を行
い、結果のデータD60を転置用RAM70に書込む。
二次元目のDCT演算を行う場合、転置用RAM70か
ら転置されて読出されたデータD70が、選択器50の
選択により、一次元DCT演算器60に与えられる。一
次元DCT演算器60はこのとき与えられたデータを用
いて二次元目のDCT演算を行い、最終的な演算結果D
60* が得られる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像符号化/復号
化のアルゴリズムに用いられる二次元離散コサイン変換
(以下、DCTという)回路に関するものである。
【0002】
【従来の技術】従来、このような分野の技術しては、例
えば次のような文献に記載されるものがあった。 文献;電子情報通信学会論文集[ICD91−109]
(1991)井上他、 “100MHz 2次元DCTコアLSI” 図2は、従来の二次元DCT回路を示す回路図である。
二次元DCT回路は、一次元目の一次元DCT演算(以
下、単にDCT演算という)を行う一次元DCT演算器
10と、一次元DCT演算器10の出力データD10を
格納する転置用RAM(ランダムアクセスメモリ)20
と、転置用RAM20の出力データD20に対して二次
元目のDCT演算を行う一次元DCT演算器30とを備
えている。入力データDinが一次元DCT演算器10に
入力され、一次元DCT演算器30から二次元DCTさ
れた出力データD30* が出力される構成である。一次
元DCT演算器10により、入力データDinに対する一
次元目のDCT演算が行われ、演算の結果、変換された
データD10が転置用RAM20に順に与えられる。転
置用RAM20はそのデータD10を格納する。格納し
たデータD10の個数が、2次元目のDCT演算を実行
する一次元DCT演算器30に供給できる個数になる
と、それらが入力順とは異なる転置された順で転置用R
AM20からデータD20として読出され、一次元DC
T演算器30に供給される。一次元DCT演算器30は
D20に対するDCT演算を行い、出力データD30*
を順に出力する。即ち、2個の一次元DCT演算器1
0,30が、それぞれ一次元のDCT演算を行うこと
で、二次元DCT演算が完結する。
【0003】図3は、図2中の一次元DCT演算器を示
す回路図である。一次元DCT演算器10は、入力レジ
スタ11を有している。入力レジスタ11の出力側は演
算入力レジスタ12に接続され、この演算入力レジスタ
12の出力側が、演算器13の入力側に接続されてい
る。演算器13の出力側は、アキュームレータ14に接
続されている。アキュームレータ14の出力側は、演算
器13の入力側に接続されると共に、出力レジスタ15
に接続されている。一次元DCT演算器30も、同様の
構成である。各一次元DCT演算器10または30に入
力されたデータDinまたはD10は、入力レジスタ11
に順次記憶される。入力レジスタ11の記憶データの個
数が、ある一定の数の例えば8個になると、それら記憶
されたデータは、演算入力レジスタ12に転送される。
演算入力レジスタ12は、転送された8個のデータを記
憶する。演算入力レジスタ12の記憶データは、一定回
数の例えば8回の演算処理が終了するまで有効となって
いる。演算入力レジスタ12の出力するデータは、演算
中、継続的に演算器13に入力され、その間、演算器1
3は積和演算を行う。積和演算の結果、つまり演算器1
3の出力データは、アキュームレータ14に一時的に記
憶され、アキュームレータ14の出力データは、演算期
間中、演算入力レジスタ12の出力データと同様、演算
器13の入力側に常に入力され、それが積和演算の項に
なる。演算が終了すると、最終結果がアキュームレータ
14に記憶されていることになるので、そのアキューム
レータ14の出力データは、出力レジスタ15に一次的
に保持され、さらにデータD10またはD30* として
外部へ出力される。即ち、パイプライン方式でデータが
順次演算されていくのである。
【0004】
【発明が解決しようとする課題】しかしながら、従来の
二次元DCT回路では、次のような課題があった。積和
演算を行う各一次元DCT演算器10,30の回路規模
は大きい。そのため、これを2つ個別に配置した二次元
DCT回路では、全体の回路規模が大きくなると共に、
消費電力も大きくなる。
【0005】
【課題を解決するための手段】第1の発明は、前記課題
を解決するために、順次入力される入力データ列に対し
て一次元目のDCT演算を行い、該一次元目のDCT演
算結果に対して二次元目のDCT演算を行い、該各入力
データ列に対する二次元DCTをそれぞれ施す二次元D
CT回路において、次のような構成にしている。即ち、
この第1の発明の二次元DCT回路は、順次入力される
入力データを格納する入力データメモリと、与えられた
複数のデータを一時的に保持する入力レジスタを有し、
該入力レジスタに保持した複数のデータを用いて前記D
CT演算を行う一次元DCT演算器と、前記DCT演算
の結果を格納する転置用メモリと、前記入力データメモ
リの出力データまたは前記転置用メモリの出力データを
選択して前記入力レジスタに転送する選択手段とを備え
ている。そして、前記一次元DCT演算器は、前記選択
手段を介して前記入力レジスタに与えられた前記入力デ
ータメモリからの複数の前記入力データを用いて前記一
次元目のDCT演算を行い、その演算結果を前記転置用
メモリに与え、前記選択手段を介して前記入力レジスタ
に与えられた前記転置用メモリから転置されて読出され
た複数のデータを用いて前記二次元目のDCT演算を行
う構成にしている。
【0006】第2の発明は、順次入力される入力データ
列に対して一次元目のDCT演算を行い、該一次元目の
DCT演算結果に対して二次元目のDCT演算を行い、
該各入力データ列に対する二次元DCTをそれぞれ施す
二次元DCT回路において、次のような構成にしてい
る。即ち、第2の発明の二次元DCT回路は、与えられ
た複数のデータを一時的に保持する入力レジスタを有
し、該入力レジスタに保持した複数のデータを用いて前
記DCT演算を行う一次元DCT演算器と、第1の期間
に出力される前記一次元DCT演算器の出力データを記
憶する第1の転置用メモリと、前記第1の期間とは異な
る第2の期間に出力される前記一次元DCT演算器の出
力データを記憶する第2の転置用メモリと、前記第1の
転置用メモリから転置して読出されたデータまたは前記
第2の転置用メモリから転置して読出されたデータを選
択して出力する第1の選択手段と、前記入力データまた
は前記第1の選択手段の出力データを選択して前記一次
元DCT演算器中の入力レジスタに転送する第2の選択
手段とを備えている。そして、前記一次元DCT演算器
は、前記第2の選択手段を介して前記入力レジスタに与
えられた複数の前記入力データを用いて前記一次元目の
DCT演算を行い、該一次元目のDCT演算結果を前記
第1または第2の転置用メモリに与え、前記第2の選択
手段を介して該入力レジスタに与えられた前記第1の選
択手段の複数の出力データを用いて前記二次元目のDC
T演算を行う構成にしている。第3の発明は、順次入力
される入力データ列に対して一次元目のDCT演算を行
い、該一次元目のDCT演算結果に対して二次元目のD
CT演算を行い、該各入力データ列に対する二次元DC
Tをそれぞれ施す二次元DCT回路において、次のよう
な構成にしている。
【0007】即ち、第3の発明の二次元DCT回路は、
複数の前記入力データを一時的に保持する一次元入力レ
ジスタと、前記一次元入力レジスタから転送された複数
の前記入力データを一時的に記憶する一次元演算レジス
タと、前記DCT演算を行うために累積演算を行う2入
力の演算器と、前記演算器の累積演算結果を一時的に記
憶する一次元アキュームレータと、前記演算器の累積演
算結果のうち前記一次元アキュームレータとは異なる累
積演算結果を一時的に記憶する二次元アキュームレータ
と、前記一次元アキュームレータまたは前記二次元アキ
ュームレータの出力データを選択して前記演算器の一方
の入力端子に転送する第1の選択手段と、前記一次元ア
キュームレータの出力データを一時的に保持する一次元
出力レジスタと、前記二次元アキュームレータの出力デ
ータを一時的に保持する二次元出力レジスタと、前記一
次元出力レジスタの出力データを前記一次元目のDCT
演算結果として記憶する転置用メモリと、前記転置用メ
モリから転置して読出された複数の一次元目のDCT演
算結果のデータを一時的に保持する二次元入力レジスタ
と、前記二次元入力レジスタから転送された複数の一次
元目のDCT演算結果のデータを一時的に記憶する二次
元演算レジスタと、前記一次元演算レジスタの出力デー
タまたは前記二次元演算レジスタの出力データを選択し
て、前記演算器の他方の入力端子に転送する第2の選択
手段とを備えている。そして、前記演算器は、一次元演
算レジスタまたは二次元演算レジスタから与えられたデ
ータと前記第1の選択手段から与えられたデータを用い
た前記累積演算を繰り返すことで、前記一次元目のDC
T演算と前記二次元目のDCT演算を行う構成とてい
る。
【0008】第1の発明によれば、以上のように二次元
DCT回路を構成したので、順次入力される入力データ
は入力データメモリに格納される。一次元目のDCT演
算を行う場合、その入力データメモリに格納されたデー
タのうち必要量のデータが、選択手段の選択により、入
力レジスタに与えられる。一次元DCT演算器が、入力
レジスタに記憶された複数のデータを用いて一次元目の
DCT演算を行う。この一次元目の演算結果は転置用メ
モリに順に格納される。二次元目のDCT演算を行う場
合、転置用メモリの記憶したデータが転置して読出さ
れ、この読出されたデータが、選択手段の選択により、
入力レジスタに与えられる。そして、一次元DCT演算
器は、入力レジスタに記憶された複数のデータを用いて
二次元目のDCT演算を行う。その結果、入力データ列
に対する二次元DCTが施される。第2の発明によれ
ば、一次元目のDCT演算を行うとき、第2の選択手段
の選択によって、複数の入力データが入力レジスタに与
えられて保持される。入力レジスタに保持した複数のデ
ータを用いて一次元DCT演算器が一次元目のDCT演
算を行う。一次元DCT演算器の出力データは、第1ま
たは第2の転置用メモリに書込まれて記憶される。第1
または第2の転置用メモリに記憶される一次元目のDC
T演算結果は、例えば入力データ列毎に交互に書込まれ
る。第1の転置用メモリから転置して読出されたデータ
または第2の転置用メモリから転置して読出されたデー
タは、第1の選択手段によって選択され、第2の選択手
段に転送される。二次元目のDCT演算を行とき、第2
の選択手段が第1の選択手段の出力データを選択するの
で、第1の転置用メモリから転置して読出されたデータ
または第2の転置用メモリから転置して読出されたデー
タが、入力レジスタに与えられて保持される。入力レジ
スタに保持した複数のデータを用いて一次元DCT演算
器が二次元目のDCT演算を行う。その結果、入力デー
タ列に対する二次元DCTが施される。
【0009】第3の発明によれば、複数の入力データは
一時的に一次元入力レジスタに保持される。それが適当
数たまったときに一次元演算レジスタに転送され、一時
的に記憶される。一方、二次元入力レジスタには転置用
メモリから一次元目のDCT演算結果のデータが与えら
れることになり、それが適当数たまったときに二次元演
算レジスタに転送され、一時的に記憶される。第2の選
択手段は、一次元演算レジスタまたは二次元演算レジス
タの出力データを例えば交互に選択して演算器に与え
る。演算器は、一次現目と二次元目のDCT演算を行う
ため、一次元演算レジスタまたは二次元演算レジスタか
ら与えられたデータと第1の選択手段から与えられたデ
ータを用いた累積演算を繰り返し行う。第1の選択手段
は、演算器の出力データを記憶する一次元アキュームレ
ータの出力データと二次元アキュームレータの出力デー
タとを交互に選択して演算器に転送する。つまり、一次
元目のDCT演算のための累積演算を行う場合、一次元
演算レジスタから与えられたデータと第1の選択手段か
ら与えられた一次元アキュームレータの出力データの累
積演算が行われ、二次元目のDCT演算のための累積演
算を行う場合、二次元演算レジスタから与えられたデー
タと第1の選択手段から与えられた二次元アキュームレ
ータの出力データの累積演算が行われる。演算器の出力
データは一次元アキュームレータと二次元アキュームレ
ータに対して交互に与えられる。累積演算が繰り返され
ることにより、一次元アキュームレータ上には、一次元
目のDCT演算結果が生成されるので、それが一次元出
力レジスタを介して転置用メモリに格納される。二次元
アキュームレータ上には、二次元目のDCT演算結果が
生成されるので、それが二次元出力レジスタを介して外
部に出力される。従って、前記課題を解決できるのであ
る。
【0010】
【発明の実施の形態】第1の実施形態 図1は、本発明の第1の実施形態を示す二次元DCT回
路の回路図である。この二次元DCT回路は、順次入力
される入力データDinを格納する入力データRAM40
を備えている。入力データRAM40の出力側は、選択
手段である2入力の選択器50の一方の入力端子に接続
され、この選択器50の出力側に一次元DCT演算器6
0が接続されている。一次元DCT演算器60の出力側
には、転置用RAM70にいくルートaと外部に二次元
DCT結果を出力するためのルートbとが形成されてい
る。転置用RAM70の出力側が、選択器50の他方の
入力端子に接続されている。即ち、選択器50は、入力
RAM40の出力データまたは転置用RAM70の出力
データを選択出力する構成である。図4は、図1中の一
次元DCT演算器を示す回路図である。一次元DCT演
算器60は、従来の一次元DCT演算器10,30と同
様の構成であり、入力レジスタ61を有している。入力
レジスタ61の出力側は演算入力レジスタ62に接続さ
れ、この演算入力レジスタ62の出力側が、演算器63
の入力側に接続されている。演算器63の出力側は、ア
キュームレータ64に接続されている。アキュームレー
タ64の出力側は、演算器63の入力側に接続されると
共に、出力レジスタ65に接続されている。次に、図1
の二次元DCT演算回路の動作を説明する。
【0011】順次入力される入力データDinは、入力デ
ータRAM40に書込まれて記憶される。後段の各部で
一次元DCT演算を行うのに十分な個数の入力データD
inが記憶されると、記憶されたデータDinは、書き込み
順と同じ順に読出されて選択器50に与えられる。この
とき、選択器50の選択出力するデータは、入力データ
RAM40の出力データであり、入力データDinが選択
器50を介して一次元RAM60に転送される。一次元
RAM60では、入力データDinを入力レジスタ61に
一時的に保持し、従来と同様に一次元DCT演算を行
う。その間、入力データRAM40には、次の一次元D
CT演算を行なうための入力データDinが、順に書込ま
れていく。この段階で一次元DCT演算器60の順次出
力するデータD60は一次元目のDCT演算の結果であ
るので、データD60がルートaを介して転置用RAM
70に転送されて書込まれる。二次元目のDCT演算を
行なうために必要な個数のデータが転置用RAM70に
書込まれると、それらがデータD70として読出され
る。データD70は、書込まれたデータD60を転置し
て読出したものである。転置用RAM70から読出され
たデータD70は、順次選択器50へ出力される。この
とき選択器50は、転置用RAM70の出力データD7
0を選択出力するように設定される。そのため、選択器
50の出力データは、転置用RAM70から読出された
データD70であり、一次元目のDCT演算の結果が一
次元DCT演算器60中の入力レジスタ61に入力され
ることになる。そして、一次元DCT演算器60は、入
力レジスタ61の保持するデータを用いて、二次元目の
DCT演算を行う。二次元目のDCT演算結果のデータ
D60* が、一次元DCT演算器60から出力され、デ
ータD60* がルートbを介して二次元DCT演算回路
の外部へ出力される。即ち、入力データDinは、入力デ
ータRAM40から一次元DCT演算器60に与えら
れ、一次元DCT演算器60が一次元目のDCT演算を
行った結果のデータD60が転置用RAM70を介して
再び一次元DCT演算器60に与えられ、一次元DCT
演算器60で二次元目のDCT演算が行われる。二次元
目のDCT演算結果のデータD60* が外部に出力され
る。
【0012】図5は、図1のパイプライン動作を説明す
る図である。この図5において、記号“In”は、一次
元DCT演算器60中の入力レジスタ61への8個の入
力データDinの転送を意味している。記号“Ex”は、
8個の入力データDinが一次元DCT演算器60によっ
て演算され、その結果が転置用RAM70に書き込み終
わるまでのシーケンスを意味している。本実施形態の二
次元DCT回路は、パイプライン方式で動作するので、
二次元DCT演算を実行するひとまとまりのデータ列に
対して二次元DCT演算を実行している間に、入力デー
タRAM40に次のひとまとまりのデータ列が記憶され
るように制御すると、最も効率よく二次元DCT演算を
行うことができる。入力データDinの1番目のデータ列
は、例えば64個のデータで構成されている。図1の二
次元DCT回路は、それを8回に別けて、8個ずつ演算
を行なう。図5に示すように、一次元DCT演算器60
中の入力レジスタ61へのデータ転送は、一つ前の8個
のデータが演算されている期間に行われて完了する。こ
れを連続的に実行することで、パイプライン処理を実現
できる。以上のように、この第1の実施形態では、入力
データRAM40と選択器50を備え、一次元DCT演
算器60に一次元目のDCT演算と二次元目のDCT演
算の両方を行わせる構成にしているので、二次元DCT
回路で、最も大規模であるDCT演算器を1個にするこ
とができる。よって、二次元DCT回路の構成面積を小
さくできると共に、消費電力を少なくできる。また、二
次元DCT回路に対する制御も単純であり、既存のハー
ドウエアの組合せで実現できるので、設計も容易であ
る。
【0013】第2の実施形態 図6は、本発明の第2の実施形態を示す二次元DCT回
路の回路図である。この二次元DCT回路は、入力デー
タDinを一方の入力端子から入力する2入力の選択器8
0と、選択器80の出力側に接続された一次元DCT演
算器90を備えている。一次元DCT演算器90の内部
構造は、第1の実施形態の一次元DCT演算器60と同
じである。一次元DCT演算器90の出力側には、該一
次元DCT演算器90の出力データを第1の転置用RA
M100−1に入力するルートcと、第2の転置用RA
M100−2に入力するルートdと、外部に出力するル
ートeとが形成されている。転置用RAM100−1の
出力側と、転置用RAM100−2の出力側は、2入力
選択器110の2つの入力端子にそれぞれ接続されてい
る。選択器110の出力側が、選択器80の他方の入力
端子に接続されている。つまり、選択器110は、2個
の転置用RAM100−1,100−2の出力データを
選択出力する第1の選択手段を構成する。選択器80
は、入力データまたは選択器110の出力するデータを
選択して、一次元DCT演算器90内の入力レジスタ6
1に与える第2の選択手段を構成している。図7は、図
6の二次元DCT回路におけるパイプライン処理を説明
する図であり、この図7を参照しつつ、図6の二次元D
CT回路の動作を説明する。
【0014】図7において、記号“In”は、一次元D
CT演算器90中の入力レジスタ61への例えば8個の
入力データDinの転送を意味している。記号“Ex”
は、8個の入力データDinが一次元DCT演算器90に
よって演算され、その結果が転置用RAM100−1ま
たは100−2に書き込み終わるまでのシーケンスを意
味している。入力データDinの入力が開始されると、入
力データDinは、選択器80を介して一次元DCT演算
器90中の入力レジスタ61に順次与えられる。入力レ
ジスタ61は与えられた8個の入力データを一時的に保
存し、一次元DCT演算器90は、その8個のデータに
対して一次元目のDCT演算を行なう。図6の二次元D
CT回路においても、例えば64個の入力データ列を8
個ずつ8回に分けてDCT演算を行なう。このように、
従来或いは第1の実施形態と同様の動作で、まず1番目
の入力データ列について、一次元目のDCT演算を行な
う。1番目の入力データ列についての一次元DCT演算
器90の出力データD90−1は、ルートcを介して転
置用RAM100−1に順次書込まれる。1番目の入力
データ列に対する演算が終了すると、一次元DCT演算
器90は、2番目の入力データ列についてのDCT演算
を行う。転置用RAM100−1は、出力データD90
−1を記憶しているので、2番目の入力データ列に対す
る一次元DCT演算器90の出力データD90−2は、
ルートdを介して転置用RAM100−2に順次書込ま
れて記憶される。2番目の入力データ列に対する一次元
目のDCT演算が終了した段階で、転置用RAM100
−1に格納されている一次元目のDCT演算結果のデー
タD90−1が転置されて読出され、二次元目のDCT
演算の入力データとして選択器110で選択されて、選
択器80に与えられる。選択器80は、その選択器11
0からのデータを選択し、それを一次元DCT演算器9
0中の入力レジスタ61に転送する。
【0015】一次元DCT演算器90は、入力レジスタ
に保持された一次元目のDCT演算結果に対して二次元
目のDCT演算を行い、二次元目のDCT演算結果のデ
ータD90* を最終的な出力データとしてルートeを介
して出力する。これにより、1番目の入力データ列に対
する二次元DCT演算が終了する。これ以降も同様なパ
イプラインシーケンスを用いることで、一次元DCT演
算器90を効率的に活用して順次二次元DCT演算結果
データD90* を出力する。この二次元DCT回路で
は、1番目の入力データ列に対して一次元目のDCT演
算を行った後、間を開けずに2番目の入力データ列の一
次元目のDCT演算を開始する。1番目の入力データ列
に対する二次元目のDCT演算は、2番目の入力データ
列の一次元目のDCT演算が終了した後に実行される。
即ち、次の(1)から(6)に示す手順で演算が行われ
る。
【0016】(1)1番目の入力データ列に対する一次
元目のDCT演算を行い、結果を転置用RAM100−
1に書込む。 (2)2番目の入力データ列に対する一次元目のDCT
演算を行い、結果を転置用RAM100−2に書込む。 (3)転置用RAM100−1に書込まれたデータを用
いて、1番目の入力データ列に対する二次元目のDCT
演算を行い、その結果を外部に出力する。転置用RAM
100−1は空になる(書込まれているデータは不要に
なる)。 (4)3番目の入力データ列に対する一次元目のDCT
演算を行い、結果を転置用RAM100−1に書込む
(不要となったデータ上に上書きする)。 (5)転置用RAM100−2に書込まれたデータを用
いて、2番目の入力データ列に対する二次元目のDCT
演算を行い、その結果を外部に出力する。転置用RAM
100−2は、空になる。 (6)(2)〜(5)を繰り返す。よって、一次元DC
T演算器90は、待ち状態になることがなく、常に演算
を実行できるので、図5のように、パイプラインを乱す
ことがない。
【0017】以上のように、この第2の実施形態では、
選択器80と二つの転置用RAM100−1,100−
2と選択器90とを備え、一次元DCT演算器90に一
次元目のDCT演算と二次元目のDCT演算の両方を行
わせる構成にしているので、二次元DCT回路で最も大
規模であるDCT演算器を1個にすることができ、二次
元DCT回路の構成面積を小さくできると共に、消費電
力を少なくできる。また、第1の実施形態に比べてデー
タ演算の順序がやや複雑化するが、パイプラインを乱す
ことなく、DCT演算器を効率的に動作させることが可
能となり、処理が高速になる。さらに、既存のハードウ
エアの組合せで実現できるので、設計も容易である。
【0018】第3の実施形態 図8は、本発明の第3の実施形態を示す二次元DCT回
路の回路図である。この二次元DCT回路は、一次元D
CT演算器120と、転置用RAM140とで構成され
ている。一次元DCT演算器120は、順次入力する入
力データDinを一時的に保持する一次元入力レジスタ1
21を有している。一次元入力レジスタの出力側には、
一次元演算レジスタ122が接続され、該一次元演算レ
ジスタ122の出力側は、第2の選択手段である2入力
選択器123の一方の入力端子に接続されている。選択
器123の出力側は演算器124に接続されている。演
算器124の出力側は、一次元アキュームレータ125
と二次元アキュームレータ126の入力端子にそれぞれ
接続されている。各アキュームレータ125,126の
出力側は、一次元出力レジスタ127と二次元出力レジ
スタ128にそれぞれ接続されると共に、第1の選択手
段である2入力選択器129の各入力端子にそれぞれ接
続されている。選択器129の出力側は、演算器124
のもう一方の入力端子に接続されている。一次元出力レ
ジスタ127の出力側は、転置用RAM140に接続さ
れている。二次元出力レジスタ128の出力側から、最
終的な二次元DCT演算結果が外部へ出力されるように
なっている。
【0019】一次元DCT演算器120には、さらに、
二次元入力レジスタ130が設けられている。二次元入
力レジスタ130には、転置用RAM140から出力さ
れたデータが入力される構成であり、該二次元入力レジ
スタ130の出力側は、二次元演算レジスタ131が接
続されている。二次元演算レジスタ131の出力側が、
選択器123の他方の入力端子に接続されている。図9
は、図8の二次元DCT回路の動作を説明する図であ
り、この図を参照しつつ、図8の動作を説明する。入力
データDinは、一次元DCT演算器120中の一次元入
力レジスタ121に順に入力され、該一次元入力レジス
タ121は、それらを保持する(図9のS1)。一次元
入力レジスタ121の保持するデータが一定の個数の例
えば8個に達すると、それらがひとまとまりとして、一
次元演算レジスタ122に転送される(図9のS2)。
一次元演算レジスタ122は、その転送された入力デー
タDinを選択器123を介して演算器124に出力す
る。演算器124が与えられ入力データDinを用いて演
算を行っている期間(図9のS3)に、新たな入力デー
タDinが一次元入力レジスタ121に入力され、それが
順に書込まれて記憶される(図9のS4)。即ち、パイ
プライン動作となる。
【0020】ここで、一次元演算レジスタ122に転送
された8個の入力データDinが、例えば1番目の入力デ
ータ列のとき、選択器123は一次演算レジスタ122
の出力データを選択して演算器124に与える状態にな
っている。なぜなら、転置用RAM140、二次元入力
レジスタ130、及び二次元演算レジスタ131には、
未だ有効なデータを出力していないからである。このよ
うにして、一次元演算レジスタ122の出力する8個の
入力データDinが演算器124に与えられ、演算器12
4がそのデータを用いて一次元目のDCT演算を行うた
めの累積演算を行う。この累積演算によって、順次一次
元アキュームレータ125の内容が更新される。このと
きには二次元目の演算が行われていないので、選択器1
29は、一次元アキュームレータ125の出力データを
選択し、それを演算器124の入力側に転送する。この
ように、演算器124と一次元アキュームレータ125
が用いられることで、累積演算が成立する。複数の例え
ば8回だけ累積演算が行われた後の一次元アキュームレ
ータ125には、一次元目のDCT演算結果が記憶され
ているので、一次元アキュームレータ125の出力デー
タが一時的に一次元出力レジスタ127に記憶され(図
9のS5)、さらに、それらが順次転置用RAM140
に書込まれて記憶される(図9のS6)。転置用RAM
140に記憶された一次元目のDCT演算結果のデータ
が、一定の個数(1番目の入力データ列の64個)にな
ると(図9のS7)、転置用RAM140からは、二次
元目のDCT演算に用いる入力データとして、記憶デー
タが転置して読出され、二次元入力レジスタ130へ順
次転送される(図9のS8)。二次元入力レジスタ13
0は転送されたデータを保持する。二次元入力レジスタ
130に保持されたデータが、一定の個数の例えば8個
になると、それらがひとまとまりとなって二次元演算レ
ジスタ131に転送される(図9のS9)。二次元演算
レジスタ131上のデータが演算器124に用いられて
いる期間(図9のS10)、次の二次元目のDCT演算
用の入力データが、転置用RAM140から二次元入力
レジスタ130に入力されて記憶される。前述の一次元
入力レジスタ121と一次元演算レジスタ122の接続
関係がパイプラインを実現するのと同様に、二次元入力
レジスタ130と二次元演算レジスタ131の関係も、
パイプラインを実現する接続関係である。このときに
は、選択器123は演算器124の処理の1サイクルご
とに、一次元演算レジスタ122の出力データと二次元
演算レジスタ131の出力データを交互に選択して該演
算器124に与える。一方、選択器129においても、
選択器123と同じタイミングで、一次元アキュームレ
ータ125の出力データと二次元アキュームレータ12
6の出力データを交互に選択し、それを演算器124の
入力側に与える。つまり、選択器123が一次元演算レ
ジスタ122の出力データを選択するとき、選択器12
9は一次元アキュームレータ125の出力データを選択
する。選択器123が二次元元演算レジスタ131の出
力データを選択するとき、選択器129は二次元アキュ
ームレータ126の出力データを選択する。これによ
り、演算器124は、1サイクルごとに一次元目のDC
T演算と二次元目のDCT演算を交互に、実行すること
になる。
【0021】演算器124に入力されるデータが、一次
元演算レジスタ122の出力データと一次元アキューム
レータ125の出力データの場合、該演算器124の出
力データは一次元出力レジスタ127に書込まれ、該一
次元出力レジスタ127の内容が更新される。演算器1
24に入力されるデータが、二次元演算レジスタ131
の出力データと二次元アキュームレータ126の出力デ
ータの場合、該演算器124の出力データは二次元アキ
ュームレータ126に書込まれ、該二次元アキュームレ
ータ126の内容が更新される。二次元演算レジスタ1
31の出力データと二次元アキュームレータ126の出
力データが入力された場合の演算器124の累積演算
が、複数回の例えば8回だけ行われた後、二次元アキュ
ームレータ126には、二次元目のDCT演算結果、即
ち最終の二次元DCT演算結果が記憶されていることに
なる。二次元アキュームレータ126の記憶しているデ
ータが、二次元出力レジスタ128に転送された後、外
部へ出力される。このようにして、1番目の入力データ
列の二次元DCT演算が完了する。2番目以降の入力デ
ータ列に対する二次元DCT演算結果も同様であり、演
算器124が一次元目の演算と二次元目の演算とを交互
に行うことで、2番目以降の入力データ列に対する二次
元DCT演算結果が、二次元出力レジスタ128から外
部へ出力される。
【0022】本実施形態の特徴は、選択器123と選択
器129とを一次元DCT演算器120に設け、該一次
元DCT演算器120中の演算器124に、一次元目の
累積演算と二次元目の累積演算をサイクルごとに交互に
実施することにある。もし、交互に累積演算を行わない
場合、例えば、転置用RAM140に記憶されている一
次元目のDCT演算結果のデータ群が十分になると、そ
れらが二次元入力レジスタ130に順次転送されて二次
元演算レジスタ131に渡される。そして、演算器12
4は二次元演算レジスタ131のデータを用いてひたす
ら二次元目のDCT演算を行う。二次元目のDCT演算
を行っている期間において、入力データDinは一次元の
DCT演算を施されるべく、一次元入力レジスタ121
を介して一次元演算レジスタ122に転送される。とこ
ろが、選択器123は、常に、二次元演算レジスタ13
1の出力データを選択しているので、一次元入力レジス
タ上の入力データは、出力を待つ状態になる。これを継
続すると、演算器124が転置用RAM140の記憶し
ているすべてのデータに対する二次元目のDCT演算が
終了するまで、入力データ列に対する一次元のDCT演
算は実施されない。その結果、本来一定のレートで入力
されるべき入力データDinの入力を待たすことになり、
前段まで回路における処理をトップすることになる。ま
た、その二次元目のDCT演算が終了した段階で、転置
用RAM140の記憶するデータは無用のもの(空)と
なる。つまり、効率が悪く資源の無駄となる。
【0023】本実施形態のように、一次元目の累積演算
と二次元目の累積演算を例えば1サイクルごとに交互に
実施することにより、入力データDinを連続ではないに
しろ、あくまでも一定レートで入力させることができ
る。また、転置用RAM140において記憶したデータ
は、二次元目のDCT演算のためのデータとして読出さ
れ、その読出されたデータの所に、演算器124で演算
された一次元目のDCT演算結果を一次元アキュームレ
レータ125と一次元出力レジスタ127が書込まれ
る。よって、転置用RAM140が空になることはな
く、効率よく使用される。そのため、余分な制御が必要
なくなる。
【0024】以上のように、本実施形態では、入力デー
タDinを演算器140に転送する一次元入力レジスタ1
21及び一次元演算レジスタ122と、演算器140の
出力データを転置用RAM140に転送する一次元アキ
ュームレータ125及び一次元出力レジスタ127とを
備えている。そして、転置用RAM140から読出され
たデータを演算器124に転送する二次元入力レジスタ
130及び二次元演算入力レジスタ131と、演算器1
40の出力データを外部に出力するための二次元アキュ
ームレータ126及び二次元出力レジスタ128とを備
えている。さらに、本実施形態では、一次元演算レジス
タ122の出力データまたは二次元演算レジスタの出力
データを選択して演算器124に与える選択器123
と、一次元アキュームレータ125の出力データまたは
二次元アキュームレータ126の出力データを選択し
て、演算器124の入力側に与える選択器129とが、
設けられている。よって、第1,第2の実施形態と同様
に、DCT演算器を1個にすることができるうえに、さ
らに、使用するRAMの個数を1つにすることができ
る。そのため、二次元DCT回路の構成面積を小さくで
きると共に、消費電力を少なくできる。また、一次元目
の累積演算と二次元目の累積演算をサイクルごとに交互
に実施することができ、複雑な制御を用いずとも、転置
用RAM140を有効に使用できる共に、入力データD
inを待たせないようにすることができる。なお、本発明
は、上記実施形態に限定されず種々の変形が可能であ
る。例えば第1〜第3の実施形態では選択手段を選択器
50,80,110,123,129で構成している
が、これらはトライステートバッファを2個配置してそ
れぞれ構成することも可能である。
【0025】
【発明の効果】以上詳細に説明したように、第1の発明
によれば、入力データを格納する入力データメモリと、
入力レジスタに保持した複数のデータを用いてDCT演
算を行う一次元DCT演算器と、転置用メモリと、入力
データメモリの出力データまたは転置用メモリの出力デ
ータを選択して入力レジスタに転送する選択手段とを備
えているので、二次元DCT回路で、最も大規模である
DCT演算器を1個にすることができる。よって、二次
元DCT回路の構成面積を小さくできると共に、消費電
力を少なくできる。しかも、その構成面積が小さく低消
費電力の二次元DCT回路は、制御も単純があるととも
に、設計も容易である。第2の発明によれば、入力レジ
スタを有した一次元DCT演算器と、第1及び第2の第
1の転置用メモリと、第1,第2の選択手段とを備えて
いるので、二次元DCT回路で、最も大規模であるDC
T演算器を1個にすることができる。よって、二次元D
CT回路の構成面積を小さくできると共に、消費電力を
少なくでき、しかも、設計が容易であるという効果が得
られる。さらに、第1の発明よりも、パイプラインを乱
すことなく、DCT演算器を効率的に動作させることが
可能となり、処理が高速になる。
【0026】第3の発明によれば、入力データを保持す
る一次元入力レジスタ及び一次元演算レジスタと、一次
元DCT演算を行うために累積演算を行う演算器と、累
積演算結果を記憶する一次元アキュームレータ及び二次
元アキュームレータと、第1の選択手段と、一次元出力
レジスタ及び二次元出力レジスタと、転置用メモリと、
転置用メモリからのデータを保持する二次元入力レジス
タ及び二次元演算レジスタと、第2の選択手段とを備え
ているで、DCT演算器を1個にすることができるうえ
に、さらに、使用するメモリの個数を1つにすることが
できる。そのため、二次元DCT回路の構成面積を小さ
くできると共に、消費電力を少なくできる。また、一次
元目の累積演算と二次元目の累積演算をサイクルごとに
交互に実施することができ、複雑な制御を用いずとも、
転置用メモリを有効に使用できる共に、入力データを待
たせないようにすることができる。
【図面の簡単な説明】
【図1】図1は、本発明の第1の実施形態を示す二次元
DCT回路の回路図である。
【図2】従来の二次元DCT回路を示す回路図である。
【図3】図2中の一次元DCT演算器を示す回路図であ
る。
【図4】図1中の一次元DCT演算器を示す回路図であ
る。
【図5】図1のパイプライン動作を説明する図である。
【図6】本発明の第2の実施形態を示す二次元DCT回
路の回路図である。
【図7】図6の二次元DCT回路におけるパイプライン
処理を説明する図である。
【図8】本発明の第3の実施形態を示す二次元DCT回
路の回路図である。
【図9】図8の二次元DCT回路の動作を説明する図で
ある。
【符号の説明】
40 入力データ
RAM 50,80,110,123,129 選択器 60,90,120 一次元DC
T演算器 70,100−1,100−2,140 転置用RA
M 121 一次元入力
レジスタ 122 一次元演算
レジスタ 124 演算器 125 一次元アキ
ュームレータ 126 二次元アキ
ュームレータ 127 一次元出力
レジスタ 128 二次元出力
レジスタ 130 二次元入力
レジスタ 131 二次元演算
レジスタ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 順次入力される入力データ列に対して一
    次元目の一次元離散コサイン変換演算を行い、該一次元
    目の離散コサイン変換演算結果に対して二次元目の一次
    元離散コサイン変換演算を行い、該各入力データ列に対
    する二次元離散コサイン変換をそれぞれ施す二次元離散
    コサイン変換回路において、 順次入力される入力データを格納する入力データメモリ
    と、 与えられた複数のデータを一時的に保持する入力レジス
    タを有し、該入力レジスタに保持した複数のデータを用
    いて前記一次元離散コサイン変換演算を行う一次元離散
    コサイン変換演算器と、 前記一次元離散コサイン変換演算の結果を格納する転置
    用メモリと、 前記入力データメモリの出力データまたは前記転置用メ
    モリの出力データを選択して前記入力レジスタに転送す
    る選択手段とを備え、 前記一次元離散コサイン変換演算器は、前記選択手段を
    介して前記入力レジスタに与えられた前記入力データメ
    モリからの複数の前記入力データを用いて前記一次元目
    の一次元離散コサイン変換演算を行い、その演算結果を
    前記転置用メモリに与え、前記選択手段を介して前記入
    力レジスタに与えられた前記転置用メモリから転置され
    て読出された複数のデータを用いて前記二次元目の一次
    元離散コサイン変換演算を行う構成にしたことを特徴と
    する二次元離散コサイン変換回路。
  2. 【請求項2】 順次入力される入力データ列に対して一
    次元目の離散コサイン変換演算を行い、該一次元目の離
    散コサイン変換演算結果に対して二次元目の離散コサイ
    ン変換演算を行い、該各入力データ列に対する二次元離
    散コサイン変換をそれぞれ施す二次元離散コサイン変換
    回路において、 与えられた複数のデータを一時的に保持する入力レジス
    タを有し、該入力レジスタに保持した複数のデータを用
    いて前記一次元離散コサイン変換演算を行う一次元離散
    コサイン変換演算器と、 第1の期間に出力される前記一次元離散コサイン変換演
    算器の出力データを記憶する第1の転置用メモリと、 前記第1の期間とは異なる第2の期間に出力される前記
    一次元離散コサイン変換演算器の出力データを記憶する
    第2の転置用メモリと、 前記第1の転置用メモリから転置して読出されたデータ
    または前記第2の転置用メモリから転置して読出された
    データを選択して出力する第1の選択手段と、 前記入力データまたは前記第1の選択手段の出力データ
    を選択して前記一次元離散コサイン変換演算器中の入力
    レジスタに転送する第2の選択手段とを備え、 前記一次元離散コサイン変換演算器は、前記第2の選択
    手段を介して前記入力レジスタに与えられた複数の前記
    入力データを用いて前記一次元目の一次元離散コサイン
    変換演算を行い、該一次元目の離散コサイン変換演算結
    果を前記第1または第2の転置用メモリに与え、前記第
    2の選択手段を介して該入力レジスタに与えられた前記
    第1の選択手段の複数の出力データを用いて前記二次元
    目の一次元離散コサイン変換演算を行う構成にしたこと
    を特徴とする二次元離散コサイン変換回路。
  3. 【請求項3】 順次入力される入力データ列に対して一
    次元目の離散コサイン変換演算を行い、該一次元目の離
    散コサイン変換演算結果に対して二次元目の離散コサイ
    ン変換演算を行い、該各入力データ列に対する二次元離
    散コサイン変換をそれぞれ施す二次元離散コサイン変換
    回路において、 複数の前記入力データを一時的に保持する一次元入力レ
    ジスタと、 前記一次元入力レジスタから転送された複数の前記入力
    データを一時的に記憶する一次元演算レジスタと、 前記一次元離散コサイン変換演算を行うために累積演算
    を行う2入力の演算器と、 前記演算器の累積演算結果を一時的に記憶する一次元ア
    キュームレータと、 前記演算器の累積演算結果のうち前記一次元アキューム
    レータとは異なる累積演算結果を一時的に記憶する二次
    元アキュームレータと、 前記一次元アキュームレータまたは前記二次元アキュー
    ムレータの出力データを選択して前記演算器の一方の入
    力端子に転送する第1の選択手段と、 前記一次元アキュームレータの出力データを一時的に保
    持する一次元出力レジスタと、 前記二次元アキュームレータの出力データを一時的に保
    持する二次元出力レジスタと、 前記一次元出力レジスタの出力データを前記一次元目の
    離散コサイン変換演算結果として記憶する転置用メモリ
    と、 前記転置用メモリから転置して読出された複数の一次元
    目の離散コサイン変換演算結果のデータを一時的に保持
    する二次元入力レジスタと、 前記二次元入力レジスタから転送された複数の一次元目
    の離散コサイン変換演算結果のデータを一時的に記憶す
    る二次元演算レジスタと、 前記一次元演算レジスタの出力データまたは前記二次元
    演算レジスタの出力データを選択して、前記演算器の他
    方の入力端子に転送する第2の選択手段とを備え、 前記演算器は、一次元演算レジスタまたは二次元演算レ
    ジスタから与えられたデータと前記第1の選択手段から
    与えられたデータを用いた前記累積演算を繰り返すこと
    で、前記一次元目の一次元離散コサイン変換演算と前記
    二次元目の一次元離散コサイン変換演算を行う構成とし
    たことを特徴とする二次元離散コサイン変換回路。
JP31197795A 1995-11-30 1995-11-30 二次元離散コサイン変換回路 Withdrawn JPH09153030A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31197795A JPH09153030A (ja) 1995-11-30 1995-11-30 二次元離散コサイン変換回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31197795A JPH09153030A (ja) 1995-11-30 1995-11-30 二次元離散コサイン変換回路

Publications (1)

Publication Number Publication Date
JPH09153030A true JPH09153030A (ja) 1997-06-10

Family

ID=18023722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31197795A Withdrawn JPH09153030A (ja) 1995-11-30 1995-11-30 二次元離散コサイン変換回路

Country Status (1)

Country Link
JP (1) JPH09153030A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006319837A (ja) * 2005-05-16 2006-11-24 Rohm Co Ltd 画像処理装置
JP2008017405A (ja) * 2006-07-10 2008-01-24 Matsushita Electric Ind Co Ltd 2次元直交変換装置、2次元直交変換方法および撮像システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006319837A (ja) * 2005-05-16 2006-11-24 Rohm Co Ltd 画像処理装置
JP2008017405A (ja) * 2006-07-10 2008-01-24 Matsushita Electric Ind Co Ltd 2次元直交変換装置、2次元直交変換方法および撮像システム

Similar Documents

Publication Publication Date Title
US5226171A (en) Parallel vector processing system for individual and broadcast distribution of operands and control information
US8713080B2 (en) Circuit for compressing data and a processor employing same
Ebeling et al. Mapping applications to the RaPiD configurable architecture
US6425073B2 (en) Method and apparatus for staggering execution of an instruction
EP1047989B1 (en) Digital signal processor having data alignment buffer for performing unaligned data accesses
US5081573A (en) Parallel processing system
US6367003B1 (en) Digital signal processor having enhanced utilization of multiply accumulate (MAC) stage and method
KR101202445B1 (ko) 프로세서
KR100346515B1 (ko) 수퍼파이프라인된수퍼스칼라프로세서를위한임시파이프라인레지스터파일
US4821224A (en) Method and apparatus for processing multi-dimensional data to obtain a Fourier transform
EP0425410A2 (en) Signal processor with independently arithmetic and logic unit and multiplier accumulator unit simultaneously operable
JPH10187438A (ja) 乗算器の入力に対する遷移を減少させる方法
US6233671B1 (en) Staggering execution of an instruction by dividing a full-width macro instruction into at least two partial-width micro instructions
JP3740516B2 (ja) 共分散行列を生成する方法および装置
US7111155B1 (en) Digital signal processor computation core with input operand selection from operand bus for dual operations
WO2000068783A2 (en) Digital signal processor computation core
JPH09153030A (ja) 二次元離散コサイン変換回路
US7107302B1 (en) Finite impulse response filter algorithm for implementation on digital signal processor having dual execution units
JP7136343B2 (ja) データ処理システム、方法、およびプログラム
CN111522776B (zh) 一种计算架构
US6820189B1 (en) Computation core executing multiple operation DSP instructions and micro-controller instructions of shorter length without performing switch operation
US6859872B1 (en) Digital signal processor computation core with pipeline having memory access stages and multiply accumulate stages positioned for efficient operation
JPH1074141A (ja) 信号処理装置
EP1936492A1 (en) SIMD processor with reduction unit
JP2001084242A (ja) 可変演算プロセッサ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030204