JPH08185389A - 直交変換プロセッサ - Google Patents

直交変換プロセッサ

Info

Publication number
JPH08185389A
JPH08185389A JP7094656A JP9465695A JPH08185389A JP H08185389 A JPH08185389 A JP H08185389A JP 7094656 A JP7094656 A JP 7094656A JP 9465695 A JP9465695 A JP 9465695A JP H08185389 A JPH08185389 A JP H08185389A
Authority
JP
Japan
Prior art keywords
input
output
register
outputting
orthogonal 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.)
Granted
Application number
JP7094656A
Other languages
English (en)
Other versions
JP2901896B2 (ja
Inventor
Maki Toyokura
真木 豊蔵
Kiyoshi Okamoto
潔 岡本
Yoshifumi Matsumoto
義史 松本
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP7094656A priority Critical patent/JP2901896B2/ja
Publication of JPH08185389A publication Critical patent/JPH08185389A/ja
Application granted granted Critical
Publication of JP2901896B2 publication Critical patent/JP2901896B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【目的】 1次元IDCTプロセッサの回路規模を低減
する。 【構成】 8ポイントIDCT処理のための8行8列の
逆離散コサイン行列のうちの上4行の各要素の絶対値を
構成要素とした4行8列の行列の各行の8個の要素を4
個の係数メモリ101〜104にそれぞれ格納する。入
力要素yijが4個の乗算器105〜108へ並列に供給
される。4個の乗算器105〜108は、4個の係数メ
モリ101〜104のうちの対応する係数メモリの出力
と入力要素yijとの乗算をそれぞれ実行する。8個の累
算器109〜116は、直交変換行列の係数の符号を復
元しながら4個の乗算器105〜108の結果を用いて
8個の内積を求めるための累算を並列に実行する。8入
力セレクタ117は、8個の累算器109〜116の結
果を順次選択して、入力要素yijに対応した内積wij
出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、画像情報処理に好適に
利用される直交変換プロセッサに関するものである。
【0002】
【従来の技術】近年、2次元画像データの高能率圧縮符
号化方式の重要な一部分として、直交変換を実現する小
規模な回路が要求されている。符号器では、順方向の直
交変換、例えば離散コサイン変換(discrete cosine tr
ansform :略してDCT)、離散サイン変換(discrete
sine transform :略してDST)などが利用される。
復号器では、逆方向の直交変換、例えば逆離散コサイン
変換(inverse discretecosine transform :略してI
DCT)、逆離散サイン変換(inverse discretesine t
ransform :略してIDST)などが利用される。
【0003】米国特許4,791,598には、2個の
1次元DCTプロセッサと、その間に介在した転置メモ
リとで構成された2次元DCTプロセッサが開示されて
いる。2個の1次元DCTプロセッサの各々は、乗算器
を用いずにROM(read only memory)を用いてベクト
ル内積を求めるための分布演算(distributed arithmet
ic:略してDA)回路を内蔵したものである。DA回路
は、複数個のROM/累算器(ROM and accumulator :
略してRAC)を備えている。各RACは、離散コサイ
ン行列に基づくベクトル内積の部分和をルックアップテ
ーブルの形式で格納したROMと、該ROMからビット
スライスワードをアドレスとして順次索引された部分和
を桁合わせ加算して入力ベクトルに対応するベクトル内
積を得るための累算器とを有するものである。このよう
な2次元DCTプロセッサの構成は、2次元IDCTプ
ロセッサに転用可能である。
【0004】8×8要素からなる入力データに2次元I
DCT処理を施すものとする。入力データは、要素yij
(i=0〜7,j=0〜7)を持つ8行8列の行列Yで
表わされる。また、8行8列の逆離散コサイン行列Dを
考える。行列Dの各要素dijは、 di0=1/(2・20.5 ),i=0〜7 dij=(1/2)cos{(2i+1)jπ/16},i=0〜7,j=1〜7 …(1) である。行列Yの2次元IDCTはDYDT である。こ
こに、DT は行列Dの転置行列である。行列Yの1次元
IDCTすなわち行列積DYを計算するための1次元I
DCTプロセッサと、転置手段とを用いれば、中間行列
X=(DY)T が容易に求められる。最終結果DYDT
も同様にして求められる。なぜなら、DYDT =(D
(DY)T T =(DX)T であるからである。つま
り、行列積DYを計算するための1次元IDCTプロセ
ッサは、2次元IDCTを実現する上で重要な役割を担
っている。
【0005】行列Yの第j列に関する1次元IDCTの
結果は、8行8列の行列Wの第j列で表わされる。ここ
に、行列Wの各要素wijは、 wij=Σk=0 7 ikkj ,i=0〜7,j=0〜7 …(2) である。要素wijは、行列Dの第i行と行列Yの第j列
との内積であって、8個の積の和である。この要素wij
を求める処理は、8ポイントIDCT処理と呼ばれる。
【0006】8個の乗算器と8個の累算器とを備えた1
次元IDCTプロセッサによれば、行列Wの第j列を構
成する8個の内積w0j,w1j,w2j,w3j,w4j
5j,w6j,w7jを並列に計算することができる。ここ
に、 w0j=Σk=0 7 0kkj1j=Σk=0 7 1kkj2j=Σk=0 7 2kkj3j=Σk=0 7 3kkj4j=Σk=0 7 4kkj5j=Σk=0 7 5kkj6j=Σk=0 7 6kkj7j=Σk=0 7 7kkj …(3) である。
【0007】
【発明が解決しようとする課題】上記8個の乗算器を備
えた1次元IDCTプロセッサは、VLSI(very lar
ge scale integration)への実装に際して乗算器がチッ
プ上の大きな面積を占める問題があった。
【0008】また、式(3)で表わされた8個の内積の
並列計算を上記従来のDA回路で実現する場合には、大
きいROMサイズを要するという問題があった。
【0009】本発明の目的は、1次元IDCTプロセッ
サなどの直交変換プロセッサの回路規模を低減すること
にある。
【0010】
【課題を解決するための手段】上記の目的を達成するた
め、本発明に係る第1の直交変換プロセッサは、逆離散
コサイン行列や逆離散サイン行列の要素の規則性に鑑み
て乗算器の個数を低減し、各乗算器の結果を複数の累算
器へ分配することとしたものである。
【0011】また、本発明に係る第2の直交変換プロセ
ッサは、複数の内積計算の各々を2個の定数乗算と1個
の部分内積の計算とに分割し、2個の定数乗算を定数乗
算回路で実行することとしたものである。しかも、複数
個の部分内積の計算をDA回路で並列実行することとし
た。
【0012】
【作用】本発明に係る第1の直交変換プロセッサによれ
ば、例えば8ポイントIDCT処理の場合に従来は8個
の乗算器を要したところ、乗算器数が4又は3に低減さ
れる。
【0013】また、本発明に係る第2の直交変換プロセ
ッサによれば、定数乗算回路中の2個又は1個の乗算器
を要するのみである。また、内積計算の一部が定数乗算
回路で実行されるので、DA回路のROMサイズが低減
される。
【0014】
【実施例】以下、図面を参照しながら、本発明の実施例
に係る1次元IDCTプロセッサについて説明する。
【0015】(実施例1)まず、tn (n=0〜7)
を、 t0 =1/(2・20.5 ) tn =(1/2)cos(nπ/16),n=1〜7 …(4) のように定義する。すると、前記の式(3)で表わされ
た8個の内積の計算は、コサイン関数の対称性を利用し
て、図1のように表現される。
【0016】図1の行列演算では、符号(±)を度外視
すると、y0jに掛けるべき係数はt0 であり、y1jに掛
けるべき係数はt1 ,t3 ,t5 ,t7 であり、y2j
掛けるべき係数はt2 ,t6 であり、y3jに掛けるべき
係数はt3 ,t7 ,t1 ,t5 であり、y4jに掛けるべ
き係数はt4 であり、y5jに掛けるべき係数はt5 ,t
1 ,t7 ,t3 であり、y6jに掛けるべき係数はt6
2 であり、y7jに掛けるべき係数はt7 ,t5
3 ,t1 である。したがって、図2に示すように、入
力データの8個の要素yij(i=0〜7)が順次供給さ
れるとき、1サイクルに最大4個の乗算を実行すればよ
い。図2の手順で用いられる係数行列Eを図3に示す。
係数行列Eは、図1中の8行8列の逆離散コサイン行列
のうちの第0行から第3行までの各要素の絶対値を構成
要素とした4行8列の行列である。
【0017】本発明の第1の実施例に係る1次元IDC
Tプロセッサの構成を図4に示す。この構成は、図3の
係数行列Eを採用したものである。図4において、10
1〜104は第1〜第4の係数メモリ、105〜108
は第1〜第4の乗算器、109〜116は第1〜第8の
累算器、117は8入力セレクタである。第1の係数メ
モリ101には行列Eの第0行の8個の要素が、第2の
係数メモリ102には行列Eの第1行の8個の要素が、
第3の係数メモリ103には行列Eの第2行の8個の要
素が、第4の係数メモリ104には行列Eの第3行の8
個の要素がそれぞれ格納されている。入力端子から、2
の補数表示の2進数データyij(i=0〜7,j=0〜
7)が、y00〜y70、y01〜y71、…、y07〜y77の順
序で第1〜第4の乗算器105〜108へ供給される。
第1の乗算器105はyijと第1の係数メモリ101の
出力との乗算を、第2の乗算器106はyijと第2の係
数メモリ102の出力との乗算を、第3の乗算器107
はyijと第3の係数メモリ103の出力との乗算を、第
4の乗算器108はyijと第4の係数メモリ104の出
力との乗算をそれぞれ実行するものである。第1〜第8
の累算器109〜116は、第1〜第4の乗算器105
〜108の結果を用いて8個の内積w0j,w1j,w2j
3j,w4j,w5j,w6j,w7jを求めるための累算を並
列に実行するものである。8入力セレクタ117は、第
1〜第8の累算器109〜116の結果を順次選択し
て、データwij(i=0〜7,j=0〜7)を、w00
70、w01〜w71、…、w07〜w77の順序で出力するも
のである。
【0018】図4中のw1jを求めるための累算器110
の内部構成を図5に示す。図5において、201は4入
力セレクタ、202は2の補数器、203は加算器、2
04は累算レジスタ、205はバッファレジスタであ
る。4入力セレクタ201は、第1〜第4の乗算器10
5〜108の結果のうちの1つを選択するものである。
2の補数器202は、iの値に応じて、4入力セレクタ
201の出力をそのまま通過させたり、4入力セレクタ
201の出力の2の補数を出力したりするものである。
具体的には、図1中の逆離散コサイン行列のうちの第1
行(t0 ,t3 ,t6 ,−t7 ,−t4 ,−t1 ,−t
2 ,−t5 )と入力データベクトル(y0j,y1j
2j,y3j,y4j,y5j,y6j,y7j)との内積w1j
計算に対応して、i=0,1,2のサイクルでは4入力
セレクタ201の出力をそのまま通過させ、i=3,
4,5,6,7のサイクルでは4入力セレクタ201の
出力の2の補数を出力するように制御される。データx
の2の補数は、xの全てのビットを反転させたうえ、1
を加算することによって求められる。加算器203は、
2の補数器202の結果と累算レジスタ204の保持出
力との和を求めるものである。累算レジスタ204の保
持内容は予め0に初期化されたうえ、加算器203の結
果に書き換えられる。バッファレジスタ205は、当該
1次元IDCTプロセッサのパイプライン動作を保証す
るように、累算レジスタ204の出力を保持するもので
ある。図4中の他の累算器の内部構成も図5と同様であ
る。
【0019】以下、図4及び図5に基づいて、本発明の
第1の実施例に係る1次元IDCTプロセッサの動作を
説明する。
【0020】第1のサイクルでは、入力端子からデータ
00が供給される。一方、係数メモリ101〜104か
らそれぞれt0 ,t0 ,t0 ,t0 が読み出され、乗算
器105〜108により4個の積t0 00,t0 00
0 00,t0 00が並列に計算される。次に、累算器
109〜116の4入力セレクタ201により、4個の
乗算器105〜108の結果のうちの1個がそれぞれ選
択される。この場合、4個の乗算器105〜108の結
果は全て同じであるので、どれを選択してもよい。累算
器109〜116の2の補数器202は、それぞれ4入
力セレクタ201の出力をそのまま通過させる。累算器
109〜116の加算器203は、2の補数器202の
結果と、予め0に初期化された累算レジスタ204の出
力との和を計算し、その加算結果を累算レジスタ204
にそれぞれ書き込む。この結果、累算器109〜116
の全ての累算レジスタ204に同じ積t0 00が格納さ
れる。
【0021】第2のサイクルでは、入力端子からデータ
10が供給される。一方、係数メモリ101〜104か
らそれぞれt1 ,t3 ,t5 ,t7 が読み出され、乗算
器105〜108により4個の積t1 10,t3 10
5 10,t7 10が並列に計算される。次に、累算器
109〜116の4入力セレクタ201により、4個の
乗算器105〜108の結果のうちの1個がそれぞれ選
択される。この場合、第1の累算器109では第1の乗
算器105の結果t1 10が、第2の累算器110では
第2の乗算器106の結果t3 10が、第3の累算器1
11では第3の乗算器107の結果t5 10が、第4の
累算器112では第4の乗算器108の結果t7
10が、第5の累算器113では第4の乗算器108の結
果t7 10が、第6の累算器114では第3の乗算器1
07の結果t5 10が、第7の累算器115では第2の
乗算器106の結果t3 10が、第8の累算器116で
は第1の乗算器105の結果t1 10がそれぞれ選択さ
れる。第1〜第4の累算器109〜112の2の補数器
202は、それぞれ4入力セレクタ201の出力をその
まま通過させる。第5〜第8の累算器113〜116の
2の補数器202は、それぞれ4入力セレクタ201の
出力の2の補数を出力する。累算器109〜116の加
算器203は、2の補数器202の結果と累算レジスタ
204の出力との和を計算し、その加算結果を累算レジ
スタ204にそれぞれ書き込む。この結果、第1の累算
器109ではt0 00+t1 10が、第2の累算器11
0ではt000+t3 10が、第3の累算器111では
0 00+t5 10が、第4の累算器112ではt0
00+t7 10が、第5の累算器113ではt0 00−t
7 10が、第6の累算器114ではt0 00−t5 10
が、第7の累算器115ではt0 00−t3 10が、第
8の累算器116ではt0 00−t1 10がそれぞれ累
算レジスタ204に格納される。
【0022】第3から第8のサイクルでは、入力端子か
らデータy20,y30,y40,y50,y60,y70が順次供
給される。したがって、第8サイクルの終りには、累算
器109〜116の累算レジスタ204に、8個の内積
00,w10,w20,w30,w40,w50,w60,w70が格
納される。
【0023】第9のサイクルでは、入力端子からデータ
01が供給されて上記第1のサイクルと同様の処理が実
行されるとともに、累算器109〜116の累算レジス
タ204の保持内容w00,w10,w20,w30,w40,w
50,w60,w70がバッファレジスタ205へそれぞれ転
送される。そして、8入力セレクタ117は、第1の累
算器109の出力w00を選択出力する。
【0024】第10のサイクルでは、入力端子からデー
タy11が供給されて、上記第2のサイクルと同様の処理
が実行される。8入力セレクタ117は、第2の累算器
110の出力w10を選択出力する。
【0025】以下同様の処理を繰り返すことにより、連
続的に供給される入力データy00〜y70,y01〜y71
…,y07〜y77に対応した出力データw00〜w70,w01
〜w71,…,w07〜w77が連続して得られる。
【0026】図5の累算器110の変形例を図6に示
す。図6の例では、上記2の補数器202に代えて1の
補数器212が用いられる。1の補数器212は、上記
iの値に応じて、4入力セレクタ201の出力をそのま
ま通過させたり、4入力セレクタ201の出力の1の補
数を出力したりするものである。具体的には、図1中の
逆離散コサイン行列のうちの第1行(t0 ,t3
6 ,−t7 ,−t4 ,−t1 ,−t2 ,−t5 )と入
力データベクトル(y0j,y1j,y2j,y3j,y4j,y
5j,y6j,y7j)との内積w1jの計算に対応して、i=
0,1,2のサイクルでは4入力セレクタ201の出力
をそのまま通過させ、i=3,4,5,6,7のサイク
ルでは4入力セレクタ201の出力の1の補数を出力す
るように制御される。データxの1の補数は、xの全て
のビットを反転させることによって求められる。累算レ
ジスタ204の初期値は、上記逆離散コサイン行列の第
1行を構成する8個の要素のうちの負の要素の数、すな
わち5に設定される。
【0027】以上のとおり、第1の実施例によれば、乗
算器の数が4に低減された1次元IDCTプロセッサを
実現できる。なお、累算器109〜116の4入力セレ
クタ201(図5及び図6)を省略して固定配線を採用
してもよい。この場合、第1及び第8の累算器109,
116へは第1の乗算器105の結果のみが、第2及び
第7の累算器110,115へは第2の乗算器106の
結果のみが、第3及び第6の累算器111,114へは
第3の乗算器107の結果のみが、第4及び第5の累算
器112,113へは第4の乗算器108の結果のみが
それぞれ供給される。
【0028】(実施例2)図1の行列演算を遂行するた
めには、図2に示すように、8サイクルで22個の乗算
を実行する必要がある。1サイクルの平均乗算個数は
2.75である。そこで、第2の実施例では、図7に示
すように、入力データの8個の要素yij(i=0〜7)
が順次供給されるとき、1サイクルに最大3個の乗算を
実行することとした。そのため、入力要素を保持するた
めのレジスタを設け、あるサイクルの入力要素に加えて
前サイクルの入力要素を利用できるようにした。すなわ
ち、あるサイクルでは第1群の係数t1 ,t0 と要素y
1j,y0jとの乗算が、次のサイクルでは第2群の係数t
3 ,t5 ,t7 と要素y1jとの乗算が、次のサイクルで
は第3群の係数t3 ,t2 ,t6 と要素y3j,y2jとの
乗算が、次のサイクルでは第4群の係数t7 ,t1 ,t
5 と要素y3jとの乗算が、次のサイクルでは第5群の係
数t5 ,t4 と要素y5j,y4jとの乗算が、次のサイク
ルでは第6群の係数t1 ,t7 ,t3 と要素y5jとの乗
算が、次のサイクルでは第7群の係数t7,t6 ,t2
と要素y7j,y6jとの乗算が、次のサイクルでは第8群
の係数t5,t3 ,t1 と要素y7jとの乗算がそれぞれ
実行される。図7の手順で用いられる係数行列Gを図8
に示す。係数行列Gは、上記第1群の係数を含む3個の
係数t1 ,t0 ,t0 を持つ第0列と、上記第2群の係
数t3 ,t5 ,t7 を持つ第1列と、上記第3群の係数
3 ,t2 ,t6 を持つ第2列と、上記第4群の係数t
7 ,t1 ,t5 を持つ第3列と、上記第5群の係数を含
む3個の係数t5 ,t4 ,t4 を持つ第4列と、上記第
6群の係数t1 ,t7 ,t3 を持つ第5列と、上記第7
群の係数t7 ,t6 ,t2 を持つ第6列と、上記第8群
の係数t5 ,t3 ,t1 を持つ第7列とで構成された3
行8列の行列である。
【0029】本発明の第2の実施例に係る1次元IDC
Tプロセッサの構成を図9に示す。この構成は、図8の
係数行列Gを採用したものである。図9において、30
1は入力レジスタ、302〜304は第1〜第3の係数
メモリ、305は2入力セレクタ、306〜308は第
1〜第3の乗算器、309は一時レジスタ、310〜3
17は第1〜第8の累算器、318は8入力セレクタで
ある。第1の係数メモリ302には行列Gの第0行の8
個の要素が、第2の係数メモリ303には行列Gの第1
行の8個の要素が、第3の係数メモリ304には行列G
の第2行の8個の要素がそれぞれ格納されている。入力
端子から、2の補数表示の2進数データyij(i=0〜
7,j=0〜7)が、y00〜y70、y01〜y71、…、y
07〜y77の順序で、入力レジスタ301及び2入力セレ
クタ305へ供給される。2入力セレクタ305は、入
力端子から直接供給されたデータと入力レジスタ301
の出力データとのいずれかを選択するものである。第1
の乗算器306は2入力セレクタ305の出力と第1の
係数メモリ302の出力との乗算を、第2の乗算器30
7は入力レジスタ301の出力と第2の係数メモリ30
3の出力との乗算を、第3の乗算器308は入力レジス
タ301の出力と第2の係数メモリ304の出力との乗
算をそれぞれ実行するものである。一時レジスタ309
は、第1の乗算器306の出力を一時保持するものであ
る。第1〜第8の累算器310〜317は、一時レジス
タ309の出力データと第1〜第3の乗算器306〜3
08の結果とを用いて8個の内積w0j,w1j,w2j,w
3j,w4j,w5j,w6j,w7jを求めるための累算を並列
に実行するものであって、各々の内部構成は図5又は図
6のとおりである。8入力セレクタ318は、第1〜第
8の累算器310〜317の結果を順次選択して、デー
タwij(i=0〜7,j=0〜7)を、w00〜w70、w
01〜w71、…、w07〜w77の順序で出力するものであ
る。
【0030】以下、図9及び図5に基づいて、本発明の
第2の実施例に係る1次元IDCTプロセッサの動作を
説明する。
【0031】第1のサイクルでは、入力端子からデータ
00が供給される。更に、第1のサイクルの終わりで、
該データy00が入力レジスタ301に書き込まれる。
【0032】第2のサイクルでは、入力端子からデータ
10が供給され、該データy10が2入力セレクタ305
により選択される。一方、係数メモリ302〜304か
らそれぞれt1 ,t0 ,t0 が読み出され、乗算器30
6〜308により3個の積t1 10,t0 00,t0
00が並列に計算される。次に、累算器310〜317の
4入力セレクタ201により、第2及び第3の乗算器3
07,308の結果のうちの1個がそれぞれ選択され
る。この場合、第2及び第3の乗算器307,308の
結果は同じであるので、いずれを選択してもよい。累算
器310〜317の2の補数器202は、それぞれ4入
力セレクタ201の出力をそのまま通過させる。累算器
310〜317の加算器203は、2の補数器202の
結果と、予め0に初期化された累算レジスタ204の出
力との和を計算し、その加算結果を累算レジスタ204
にそれぞれ書き込む。この結果、累算器310〜317
の全ての累算レジスタ204に、同じ積t0 00が格納
される。更に、第2のサイクルの終わりで、データy10
が入力レジスタ301に書き込まれ、かつ第1の乗算器
306の結果t1 10が一時レジスタ309に書き込ま
れる。
【0033】第3のサイクルでは、入力端子からデータ
20が供給される。2入力セレクタ305は、入力レジ
スタ301の出力データy10を選択する。一方、係数メ
モリ302〜304からそれぞれt3 ,t5 ,t7 が読
み出され、乗算器306〜308により3個の積t3
10,t5 10,t7 10が並列に計算される。次に、累
算器310〜317の4入力セレクタ201により、一
時レジスタ309の出力データと3個の乗算器306〜
308の結果とのうちの1個がそれぞれ選択される。こ
の場合、第1の累算器310では一時レジスタ309の
出力データt110が、第2の累算器311では第1の
乗算器306の結果t3 10が、第3の累算器312で
は第2の乗算器307の結果t5 10が、第4の累算器
313では第3の乗算器308の結果t7 10が、第5
の累算器314では第3の乗算器308の結果t7 10
が、第6の累算器315では第2の乗算器307の結果
5 10が、第7の累算器316では第1の乗算器30
6の結果t3 10が、第8の累算器317では一時レジ
スタ309の出力データt1 10がそれぞれ選択され
る。第1〜第4の累算器310〜313の2の補数器2
02は、それぞれ4入力セレクタ201の出力をそのま
ま通過させる。第5〜第8の累算器314〜317の2
の補数器202は、それぞれ4入力セレクタ201の出
力の2の補数を出力する。累算器310〜317の加算
器203は、2の補数器202の結果と累算レジスタ2
04の出力との和を計算し、その加算結果を累算レジス
タ204にそれぞれ書き込む。この結果、第1の累算器
310ではt0 00+t1 10が、第2の累算器311
ではt0 00+t3 10が、第3の累算器312ではt
000+t5 10が、第4の累算器313ではt0 00
+t7 10が、第5の累算器314ではt0 00−t7
10が、第6の累算器315ではt0 00−t5
10が、第7の累算器316ではt0 00−t3 10が、
第8の累算器317ではt0 00−t1 10がそれぞれ
累算レジスタ204に格納される。更に、第3のサイク
ルの終わりで、データy20が入力レジスタ301に書き
込まれ、かつ第1の乗算器306の結果t3 10が一時
レジスタ309に書き込まれる。
【0034】第4のサイクルでは、入力端子からデータ
30が供給され、該データy30が2入力セレクタ305
により選択される。一方、係数メモリ302〜304か
らそれぞれt3 ,t2 ,t6 が読み出され、乗算器30
6〜308により3個の積t3 30,t2 20,t6
20が並列に計算される。次に、累算器310〜317の
4入力セレクタ201により、第2及び第3の乗算器3
07,308の結果のうちの1個がそれぞれ選択され
る。この場合、第1、第4、第5及び第8の累算器31
0,313,314,317では第2の乗算器307の
結果t2 20が、第2、第3、第6及び第7の累算器3
11,312,315,316では第3の乗算器308
の結果t6 20がそれぞれ選択される。第1、第2、第
7及び第8の累算器310,311,316,317の
2の補数器202は、それぞれ4入力セレクタ201の
出力をそのまま通過させる。第3〜第6の累算器312
〜315の2の補数器202は、それぞれ4入力セレク
タ201の出力の2の補数を出力する。累算器310〜
317の加算器203は、2の補数器202の結果と累
算レジスタ204の出力との和を計算し、その加算結果
を累算レジスタ204にそれぞれ書き込む。この結果、
第1の累算器310ではt0 00+t1 10+t2 20
が、第2の累算器311ではt0 00+t3 10+t6
20が、第3の累算器312ではt0 00+t5 10
6 20が、第4の累算器313ではt0 00+t7
10−t2 20が、第5の累算器314ではt0 00−t
7 10−t2 20が、第6の累算器315ではt0 00
−t5 10−t6 20が、第7の累算器316ではt0
00−t3 10+t6 20が、第8の累算器317では
0 00−t1 10+t2 20がそれぞれ累算レジスタ
204に格納される。更に、第4のサイクルの終わり
で、データy30が入力レジスタ301に書き込まれ、第
1の乗算器306の結果t3 30が一時レジスタ309
に書き込まれる。
【0035】第5のサイクルでは、入力端子からデータ
40が供給される。2入力セレクタ305は、入力レジ
スタ301の出力データy30を選択する。一方、係数メ
モリ302〜304からそれぞれt7 ,t1 ,t5 が読
み出され、乗算器306〜308により3個の積t7
30,t1 30,t5 30が並列に計算される。次に、累
算器310〜317の4入力セレクタ201により、一
時レジスタ309の出力データと3個の乗算器306〜
308の結果とのうちの1個がそれぞれ選択される。こ
の場合、第1の累算器310では一時レジスタ309の
出力データt330が、第2の累算器311では第1の
乗算器306の結果t7 30が、第3の累算器312で
は第2の乗算器307の結果t1 30が、第4の累算器
313では第3の乗算器308の結果t5 30が、第5
の累算器314では第3の乗算器308の結果t5 30
が、第6の累算器315では第2の乗算器307の結果
1 30が、第7の累算器316では第1の乗算器30
6の結果t7 30が、第8の累算器317では一時レジ
スタ309の出力データt3 30がそれぞれ選択され
る。第1、第5、第6及び第7の累算器310,31
4,315,316の2の補数器202は、それぞれ4
入力セレクタ201の出力をそのまま通過させる。第
2、第3、第4及び第8の累算器311,312,31
3,317の2の補数器202は、それぞれ4入力セレ
クタ201の出力の2の補数を出力する。累算器310
〜317の加算器203は、2の補数器202の結果と
累算レジスタ204の出力との和を計算し、その加算結
果を累算レジスタ204にそれぞれ書き込む。この結
果、第1の累算器310ではt0 00+t1 10+t2
20+t3 30が、第2の累算器311ではt0 00
3 10+t6 20−t7 30が、第3の累算器312
ではt0 00+t5 10−t6 20−t1 30が、第4
の累算器313ではt0 00+t7 10−t2 20−t
5 30が、第5の累算器314ではt0 00−t7 10
−t2 20+t5 30が、第6の累算器315ではt0
00−t5 10−t6 20+t1 30が、第7の累算器
316ではt0 00−t3 10+t6 20+t7
30が、第8の累算器317ではt0 00−t1 10+t
2 20−t3 30がそれぞれ累算レジスタ204に格納
される。更に、第5のサイクルの終わりで、データy40
が入力レジスタ301に書き込まれ、かつ第1の乗算器
306の結果t7 30が一時レジスタ309に書き込ま
れる。
【0036】第6から第9のサイクルでは、入力端子か
らデータy50,y60,y70,y01が順次供給される。し
たがって、第9サイクルの終りには、累算器310〜3
17の累算レジスタ204に、8個の内積w00,w10
20,w30,w40,w50,w60,w70が格納される。更
に、第9のサイクルの終わりで、データy01が入力レジ
スタ301に書き込まれ、かつ第1の乗算器306の結
果t5 70が一時レジスタ309に書き込まれる。
【0037】第10のサイクルでは、入力端子からデー
タy11が供給されて上記第2のサイクルと同様の処理が
実行されるとともに、累算器310〜317の累算レジ
スタ204の保持内容w00,w10,w20,w30,w40
50,w60,w70がバッファレジスタ205へそれぞれ
転送される。そして、8入力セレクタ318は、第1の
累算器310の出力w00を選択出力する。
【0038】以下同様の処理を繰り返すことにより、連
続的に供給される入力データy00〜y70,y01〜y71
…,y07〜y77に対応した出力データw00〜w70,w01
〜w71,…,w07〜w77が連続して得られる。
【0039】以上のとおり、第2の実施例によれば、乗
算器の数が3に低減された1次元IDCTプロセッサを
実現できる。
【0040】(実施例3)式(4)から、t0 =t4
あることが直ちに分かる。この関係を利用すると、式
(2)は、 wij=di00j+Σk=1 3 ikkj+di44j+Σk=5 7 ikkj =t0 0j+Σk=1 3 ikkj±t0 4j+Σk=5 7 ikkj =t0 0j±t0 4j+Σk=1 3 ikkj+Σk=5 7 ikkj =t0 0j±t0 4j+ωij …(5) のように変形される。ここに、式(5)中の“±”は、
i=0,3,4,7の場合に“+”を、i=1,2,
5,6の場合に“−”をそれぞれ意味する(図1参
照)。また、式(5)中のωijは部分内積であって、 ωij=Σk=1 3 ikkj+Σk=5 7 ikkj …(6) である。式(6)によれば、図1の行列演算のサイズ
は、図10のように低減される。
【0041】本発明の第3の実施例に係る1次元IDC
Tプロセッサの構成を図11に示す。この構成は、式
(5)の演算を実行するものである。図11において、
10は入力バッファ、11は定数乗算回路、12は分布
演算(DA)回路、13は合成演算(RA)回路であ
る。入力端子から、16ビット長の2の補数表示の2進
数データyij(i=0〜7,j=0〜7)が、y00〜y
70、y01〜y71、…、y07〜y77の順序で入力バッファ
10へ供給される。入力バッファ10は、データy0j
4jを定数乗算回路11へ、データy1j,y2j,y3j
5j,y6j,y7jをDA回路12へそれぞれ供給する。
定数乗算回路11は、2個の定数乗算t0 0j,t0
4jを実行するものである。DA回路12は、図10の行
列演算を実行することにより部分内積ωijを求めるもの
である。RA回路13は、t0 0j、t0 4j及びωij
から、式(5)に従って内積wijを求めるものである。
【0042】入力バッファ10の内部構成を図12に示
す。入力バッファ10は、各々データy0j,y1j
2j,y3j,y4j,y5j,y6j,y7jを保持するための
8個のレジスタ400〜407で構成される。
【0043】定数乗算回路11の内部構成を図13に示
す。定数乗算回路11は、データy0jを保持するための
入力レジスタ410と、データy4jを保持するための入
力レジスタ411と、2個のデータy0j,y4jを順次選
択するための2入力セレクタ412と、2個の定数乗算
0 0j,t0 4jを順次実行するための乗算器413
と、積t0 0jを保持するための一時レジスタ414
と、積t0 4jを保持するための一時レジスタ415
と、当該1次元IDCTプロセッサのパイプライン動作
を保証するように両一時レジスタ414,415の出力
を保持するための2個のバッファレジスタ416,41
7とで構成される。
【0044】DA回路12の内部構成を図14に示す。
DA回路12は、6個のシフトレジスタ420〜425
と、8個の6ビット入力RAC426〜433と、8個
のバッファレジスタ434〜441と、8入力セレクタ
442とで構成される。シフトレジスタ420〜425
は、各々データy1j,y2j,y3j,y5j,y6j,y7j
保持し、各々の最下位2ビットを次々とシフトアウトす
るものである。シフトレジスタ420〜425の各々の
最下位ビットは第1のビットスライスワードq0 とし
て、各々の最下位ビットより1桁上位のビットは第2の
ビットスライスワードq1 としてそれぞれ6ビット入力
RAC426〜433へ供給される。6ビット入力RA
C426は、図15に示すように、第1のROM71
と、第2のROM72と、3入力加減算器73と、シフ
タ74と、累算レジスタ75とで構成される。第1のR
OM71は、第1のビットスライスワードq0 をアドレ
スとして受け取り、対応するベクトル内積の部分和を3
入力加減算器73へ第1の入力として供給するものであ
る。第2のROM72は、第2のビットスライスワード
1 をアドレスとして受け取り、対応するベクトル内積
の部分和を3入力加減算器73へ第2の入力として供給
するものである。累算レジスタ75の保持出力は、3入
力加減算器73へ第3の入力として供給される。ただ
し、第2の入力は、第1及び第3の入力より1ビット上
位の重みを持つ。累算レジスタ75の保持内容は、予め
0に初期化される。3入力加減算器73は、第1〜第3
の入力の加算を実行するものである。ただし、最後のビ
ットスライスワードq1 に係る部分和については、減算
を実行する。シフタ74は、3入力加減算器73の結果
の桁移動のための左シフタである。累算レジスタ75の
保持内容は、シフタ74の出力に書き換えられる。最終
的に、累算レジスタ75から部分内積ω0jが出力され
る。図14中の他の6ビット入力RACの内部構成も図
15と同様である。したがって、8個の6ビット入力R
AC426〜433で8個の部分内積ω0j,ω1j
ω2j,ω3j,ω4j,ω5j,ω6j,ω7jが並列に求められ
る。バッファレジスタ434〜441は、当該1次元I
DCTプロセッサのパイプライン動作を保証するよう
に、6ビット入力RAC426〜433の出力を保持す
るものである。8入力セレクタ442は、バッファレジ
スタ434〜441の保持データを順次選択して、部分
内積ωij(i=0〜7,j=0〜7)を、ω0j,ω1j
ω2j,ω3j,ω4j,ω5j,ω6j,ω7jの順序で出力する
ものである。
【0045】RA回路13の内部構成を図16に示す。
RA回路13は、定数乗算回路11から供給された2個
の積t0 0j,t0 4jと、DA回路12から供給され
た部分内積ωijとの加減算を実行して内積wijを求める
ための3入力加減算器450で構成される。ただし、積
0 4jについては、式(5)に従って、iの値に応じ
て加算又は減算が選択される。具体的には、i=0,
3,4,7のサイクルでは加算を選択し、i=1,2,
5,6のサイクルでは減算を選択するように制御され
る。
【0046】以下、図11〜図16に基づいて、本発明
の第3の実施例に係る1次元IDCTプロセッサの動作
を説明する。
【0047】第1から第8のサイクルでは、入力端子か
ら入力バッファ10に8個のデータy00,y10,y20
30,y40,y50,y60,y70が順次入力される。これ
らのデータは、それぞれレジスタ400〜407に格納
される。
【0048】第9のサイクルでは、入力バッファ10の
データが定数乗算回路11及びDA回路12へ転送され
る。すなわち、データy00,y40は定数乗算回路11の
入力レジスタ410,411に、データy10,y20,y
30,y50,y60,y70はDA回路12のシフトレジスタ
420〜425にそれぞれ格納される。
【0049】第10から第13のサイクルでは、定数乗
算回路11の2入力セレクタ412によりデータy00
選択され、乗算器413により定数乗算t0 00が実行
され、その結果が一時レジスタ414に書き込まれる。
第14から第17のサイクルでは、2入力セレクタ41
2によりデータy40が選択され、乗算器413により定
数乗算t0 40が実行され、その結果が一時レジスタ4
15に書き込まれる。一方、DA回路12では、第10
から第17のサイクルにおいて、6ビット入力RAC4
26〜433により8個の部分内積ω00,ω10,ω20
ω30,ω40,ω50,ω60,ω70が求められる。
【0050】第18のサイクルでは、定数乗算回路11
の一時レジスタ414,415の保持データがバッファ
レジスタ416,417へ、DA回路12の6ビット入
力RAC426〜433の出力データがバッファレジス
タ434〜441へそれぞれ転送される。
【0051】第19から第26のサイクルでは、DA回
路12の8入力セレクタ442が部分内積ω00,ω10
ω20,ω30,ω40,ω50,ω60,ω70をRA回路13へ
順次供給する。一方、積t0 00,t0 40が定数演算
回路11からRA回路13へ供給される。RA回路11
の3入力加減算器450は、式(5)に従って、内積w
00,w10,w20,w30,w40,w50,w60,w70を順次
出力する。
【0052】次の8個のデータy01,y11,y21
31,y41,y51,y61,y71に関する処理は、第9か
ら第34のサイクルにおいて、上記第1から第26のサ
イクルの処理と同様に行われる。この結果、第27から
第34のサイクルで内積w01,w11,w21,w31
41,w51,w61,w71が順次出力される。
【0053】以下同様の処理を繰り返すことにより、連
続的に供給される入力データy00〜y70,y01〜y71
…,y07〜y77に対応した出力データw00〜w70,w01
〜w71,…,w07〜w77が連続して得られる。
【0054】以上のとおり、第3の実施例によれば、乗
算器の数が1に低減された1次元IDCTプロセッサを
実現できる。しかも、定数乗算回路11の中の乗算器4
13は、2変数入力の乗算器に比べて回路規模が小さ
い。また、内積計算の一部を定数乗算回路11で実行す
るので、DA回路12のROMサイズが低減される。
【0055】以下、上記第3の実施例の変形例について
説明する。式(5)は、 wij=t0 (y0j±y4j)+ωij …(7) のように変形される。ここに、式(7)中の“±”は、
i=0,3,4,7の場合に“+”を、i=1,2,
5,6の場合に“−”をそれぞれ意味する(図1参
照)。図17の定数乗算回路11及び図18のRA回路
13は、式(7)の演算手順を採用したものである。
【0056】図17に示した定数乗算回路11は、デー
タy0jを保持するための入力レジスタ500と、データ
4jを保持するための入力レジスタ501と、加算y0j
+y4j及び減算y0j−y4jを順次実行するための2入力
加減算器502と、2個の定数乗算t0 (y0j
4j),t0 (y0j−y4j)を順次実行するための乗算
器503と、積t0 (y0j+y4j)を保持するための一
時レジスタ504と、積t0(y0j−y4j)を保持する
ための一時レジスタ505と、両一時レジスタ504,
505の出力を保持するための2個のバッファレジスタ
506,507とで構成される。
【0057】図17の定数乗算回路11を採用する場合
には、図16のRA回路13は図18のように変形され
る。図18のRA回路13は、定数乗算回路11から供
給された2個の積t0 (y0j+y4j),t0 (y0j−y
4j)のうちのいずれか一方を選択するための2入力セレ
クタ510と、該2入力セレクタ510で選択された積
とDA回路12から供給された部分内積ωijとの加算を
実行して内積wijを求めるための2入力加算器511と
で構成される。2入力セレクタ510は、式(7)に従
って、i=0,3,4,7のサイクルではt0 (y0j
4j)を選択し、i=1,2,5,6のサイクルではt
0 (y0j−y4j)を選択するように制御される。
【0058】さて、図10の行列演算は、図19のよう
に変形される。図19中の8行6列の行列の要素の半分
は0である。したがって、図19の行列演算は、図20
(a)及び図20(b)のように2つに分割される。図
20(a)中の4個の部分内積ρ0j,ρ1j,ρ2j,ρ3j
は4個の2ビット入力RACで、図20(b)中の4個
の部分内積σ0j,σ1j,σ2j,σ3jは4個の4ビット入
力RACでそれぞれ求めることができる。また、図20
(a)及び図20(b)から、 ω0j=ρ0j+σ0j ω1j=ρ1j+σ1j ω2j=ρ2j+σ2j ω3j=ρ3j+σ3j ω4j=ρ3j−σ3j ω5j=ρ2j−σ2j ω6j=ρ1j−σ1j ω7j=ρ0j−σ0j …(8) であることが分かる。図21のDA回路12は、図20
(a)及び図20(b)の行列演算をそれぞれRACで
実行したうえ、式(8)を用いて部分内積ωijを求める
ものである。
【0059】図21のDA回路12は、6個のシフトレ
ジスタ700〜705と、4個の4ビット入力RAC7
06〜709と、4個の2ビット入力RAC710〜7
13と、8個のバッファレジスタ714〜721と、第
1の4入力セレクタ722と、第2の4入力セレクタ7
23と、2入力加減算器724とで構成される。シフト
レジスタ700〜705は、各々データy1j,y2j,y
3j,y5j,y6j,y7jを保持し、各々の最下位2ビット
を次々とシフトアウトするものである。4個のシフトレ
ジスタ700,702,703,705の各々の最下位
ビットは第1のビットスライスワードs0 として、各々
の最下位ビットより1桁上位のビットは第2のビットス
ライスワードs1 としてそれぞれ4ビット入力RAC7
06〜709へ供給される。2個のシフトレジスタ70
1,704の各々の最下位ビットは第3のビットスライ
スワードr0 として、各々の最下位ビットより1桁上位
のビットは第4のビットスライスワードr1 としてそれ
ぞれ2ビット入力RAC710〜713へ供給される。
4ビット入力RAC706は、図22に示すように、第
1のROM81と、第2のROM82と、3入力加減算
器83と、シフタ84と、累算レジスタ85とで構成さ
れる。図21中の他の4ビット入力RACの内部構成も
図22と同様である。したがって、4個の4ビット入力
RAC706〜709で4個の部分内積σ0j,σ1j,σ
2j,σ3jが並列に求められる。2ビット入力RAC71
0は、図23に示すように、第1のROM91と、第2
のROM92と、3入力加減算器93と、シフタ94
と、累算レジスタ95とで構成される。図21中の他の
2ビット入力RACの内部構成も図23と同様である。
したがって、4個の2ビット入力RAC710〜713
で4個の部分内積ρ0j,ρ1j,ρ2j,ρ3jが並列に求め
られる。バッファレジスタ714〜721は、当該1次
元IDCTプロセッサのパイプライン動作を保証するよ
うに、8個のRAC706〜713の出力を保持するも
のである。第1の4入力セレクタ722は、バッファレ
ジスタ714〜717の保持データを選択して、部分内
積σ0j,σ1j,σ2j,σ3j,σ3j,σ2j,σ1j,σ0j
2入力加減算器724へ順次供給するものである。第2
の4入力セレクタ723は、バッファレジスタ718〜
721の保持データを選択して、部分内積ρ0j,ρ1j
ρ2j,ρ3j,ρ3j,ρ2j,ρ1j,ρ0jを2入力加減算器
724へ順次供給するものである。2入力加減算器72
4は、式(8)に従って加減算を実行するものである。
すなわち、部分内積ωij(i=0〜7,j=0〜7)
が、ω0j,ω1j,ω2j,ω3j,ω4j,ω5j,ω6j,ω7j
の順序で2入力加減算器724から出力される。
【0060】図11中の定数演算回路11及びRA回路
13の内部構成は、図13と図16との組み合わせ、図
17と図18との組み合わせなどの中から適宜選択され
る。また、図11中のDA回路12の内部構成は、図1
4及び図21などの中から適宜選択される。
【0061】なお、上記第1〜第3の実施例では8ポイ
ントIDCT処理について説明したが、各実施例は16
ポイントIDCT処理、8ポイントIDST処理、16
ポイントIDST処理などに容易に変形できる。
【0062】
【発明の効果】以上説明してきたとおり、本発明によれ
ば、所要の乗算器数が大幅に低減される結果、直交変換
プロセッサの回路規模が低減される。また、複数の内積
計算の各々を2個の定数乗算と1個の部分内積計算とに
分割することとすれば、内積計算の全てをDA回路で実
現する場合に比べてROMサイズが低減される結果、直
交変換プロセッサの回路規模が低減される。
【図面の簡単な説明】
【図1】本発明に係るIDCTプロセッサによって実行
されるべき行列演算を示す図である。
【図2】図1の行列演算の1つの実行手順を示す図であ
る。
【図3】図2の手順で用いられる係数行列を示す図であ
る。
【図4】図3の係数行列を採用した、本発明の第1の実
施例に係るIDCTプロセッサの構成図である。
【図5】図4中の1個の累算器の内部構成図である。
【図6】図5の累算器の変形例を示す図である。
【図7】図1の行列演算の他の実行手順を示す図であ
る。
【図8】図7の手順で用いられる係数行列を示す図であ
る。
【図9】図8の係数行列を採用した、本発明の第2の実
施例に係るIDCTプロセッサの構成図である。
【図10】図1の行列演算の一部を示す図である。
【図11】本発明の第3の実施例に係るIDCTプロセ
ッサの構成図である。
【図12】図11中の入力バッファの内部構成図であ
る。
【図13】図11中の定数乗算回路の内部構成図であ
る。
【図14】図11中の分布演算回路の内部構成図であ
る。
【図15】図10の行列演算を実行するための、図14
中の1個の6ビット入力RACの内部構成図である。
【図16】図11中の合成演算回路の内部構成図であ
る。
【図17】図13の定数乗算回路の変形例を示す図であ
る。
【図18】図17の定数乗算回路を採用したIDCTプ
ロセッサにおける合成演算回路の内部構成図である。
【図19】図10から導出された行列演算を示す図であ
る。
【図20】(a)及び(b)は図19から分割された2
つの行列演算を示す図である。
【図21】図14の分布演算回路の変形例を示す図であ
る。
【図22】図20(b)の行列演算を実行するための、
図21中の1個の4ビット入力RACの内部構成図であ
る。
【図23】図20(a)の行列演算を実行するための、
図21中の1個の2ビット入力RACの内部構成図であ
る。
【符号の説明】
10 入力バッファ 11 定数乗算回路 12 分布演算回路(DA回路) 13 合成演算回路(RA回路) 71,72,81,82,91,92 ROM 73,83,93 3入力加減算器 74,84,94 シフタ 75,85,95 累算レジスタ 101〜104,302〜304 係数メモリ 105〜108,306〜308 乗算器 109〜116,310〜317 累算器 117,318 8入力セレクタ 201 4入力セレクタ 202 2の補数器 203 加算器 204 累算レジスタ 205 バッファレジスタ 212 1の補数器 301 入力レジスタ 305 2入力セレクタ 309 一時レジスタ 400〜407 レジスタ 410,411,500,501 入力レジスタ 412,510 2入力セレクタ 413,503 乗算器 414,415,504,505 一時レジスタ 416,417,506,507 バッファレジスタ 420〜425,700〜705 シフトレジスタ 426〜433 6ビット入力RAC 434〜441,714〜721 バッファレジスタ 442 8入力セレクタ 450 3入力加減算器 502 2入力加減算器 511 2入力加算器 706〜709 4ビット入力RAC 710〜713 2ビット入力RAC 722,723 4入力セレクタ 724 2入力加減算器
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H03M 7/30 A 9382−5K H04N 1/41 B

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 2n+1 (nは2以上の整数)個の要素か
    らなる入力データに直交変換処理を施すための直交変換
    プロセッサであって、 直交変換行列を構成する2n+1 ×2n+1 個の係数のうち
    の2n ×2n+1 個の係数の各々の絶対値をそれぞれ2
    n+1 個ずつ格納するための第1から第2n の係数メモリ
    と、 前記入力データのうちの1個の要素と前記第1から第2
    n の係数メモリのうちの対応する係数メモリの2n+1
    の格納係数のうちの1個との乗算をそれぞれ実行するた
    めの第1から第2n の乗算器と、 前記直交変換行列に対応した2n+1 個の内積を並列に求
    めるように、前記直交変換行列の係数の符号を復元しな
    がら前記第1から第2n の乗算器の結果を用いた累算を
    それぞれ実行するための第1から第2n+1 の累算器と、 前記第1から第2n+1 の累算器の結果を前記直交変換プ
    ロセッサの出力データの要素として順次選択出力するた
    めの2n+1 入力セレクタとを備えたことを特徴とする直
    交変換プロセッサ。
  2. 【請求項2】 請求項1記載の直交変換プロセッサにお
    いて、 nが2であることを特徴とする直交変換プロセッサ。
  3. 【請求項3】 請求項2記載の直交変換プロセッサにお
    いて、 前記第1から第8の累算器の各々は、 前記第1から第4の乗算器のうちの1個の乗算器の結果
    そのものと、該結果の2の補数とのいずれかを選択出力
    するための2の補数器と、 前記2の補数器の出力と累算結果との加算を実行するた
    めの加算器と、 前記累算結果の初期値として0を用い、かつ前記累算結
    果の中間値として前記加算器の結果を保持出力するため
    の累算レジスタと、 前記累算レジスタの出力を保持出力するためのバッファ
    レジスタとを備えたことを特徴とする直交変換プロセッ
    サ。
  4. 【請求項4】 請求項3記載の直交変換プロセッサにお
    いて、 前記第1から第8の累算器の各々は、前記第1から第4
    の乗算器のうちの1個の乗算器の結果を前記2の補数器
    の入力として選択出力するための4入力セレクタを更に
    備えたことを特徴とする直交変換プロセッサ。
  5. 【請求項5】 請求項2記載の直交変換プロセッサにお
    いて、 前記第1から第8の累算器の各々は、 前記第1から第4の乗算器のうちの1個の乗算器の結果
    そのものと、該結果の1の補数とのいずれかを選択出力
    するための1の補数器と、 前記1の補数器の出力と累算結果との加算を実行するた
    めの加算器と、 前記累算結果の初期値として定数を用い、かつ前記累算
    結果の中間値として前記加算器の結果を保持出力するた
    めの累算レジスタと、 前記累算レジスタの出力を保持出力するためのバッファ
    レジスタとを備えたことを特徴とする直交変換プロセッ
    サ。
  6. 【請求項6】 請求項5記載の直交変換プロセッサにお
    いて、 前記第1から第8の累算器の各々は、前記第1から第4
    の乗算器のうちの1個の乗算器の結果を前記1の補数器
    の入力として選択出力するための4入力セレクタを更に
    備えたことを特徴とする直交変換プロセッサ。
  7. 【請求項7】 2n+1 (nは2以上の整数)個の要素か
    らなる入力データに直交変換処理を施すための直交変換
    プロセッサであって、 直交変換行列を構成する2n+1 ×2n+1 個の係数のうち
    の(2n −1)×2n+ 1 個の係数の各々の絶対値をそれ
    ぞれ2n+1 個ずつ格納するための第1から第(2n
    1)の係数メモリと、 入力として供給された前記入力データの要素を1個ずつ
    保持出力するための入力レジスタと、 前記入力レジスタの入力と出力とのいずれかを選択出力
    するための2入力セレクタと、 前記2入力セレクタの出力と前記第1の係数メモリの2
    n+1 個の格納係数のうちの1個との乗算を実行するため
    の第1の乗算器と、 前記入力レジスタの出力と前記第2から第(2n −1)
    の係数メモリのうちの対応する係数メモリの2n+1 個の
    格納係数のうちの1個との乗算をそれぞれ実行するため
    の第2から第(2n −1)の乗算器と、 前記第1の乗算器の結果を保持出力するための一時レジ
    スタと、 前記直交変換行列に対応した2n+1 個の内積を並列に求
    めるように、前記直交変換行列の係数の符号を復元しな
    がら前記第1から第(2n −1)の乗算器の結果と前記
    一時レジスタの出力とを用いた累算をそれぞれ実行する
    ための第1から第2n+1 の累算器と、 前記第1から第2n+1 の累算器の結果を前記直交変換プ
    ロセッサの出力データの要素として順次選択出力するた
    めの2n+1 入力セレクタとを備えたことを特徴とする直
    交変換プロセッサ。
  8. 【請求項8】 請求項7記載の直交変換プロセッサにお
    いて、 nが2であることを特徴とする直交変換プロセッサ。
  9. 【請求項9】 請求項8記載の直交変換プロセッサにお
    いて、 前記第1から第8の累算器の各々は、 前記第1から第3の乗算器の結果と前記一時レジスタの
    出力とのうちのいずれかを選択出力するための4入力セ
    レクタと、 前記4入力セレクタの出力そのものと、該出力の2の補
    数とのいずれかを選択出力するための2の補数器と、 前記2の補数器の出力と累算結果との加算を実行するた
    めの加算器と、 前記累算結果の初期値として0を予め保持し、かつ前記
    累算結果の中間値として前記加算器の結果を保持出力す
    るための累算レジスタと、 前記累算レジスタの出力を保持出力するためのバッファ
    レジスタとを備えたことを特徴とする直交変換プロセッ
    サ。
  10. 【請求項10】 請求項8記載の直交変換プロセッサに
    おいて、 前記第1から第8の累算器の各々は、 前記第1から第3の乗算器の結果と前記一時レジスタの
    出力とのうちのいずれかを選択出力するための4入力セ
    レクタと、 前記4入力セレクタの出力そのものと、該出力の1の補
    数とのいずれかを選択出力するための1の補数器と、 前記1の補数器の出力と累算結果との加算を実行するた
    めの加算器と、 前記累算結果の定数初期値を予め保持し、かつ前記累算
    結果の中間値として前記加算器の結果を保持出力するた
    めの累算レジスタと、 前記累算レジスタの出力を保持出力するためのバッファ
    レジスタとを備えたことを特徴とする直交変換プロセッ
    サ。
  11. 【請求項11】 2n+1 (nは2以上の整数)個の要素
    からなる入力データに直交変換処理を施すための直交変
    換プロセッサであって、 前記入力データの連続する2n+1 個の要素を一括して保
    持出力するための入力バッファと、 前記入力バッファから前記2n+1 個の要素のうちの第1
    番目の要素と第(2n+1)番目の要素とを入力して2
    個の定数乗算結果を並列出力するための定数乗算回路
    と、 前記入力バッファから他の(2n+1 −2)個の要素を入
    力して、直交変換行列に対応した2n+1 個の部分内積を
    順次出力するための分布演算回路と、 前記直交変換プロセッサの出力データの要素を求めるよ
    うに、前記定数乗算回路の2個の出力と前記分布演算回
    路の出力との合成演算を実行するための合成演算回路と
    を備えたことを特徴とする直交変換プロセッサ。
  12. 【請求項12】 請求項11記載の直交変換プロセッサ
    において、 nが2であることを特徴とする直交変換プロセッサ。
  13. 【請求項13】 請求項12記載の直交変換プロセッサ
    において、 前記入力バッファは、前記入力データの連続する8個の
    要素の各々を保持出力するための8個のレジスタを備え
    たことを特徴とする直交変換プロセッサ。
  14. 【請求項14】 請求項12記載の直交変換プロセッサ
    において、 前記定数乗算回路は、 前記入力データの連続する8個の要素のうちの第1番目
    の要素を保持出力するための第1の入力レジスタと、 前記入力データの連続する8個の要素のうちの第5番目
    の要素を保持出力するための第2の入力レジスタと、 前記第1の入力レジスタの出力と前記第2の入力レジス
    タの出力とを順次選択出力するための2入力セレクタ
    と、 前記2入力セレクタの出力を用いて、前記第1の入力レ
    ジスタの出力の第1の定数乗算と、前記第2の入力レジ
    スタの第2の定数乗算とを順次実行するための乗算器
    と、 前記第1の定数乗算の結果を保持出力するための第1の
    一時レジスタと、 前記第2の定数乗算の結果を保持出力するための第2の
    一時レジスタと、 前記第1の一時レジスタの出力を保持出力するための第
    1のバッファレジスタと、 前記第2の一時レジスタの出力を保持出力するための第
    2のバッファレジスタとを備え、かつ前記合成演算回路
    は、前記第1のバッファレジスタの出力と前記分布演算
    回路の出力とを各々加算入力とし、かつ前記第2のバッ
    ファレジスタの出力を加減算入力とした加減算を実行す
    るための3入力加減算器を備えたことを特徴とする直交
    変換プロセッサ。
  15. 【請求項15】 請求項12記載の直交変換プロセッサ
    において、 前記定数乗算回路は、 前記入力データの連続する8個の要素のうちの第1番目
    の要素を保持出力するための第1の入力レジスタと、 前記入力データの連続する8個の要素のうちの第5番目
    の要素を保持出力するための第2の入力レジスタと、 前記第1の入力レジスタの出力と前記第2の入力レジス
    タの出力との加算及び減算を順次実行するための2入力
    加減算器と、 前記2入力加減算器の加算結果の第1の定数乗算と、前
    記2入力加減算器の減算結果の第2の定数乗算とを順次
    実行するための乗算器と、 前記第1の定数乗算の結果を保持出力するための第1の
    一時レジスタと、 前記第2の定数乗算の結果を保持出力するための第2の
    一時レジスタと、 前記第1の一時レジスタの出力を保持出力するための第
    1のバッファレジスタと、 前記第2の一時レジスタの出力を保持出力するための第
    2のバッファレジスタとを備え、かつ前記合成演算回路
    は、 前記第1及び第2のバッファレジスタの出力のいずれか
    を選択出力するための2入力セレクタと、 前記2入力セレクタの出力と前記分布演算回路の出力と
    の加算を実行するための2入力加算器とを備えたことを
    特徴とする直交変換プロセッサ。
  16. 【請求項16】 請求項12記載の直交変換プロセッサ
    において、 前記分布演算回路は、 前記入力データの連続する8個の要素のうちの第2、第
    3、第4、第6、第7及び第8番目の要素を保持し、か
    つ該6要素の各々の最下位ビットを集めて第1のビット
    スライスワードとし、該6要素の各々の最下位ビットよ
    り1桁上位のビットを集めて第2のビットスライスワー
    ドとするように、該6要素の各々の最下位2ビットを次
    々とシフトアウトするための6個のシフトレジスタと、 前記直交変換行列に対応した8個の部分内積を並列に求
    めるように、前記第1及び第2のビットスライスワード
    に基づく積和演算をそれぞれ実行するための8個の6ビ
    ット入力RACと、 前記8個の6ビット入力RACの結果を保持出力するた
    めの8個のバッファレジスタと、 前記8個のバッファレジスタの出力を順次選択出力する
    ための8入力セレクタとを備えたことを特徴とする直交
    変換プロセッサ。
  17. 【請求項17】 請求項16記載の直交変換プロセッサ
    において、 前記8個の6ビット入力RACの各々は、 前記第1のビットスライスワードをアドレスとして索引
    されるように、前記直交変換行列に基づくベクトル内積
    の部分和を格納するための第1のROMと、 前記第2のビットスライスワードをアドレスとして索引
    されるように、前記直交変換行列に基づくベクトル内積
    の部分和を格納するための第2のROMと、 前記第1のROMから索引された部分和を第1の加算入
    力とし、前記第2のROMから索引された部分和を加減
    算入力とし、かつ累算結果を第2の加算入力とした加減
    算を実行するための3入力加減算器と、 前記3入力加減算器の結果を左シフト出力するためのシ
    フタと、 前記累算結果の初期値として0を予め保持し、かつ前記
    累算結果の中間値として前記シフタの出力を保持出力す
    るための累算レジスタとを備えたことを特徴とする直交
    変換プロセッサ。
  18. 【請求項18】 請求項12記載の直交変換プロセッサ
    において、 前記分布演算回路は、 前記入力データの連続する8個の要素のうちの第2、第
    4、第6及び第8番目の要素を保持し、かつ該4要素の
    各々の最下位ビットを集めて第1のビットスライスワー
    ドとし、該4要素の各々の最下位ビットより1桁上位の
    ビットを集めて第2のビットスライスワードとするよう
    に、該4要素の各々の最下位2ビットを次々とシフトア
    ウトするための4個のシフトレジスタと、 前記入力データの連続する8個の要素のうちの第3及び
    第7番目の要素を保持し、かつ該2要素の各々の最下位
    ビットを集めて第3のビットスライスワードとし、該2
    要素の各々の最下位ビットより1桁上位のビットを集め
    て第4のビットスライスワードとするように、該2要素
    の各々の最下位2ビットを次々とシフトアウトするため
    の2個のシフトレジスタと、 前記直交変換行列に対応した4個の部分内積を並列に求
    めるように、前記第1及び第2のビットスライスワード
    に基づく積和演算をそれぞれ実行するための4個の4ビ
    ット入力RACと、 前記直交変換行列に対応した4個の部分内積を並列に求
    めるように、前記第3及び第4のビットスライスワード
    に基づく積和演算をそれぞれ実行するための4個の2ビ
    ット入力RACと、 前記4個の4ビット入力RACの結果を保持出力するた
    めの第1から第4のバッファレジスタと、 前記4個の2ビット入力RACの結果を保持出力するた
    めの第5から第8のバッファレジスタと、 前記第1から第4のバッファレジスタの出力を順次選択
    出力するための第1の4入力セレクタと、 前記第5から第8のバッファレジスタの出力を順次選択
    出力するための第2の4入力セレクタと、 前記第1の4入力セレクタの出力を加減算入力とし、か
    つ前記第2の4入力セレクタの出力を加算入力とした加
    減算を実行するための2入力加減算器とを備えたことを
    特徴とする直交変換プロセッサ。
  19. 【請求項19】 請求項18記載の直交変換プロセッサ
    において、 前記4個の4ビット入力RACの各々は、 前記第1のビットスライスワードをアドレスとして索引
    されるように、前記直交変換行列に基づくベクトル内積
    の部分和を格納するための第1のROMと、 前記第2のビットスライスワードをアドレスとして索引
    されるように、前記直交変換行列に基づくベクトル内積
    の部分和を格納するための第2のROMと、 前記第1のROMから索引された部分和を第1の加算入
    力とし、前記第2のROMから索引された部分和を加減
    算入力とし、かつ累算結果を第2の加算入力とした加減
    算を実行するための3入力加減算器と、 前記3入力加減算器の結果を左シフト出力するためのシ
    フタと、 前記累算結果の初期値として0を予め保持し、かつ前記
    累算結果の中間値として前記シフタの出力を保持出力す
    るための累算レジスタとを備えたことを特徴とする直交
    変換プロセッサ。
  20. 【請求項20】 請求項18記載の直交変換プロセッサ
    において、 前記4個の2ビット入力RACの各々は、 前記第3のビットスライスワードをアドレスとして索引
    されるように、前記直交変換行列に基づくベクトル内積
    の部分和を格納するための第1のROMと、 前記第4のビットスライスワードをアドレスとして索引
    されるように、前記直交変換行列に基づくベクトル内積
    の部分和を格納するための第2のROMと、 前記第1のROMから索引された部分和を第1の加算入
    力とし、前記第2のROMから索引された部分和を加減
    算入力とし、かつ累算結果を第2の加算入力とした加減
    算を実行するための3入力加減算器と、 前記3入力加減算器の結果を左シフト出力するためのシ
    フタと、 前記累算結果の初期値として0を予め保持し、かつ前記
    累算結果の中間値として前記シフタの出力を保持出力す
    るための累算レジスタとを備えたことを特徴とする直交
    変換プロセッサ。
JP7094656A 1994-05-10 1995-04-20 直交変換プロセッサ Expired - Fee Related JP2901896B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7094656A JP2901896B2 (ja) 1994-05-10 1995-04-20 直交変換プロセッサ

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP9619694 1994-05-10
JP6-96196 1994-11-01
JP6-268701 1994-11-01
JP26870194 1994-11-01
JP7094656A JP2901896B2 (ja) 1994-05-10 1995-04-20 直交変換プロセッサ

Publications (2)

Publication Number Publication Date
JPH08185389A true JPH08185389A (ja) 1996-07-16
JP2901896B2 JP2901896B2 (ja) 1999-06-07

Family

ID=27307606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7094656A Expired - Fee Related JP2901896B2 (ja) 1994-05-10 1995-04-20 直交変換プロセッサ

Country Status (1)

Country Link
JP (1) JP2901896B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369615B2 (en) 2003-01-27 2008-05-06 Samsung Electronics Co., Ltd. Soft demodulation method and apparatus
CN110944177A (zh) * 2018-09-21 2020-03-31 华为技术有限公司 视频解码方法及视频解码器,视频编码方法及视频编码器
JP2021064270A (ja) * 2019-10-16 2021-04-22 ルネサスエレクトロニクス株式会社 半導体装置およびその制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369615B2 (en) 2003-01-27 2008-05-06 Samsung Electronics Co., Ltd. Soft demodulation method and apparatus
CN110944177A (zh) * 2018-09-21 2020-03-31 华为技术有限公司 视频解码方法及视频解码器,视频编码方法及视频编码器
CN110944177B (zh) * 2018-09-21 2024-03-01 华为技术有限公司 视频解码方法及视频解码器,视频编码方法及视频编码器
JP2021064270A (ja) * 2019-10-16 2021-04-22 ルネサスエレクトロニクス株式会社 半導体装置およびその制御方法

Also Published As

Publication number Publication date
JP2901896B2 (ja) 1999-06-07

Similar Documents

Publication Publication Date Title
US4791598A (en) Two-dimensional discrete cosine transform processor
JP2866754B2 (ja) 演算処理装置
JP4064989B2 (ja) パック・データの乗加算演算を実行する装置
US5867601A (en) Inverse discrete cosine transform processor using parallel processing
JPH07236143A (ja) 高速デジタル信号復号化方法
US20050004963A1 (en) Parallel adder-based DCT/IDCT design using cyclic convolution
WO1995033241A1 (fr) Processeur arithmetique a haute vitesse pour transformee en cosinus discrete et operations associees
JPS60229140A (ja) 倍精度乗算器
KR0150350B1 (ko) 직교변환 프로세서
US5764558A (en) Method and system for efficiently multiplying signed and unsigned variable width operands
WO1999010818A1 (en) Variable block size 2-dimensional inverse discrete cosine transform engine
US6003058A (en) Apparatus and methods for performing arithimetic operations on vectors and/or matrices
JP2677969B2 (ja) 直交変換装置
US5805482A (en) Inverse discrete cosine transform processor having optimum input structure
JPH08185389A (ja) 直交変換プロセッサ
JPH07121507A (ja) 離散コサイン変換装置
JPH07152730A (ja) 離散コサイン変換装置
JPH1083388A (ja) 直交変換装置
Bruguera et al. 2-D DCT using on-line arithmetic
JPH07200539A (ja) 二次元dct演算装置
JP3575991B2 (ja) 直交変換回路
JPH05153402A (ja) 離散コサイン変換器
US5801979A (en) Carry logic that produces a carry value from NLSBs for a ROM accumulator in an inverse discrete cosine transform processor
WO2001075587A2 (en) Multiplier architecture in a general purpose processor optimized for efficient multi-input addition
JPH05153403A (ja) 離散コサイン変換器

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

LAPS Cancellation because of no payment of annual fees