JPH0844704A - デジタルシグナルプロセッサ装置 - Google Patents
デジタルシグナルプロセッサ装置Info
- Publication number
- JPH0844704A JPH0844704A JP17905394A JP17905394A JPH0844704A JP H0844704 A JPH0844704 A JP H0844704A JP 17905394 A JP17905394 A JP 17905394A JP 17905394 A JP17905394 A JP 17905394A JP H0844704 A JPH0844704 A JP H0844704A
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- data
- register
- stored
- expression
- 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
Links
Landscapes
- Complex Calculations (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Advance Control (AREA)
Abstract
る。 【構成】IO部15より入力された実空間の2次元8×
8画像データ〔X〕はメモリ14に記憶され、データバ
ス17を介して1行づつコプロセッサ部20に入力され
る。コプロセッサ部20では、順次入力されるデータを
パイプラインレジスタで記憶し、そのパイプラインレジ
スタを通過中の所定のデータに、乗算器、加減算器、加
算器、減算器により適宜所定の演算を行う。これを8行
について行い〔Y〕=〔X〕〔Mt 〕を求める。さら
に、この処理を繰り返し〔Zt 〕=〔Yt 〕〔Mt 〕を
求める。そして、メインプロセッサ部11の演算器12
において、〔C〕=’(1/4)〔W〕〔Z〕〔Wt 〕
を演算し、周波数空間の8×8画像データ〔C〕を求め
る。
Description
行う信号処理装置に関し、特に、2次元離散コサイン変
換(DCT(Discrete Cosine Transform))、および、
2次元逆離散コサイン変換(IDCT(Inverse DCT) )
を行うのに好ましいデジタルシグナルプロセッサ装置に
関する。
DCT、および、2次元8×8IDCTを用いる方法が
主流を占めている。その2次元8×8DCT、および、
2次元8×8IDCTは各々式15および式16で示さ
れる変換である。
は、たとえば8×8の実空間の画像行列データであり、
行列〔C〕は行列〔X〕に対応する8×8の周波数空間
の画像行列データである。行列〔N〕は行列〔C〕を行
列〔X〕に変換するための8×8定数行列である。ま
た、添え字の「t 」は転置行列を示し、たとえば行列
〔N〕と行列〔Nt 〕は転置行列であることを示す。そ
の行列〔N〕および行列〔Nt 〕は式17、式18のよ
うに表される。
計算、および、式16に示した8×8IDCTの計算
を、各々その計算式の通りに行うと、乗算回数が多くな
り演算速度が非常に遅くなり、また、回路規模が大きく
なるという問題を生じる。この問題を解決し、乗算回数
を減少させて高速演算を可能にし、さらに、回路規模が
小さくできる変換方法としては、本願出願人による特開
平6−35952号公報に開示されている変換装置の演
算方法が挙げられる。以下、この特開平6−35952
号公報に開示されている8×8DCTの変換方法、およ
び、8×8IDCTの変換方法について説明する。
ば、式19に示すように、行列〔N〕を、対角線成分が
無理数で他の成分が全て「0」の式20に示す行列
〔W〕と、各成分が無理数、「+1」、「−1」のいず
れかの式21に示す行列〔M〕とに行列分解する。
を、行列〔W〕の転置行列である式23に示す行列〔W
t 〕と、行列〔M〕の転置行列である式24に示す行列
〔M t 〕とに行列分解する。
づいて式15を式25に変換し、さらに、式25の計算
式を式26に示すように3つの計算ステップに分割す
る。
次行う。式26のステップS1の計算は、式27に示す
行列演算を8回繰り返すことにより実現できる。
7)として、行列〔X〕の第0行目のデータx0k(k
=0〜7)を入力し、式27を計算することにより、行
列〔Y〕の第0行目のデータy0k(k=0〜7)が出
力データyyk(k=0〜7)として出力される。以降
同様に、第1行目〜第7行目までのデータx1k(k=
0〜7)〜x7k(k=0〜7)を入力データとして式
27を計算することにより、行列〔Y〕の第1行目から
第7行目のデータy1k(k=0〜7)〜y7k(k=
0〜7)が順次出力され、行列〔Y〕が得られる。
す。入力されたデータxx0〜xx7に対して、図8に
示すような各演算を施すことにより、出力データyy0
〜yy7が得られる。
する。
の計算も、式27の計算を8回繰り返すことにより実現
できる。行列〔Y〕の、第0列目のデータyk0(k=
0〜7)、すなわち、行列〔Yt 〕の第0行目のデータ
を式27に入力して計算を行うと、出力されたデータ
は、行列〔Z〕の転置行列〔Zt 〕の第0行目のデー
タ、すなわち、行列〔Z〕の第0列目のデータzk0
(k=0〜7)である。以降同様に、第1列目〜第7列
目までのデータyk1(k=0〜7)〜yk7(k=0
〜7)を入力データとして式27を計算することによ
り、行列〔Z〕の第1列目から第7列目のデータzk1
(k=0〜7)〜zk7(k=0〜7)が順次出力さ
れ、行列〔Z〕が得られる。
〔W〕,〔Wt 〕が対角成分以外の要素が全て0の定数
行列なので、行列〔Z〕の各要素に各々所定の定数を乗
じる演算に変換できる。その乗じる定数を行列〔B〕と
して式29に示す。
ステップS3の計算は、式30に示す計算に変換でき
る。
行うには、式26に従って、まず、8×8行列〔X〕の
各行を単位として、図8に示す計算を行い、8×8行列
〔Y〕を行単位で求める(ステップS1)。次に、その
行列〔Y〕の各列を単位として、再び図8に示す計算を
行い、8×8行列〔Z〕を列単位に求める(ステップS
2)。そして、8×8行列〔Z〕の各要素に対して、式
29に示す行列〔B〕の対応する各要素を各々乗じるこ
とにより、8×8行列〔C〕の各要素を求める(ステッ
プS3)。これにより、式15に示した計算式をそのま
ま計算するより、少ない乗算回数で2次元8×8DCT
計算ができる。
開示されている8×8IDCTの変換方法について説明
する。この8×8IDCTの変換方法によれば、まず、
式31に示すように、行列〔N〕を、対角線成分が無理
数で他の成分が全て「0」の式32に示す行列〔G〕
と、各成分が無理数、「+1」、「−1」のいずれかの
式33に示す行列〔F〕とに行列分解する。
を、行列〔G〕の転置行列である式35に示す行列〔G
t 〕と、行列〔F〕の転置行列である式36に示す行列
〔F t 〕とに行列分解する。
づいて式16を式37に変換し、さらに、式37の計算
式を式38に示すように3つの計算ステップに分割す
る。
次行う。式38のステップS1の計算は、行列〔G〕,
〔Gt 〕が対角成分以外の要素が全て0の定数行列なの
で、行列〔C〕の各要素に各々所定の定数を乗じる演算
に変換できる。その乗じる定数を行列〔H〕として式3
9に示す。行列〔H〕の各要素を用いると、式38のス
テップS1の計算は、式40に示す計算に変換できる。
示す行列演算を8回繰り返すことにより実現できる。
7)として、行列〔P〕の第0行目のデータp0k(k
=0〜7)を入力し、式41を計算することにより、行
列〔Q〕の第0行目のデータq0k(k=0〜7)が出
力データqqk(k=0〜7)として出力される。以降
同様に、第1行目〜第7行目までのデータp1k(k=
0〜7)〜p7k(k=0〜7)を入力データとして式
41を計算することにより、行列〔Q〕の第1行目から
第7行目のデータq1k(k=0〜7)〜q7k(k=
0〜7)が順次出力され、行列〔Q〕が得られる。
す。入力されたデータpp0〜pp7に対して、図9に
示すような各演算を施すことにより、出力データqq0
〜qq7が得られる。
する。
の計算も、式41の計算を8回繰り返すことにより実現
できる。行列〔Q〕の、第0列目のデータqk0(k=
0〜7)、すなわち、行列〔Qt 〕の第0行目のデータ
を式41に入力して計算を行うと、出力されたデータ
は、行列〔X〕の転置行列〔Xt 〕の第0行目のデー
タ、すなわち、行列〔X〕の第0列目のデータxk0
(k=0〜7)である。以降同様に、第1列目〜第7列
目までのデータqk1(k=0〜7)〜qk7(k=0
〜7)を入力データとして式41を計算することによ
り、行列〔X〕の第1列目から第7列目のデータxk1
(k=0〜7)〜xk7(k=0〜7)が順次出力さ
れ、行列〔X〕が得られる。
を行うには、式40に従って、まず、8×8行列〔C〕
の各要素に対して、式39に示す行列〔H〕の対応する
各要素を各々乗じることにより、8×8行列〔P〕の各
要素を求める(ステップS1)。次に、8×8行列
〔P〕の各行を単位として、図9に示す計算を行い、8
×8行列〔Q〕を行単位で求める(ステップS2)。そ
して、その行列〔Q〕の各列を単位として、再び図9に
示す計算を行い、8×8行列〔X〕を列単位に求める
(ステップS3)。これにより、式16に示した計算式
をそのまま計算するより、少ない乗算回数で2次元8×
8IDCT計算ができる。
DCT、および、2次元8×8IDCTは、通常、デジ
タルシグナルプロセッサ(以後、DSPと言う)により
その演算が実行され、画像データの圧縮、伸張が行われ
る。図10に、一般的なDSPの構成を示す。DSP9
0は、メインプロセッサ部91、メモリ94、IO部9
5、および、制御部96より構成される。メインプロセ
ッサ部91は、演算器92と、レジスタファイル93よ
り構成される。また、メインプロセッサ部91とメモリ
94間はデータバス97により、メインプロセッサ部9
1内の演算器92とレジスタファイル93間はデータバ
ス98により、各々データ転送可能なように接続されて
いる。
外部からのデータは、IO部95より入力され、メモリ
94に一時記憶される。メモリ94に記憶されたデータ
は、データバス97を介してメインプロセッサ部91内
のレジスタファイル93に転送される。演算器92はデ
ータバス98を介してレジスタファイル93のデータを
読み込み、演算処理を行い、演算結果のデータを再びレ
ジスタファイル93に書き込む。そして、レジスタファ
イル93のデータはデータバス97を介してメモリ94
に記憶された後、IO部95より外部に出力される。こ
れらの、データの転送、演算などの制御は制御部96に
より行われる。
な、乗算回数を減らして高速化した方法の2次元8×8
DCTおよび2次元8×8IDCTであっても、このよ
うな通常のDSPを用いて変換を行う場合には、十分満
足できる演算速度は実現できず、より高速に演算を行い
たいという要求があった。図10に示すDSP90にお
いて、式24および式36の各演算を行う場合、全ての
演算は演算器92によって行わなければならない。その
ため、演算器92の負荷が非常に大きくなり、DCTお
よびIDCTの変換時間を短縮できなかった。また、演
算器92の負荷を減らすような構成、たとえば、コプロ
セッサ部を有する構成のDSPであっても、式24およ
び式36の演算を効率よく高速に実現できる構成のDS
Pはなかった。
うな2次元8×8DCTおよび2次元8×8IDCTの
演算を効率よく高速に実現できる構成のDSPを提供す
るこにある。
元8×8DCTおよび2次元8×8IDCTの演算を効
率よく行うために、コプロセッサを用いて、DSPの演
算器の負荷を減らすようにした。そして、そのコプロセ
ッサは、式26のステップS1およびステップS2、お
よび、式38のステップS3、ステップS4の行列演算
を高速に行えるようなコプロセッサを設けることにし
た。
タの入出力を行う入出力回路と、データを記憶するメモ
リ回路と、そのメモリ回路に記憶されているメモリに対
して所定の演算を行う第1の演算回路とを有し、さら
に、直列的に接続され、順次データを転送可能な複数の
記憶素子と、その記憶素子より供給されるデータを用い
て所定の演算を行い、その演算の結果を所定の記憶素子
に出力する各々並列に動作可能な複数の演算器とを有
し、順次入力される一連のデータを順次後段の前記記憶
回路に転送するその転送過程において前記演算器により
所定の演算を行い出力データ系列を得る第2の演算回路
とを有する。
行列に対して、少なくとも1の対角成分が無理数であり
他の成分が「0」である第1の行列と、各成分が無理
数、「+1」、「−1」のいずれかである第2の行列と
に行列分解できる第1の係数行列を左側から、前記第2
の行列の転置行列である第3の行列と、前記第1の行列
の転置行列である第4の行列とに行列分解できる第2の
係数行列を右側からそれぞれ乗算し、その乗算結果であ
る出力行列を得るデジタルシグナルプロセッサ装置であ
って、前記第2の演算回路において、前記第2の行列と
前記入力行列と前記第3の行列との乗算に相当する所定
の計算を行い、前記第1の演算回路において、前記第2
の演算回路回路の演算結果に対して左側から前記第1の
行列を乗算し右側から前記第4の行列を乗算する演算に
相当する所定の計算を行う。
接続されパイプライン方式でデータの転送が可能な少な
くとも13個のレジスタと、該レジスタの任意のデータ
に対して演算可能な少なくとも1個の乗算器と1個の加
減算器と1個の加算器と2個の減算器より構成され、そ
の第2の演算回路で式26のステップS1およびステッ
プS2の演算を行い、前記第1の演算回路で式26のス
テップS3の演算を行うことにより、2次元8×8離散
コサイン変換を行う。
入力行列に対して、少なくとも1の対角成分が無理数で
あり他の成分が「0」である第1の行列と、各成分が無
理数、「+1」、「−1」のいずれかである第2の行列
とに行列分解できる第1の係数行列を右側から、前記第
2の行列の転置行列である第3の行列と、前記第1の行
列の転置行列である第4の行列とに行列分解できる第2
の係数行列を左側からそれぞれ乗算し、その乗算結果で
ある出力行列を得るデジタルシグナルプロセッサ装置で
あって、前記第2の演算回路において、前記第4の行列
と前記入力行列と前記第1の行列との乗算に相当する所
定の計算を行い、前記第1の演算回路において、前記第
2の演算回路回路の演算結果に対して左側から前記第3
の行列を乗算し右側から前記第2の行列を乗算する演算
に相当する所定の計算を行う。
接続されパイプライン方式でデータの転送が可能な少な
くとも13個のレジスタと、該レジスタの任意のデータ
に対して演算可能な少なくとも1個の乗算器と1個の加
減算器と2個の加算器と1個の減算器より構成され、前
記第1の演算回路で式38のステップS1の演算を行
い、前記第2の演算回路で式38のステップS2および
ステップS3の演算を行うことにより、2次元8×8逆
離散コサイン変換を行う。
路において、入力データの系列を順次パイプライン方式
の記憶素子に入力し、その記憶素子を通過中のデータに
対して、各々並列に動作する複数の演算器により演算を
行うことができるので、式26のステップS1およびス
テップS2、式38のステップS2およびステップS3
の行列演算を、高速に実行することができる。そして、
第1の演算回路においては、式26のステップS3およ
び式38のステップS1の演算を行えばよいので、その
負荷が軽減できる。
図7を参照して説明する。図1は、本実施例のDSPの
構成を示すブロック図である。DSP10は、メインプ
ロセッサ部11、コプロセッサ部20、IO部15、メ
モリ14、および、制御部16より構成されている。メ
インプロセッサ部11は演算器12およびレジスタファ
イル13より構成されている。メインプロセッサ部1
1、メモリ14、および、コプロセッサ部20は、デー
タバス17を介して相互にデータの転送が可能な構成で
ある。また、メインプロセッサ部11の演算器12はデ
ータバス18を介してレジスタファイル13よりデータ
の読み出しおよび書き込みが可能な構成である。
部15は、データの入出力を行うIOポートである。メ
モリ14は、データを記憶するメモリである。メモリ1
4は、データバス17を介してメインプロセッサ部11
およびコプロセッサ部20よりデータを転送される。ま
た、IO部15より入出力されるデータは、一旦、メモ
リ14に記憶され、IO部15より出力されるデータ
も、メモリ14に記憶されているデータより出力され
る。画像データ、および、圧縮画像データはこのメモリ
14に記憶される。
四則演算、論理演算、シフト演算を行う演算回路であ
る。演算器12は、データバス18を介してレジスタフ
ァイル13よりデータを読み込み、所定の演算を実行し
て、演算結果のデータを再びレジスタファイル13に書
き込む。レジスタファイル13は、演算器12で演算を
行うためのデータ、および、演算結果のデータを格納す
る複数のレジスタより構成されるレジスタファイルであ
る。制御部16は、前記各構成部、および、データバス
17、データバス18を制御する制御部である。
参照して説明する。図2は、コプロセッサ部20の構成
を示すブロック図である。コプロセッサ部20は、13
個のレジスタR0〜R12、12個のデータセレクタS
1〜S12、2つの加減算器AS1,AS2、加算器A
DD、減算器SU、乗算器MPY、および、内部データ
バスBUSより構成される。
続されており、パイプラインレジスタを構成している。
初段のレジスタR0は入力端子INに接続されており、
最終段のレジスタR12は出力端子OUTに接続されて
いる。各レジスタR0〜R12の間には、12個のデー
タセレクタS1〜S12が設けられている。このデータ
セレクタSi(i=1〜12)は、レジスタRi-1 (i
=0〜11)からのデータか、内部データバスからのデ
ータか、いずれかを選択するためのセレクタであり、選
択されたデータは、次段のレジスタRi(i=1〜1
2)へ入力される。
タバスBUSと接続されており、内部データバスBUS
を介して供給されたレジスタR0〜R12の任意の2つ
のレジスタのデータについて、加算または減算を行い、
その結果を内部データバスBUSを介して任意のレジス
タに格納する。加減算器AS1,AS2においては、前
記演算を1クロックサイクルで行う。加算器ADDも、
内部データバスBUSと接続されており、レジスタR0
〜R12の任意の2つのレジスタのデータを加算し、そ
の結果を任意のレジスタに格納する。この加算も1クロ
ックサイクルで行われる。減算器SUBも、内部データ
バスBUSと接続されており、レジスタR0〜R12の
任意のレジスタのデータを減算値および被減算値とし
て、減算を行い、その結果を任意のレジスタに格納す
る。この減算も1クロックサイクルで行われる。
接続されており、レジスタR0〜R12の任意のレジス
タのデータと、制御部16より供給される乗数との乗算
を計算する。この乗算は2クロックサイクルで行われる
が、乗算器MPY内部が2段にパイプライン化されてい
るため、データの入力、乗算結果の出力はともに1クロ
ックサイクル周期で可能である。ただし、入力したデー
タに対する乗算結果は1クロックサイクル遅れて出力さ
れる。出力されたデータは、内部データバスBUSを介
して任意のレジスタに格納される。
R12のデータを各演算器に供給するため、制御部16
から乗算器MPYに乗数を供給するため、および、各演
算器での演算結果をレジスタR0〜R12に転送するた
めのデータバスである。これらの転送は、全て1クロッ
クサイクルの間に行われる。そのために、このデータバ
スBUSは、1クロックサイクルをさらに時分割した転
送クロックにしたがって、この転送を行う。また、これ
らの転送のための各レジスタR0〜R12、および、各
演算器の制御は制御部16からの制御信号により適宜行
われる。
り、前述した2次元8×8DCTの計算を行う方法につ
いて説明する。まず、コプロセッサ部20において、図
8にシグナルフローを示した式27の計算を行うことに
ついて図3および図4を参照して説明する。図3は、コ
プロセッサ部20のレジスタR0〜R12のデータの流
れを示す図である。図4は、コプロセッサ部20の各演
算器で行われる演算を示す図である。
より入力データを、データxx6,xx7,xx5,x
x4,xx3,xx2,xx1,xx0の順に入力す
る。各データは、レジスタR0から順次後段のレジスタ
に格納される。6サイクル目より入力された各データを
用いて順次演算が行われる。まず、6サイクル目に、レ
ジスタR0に格納されているデータxx3と、レジスタ
R1に格納されているデータxx4を演算器ADDおよ
び演算器SUBに供給し、各々データxx3、xx4の
加算および減算を行い、その加算結果のデータxa3を
レジスタR2に、減算結果のデータxa4をレジスタR
1に格納する。
て、レジスタR0に格納されているデータxx2とレジ
スタR3に格納されているデータxx5との加算が行わ
れ、加算結果のデータxa2がレジスタR4に格納され
る。また、減算器SUBにおいては、レジスタR0に格
納されているデータxx2よりレジスタR3に格納され
ているデータxx5が減じられ、減算結果のデータxa
5がレジスタR1に格納される。
て、レジスタR0に格納されているデータxx1とレジ
スタR6に格納されているデータxx6との加算が行わ
れ、加算結果のデータxa1がレジスタR7に格納され
る。また、減算器SUBにおいては、レジスタR0に格
納されているデータxx1よりレジスタR6に格納され
ているデータxx6が減じられ、減算結果のデータxa
6がレジスタR1に格納される。
て、制御部16より供給された乗数2a4(=2×co
s(4×π/16))と、レジスタR1に格納されてい
るデータxa6との乗算が行われる。この乗算には2サ
イクルが必要なため、この乗算結果のデータxb5は1
0サイクル目にレジスタR3に格納される。加減算器1
AS2においては、レジスタR2に格納されているデー
タxa5と、レジスタR1に格納されているデータxa
6との加算が行われ、加算結果のデータxb6がレジス
タR3に格納される。加算器ADDにおいては、レジス
タR0に格納されているデータxx0とレジスタR6に
格納されているデータxx7との加算を行い、加算結果
のデータxa0をレジスタR7に格納する。減算器SU
Bにおいては、レジスタR0に格納されているデータx
x0よりレジスタR6に格納されているデータxx7が
減じられ、減算結果のデータxa7をレジスタR1に格
納する。
て、制御部16より供給された乗数2a4(=2×co
s(4×π/16))と、レジスタR1に格納されてい
るデータxa7との乗算が行われる。この乗算には2サ
イクルが必要なため、この乗算結果のデータxb4は1
1サイクル目にレジスタR3に格納される。加減算器A
S2においては、レジスタR4に格納されているデータ
xa4と、レジスタR1に格納されているデータxa5
との加算が行われ、加算結果のデータxb7がレジスタ
R5に格納される。加算器ADDにおいては、レジスタ
R8に格納されているデータxa1とレジスタR6に格
納されているデータxa2との加算を行い、加算結果の
データxc1をレジスタR9に格納する。減算器SUB
においては、レジスタR8に格納されているデータxa
1よりレジスタR6に格納されているデータxa2が減
じられ、減算結果のデータxc3をレジスタR7に格納
する。
て、レジスタR8に格納されているデータxa0とレジ
スタR6に格納されているデータxa3との加算が行わ
れ、加算結果のデータxc0がレジスタR9に格納され
る。また、減算器SUBにおいては、レジスタR8に格
納されているデータxa0よりレジスタR6に格納され
ているデータxa3が減じられ、減算結果のデータxc
2がレジスタR7に格納される。
いて、レジスタR10に格納されているデータxc1と
レジスタR9に格納されているデータxc0との加算が
行われ、加算結果のデータyy0がレジスタR12に格
納される。乗算器MPYにおいては、制御部16より供
給された乗数2a4(=2×cos(4×π/16))
と、レジスタR7に格納されているデータxc2との乗
算が行われる。この乗算には2サイクルが必要なため、
この乗算結果のデータxd2は13サイクル目にレジス
タR9に格納される。加減算器AS2においては、レジ
スタR8に格納されているデータxc3と、レジスタR
7に格納されているデータxc2との加算が行われ、加
算結果のデータxd3がレジスタR9に格納される。加
算器ADDにおいては、レジスタR4に格納されている
データxb5とレジスタR6に格納されているデータx
b7との加算を行い、加算結果のデータxc5をレジス
タR7に格納する。減算器SUBにおいては、レジスタ
R4に格納されているデータxb5よりレジスタR6に
格納されているデータxb7が減じられ、減算結果のデ
ータxc7をレジスタR5に格納する。
いて、レジスタR10に格納されているデータxc0よ
りレジスタR11に格納されているデータxc1が減じ
られ、減算結果のデータyy4がレジスタR12に格納
される。加算器ADDにおいては、レジスタR4に格納
されているデータxb4とレジスタR6に格納されてい
るデータxb6との加算を行い、加算結果のデータxc
4をレジスタR7に格納する。減算器SUBにおいて
は、レジスタR4に格納されているデータxb4よりレ
ジスタR6に格納されているデータxb6が減じられ、
減算結果のデータxc6をレジスタR5に格納する。
いて、レジスタR10に格納されているデータxd3と
レジスタR9に格納されているデータxd2との加算が
行われ、加算結果のデータyy2がレジスタR12に格
納される。乗算器MPYにおいては、制御部16より供
給された乗数2a4(=2×cos(4×π/16))
と、レジスタR7に格納されているデータxc4との乗
算が行われる。この乗算には2サイクルが必要なため、
この乗算結果のデータxd4は15サイクル目にレジス
タR9に格納される。加減算器AS2においては、レジ
スタR8に格納されているデータxc5と、レジスタR
7に格納されているデータxc4との加算が行われ、加
算結果のデータxd5がレジスタR9に格納される。
いて、レジスタR10に格納されているデータxd2よ
りレジスタR11に格納されているデータxd3が減じ
られ、減算結果のデータyy6がレジスタR12に格納
される。
いて、レジスタR10に格納されているデータxd5と
レジスタR9に格納されているデータxd4との加算が
行われ、加算結果のデータyy1がレジスタR12に格
納される。乗算器MPYにおいては、制御部16より供
給された乗数2a4(=2×cos(4×π/16))
と、レジスタR7に格納されているデータxc6との乗
算が行われる。この乗算には2サイクルが必要なため、
この乗算結果のデータxd6は17サイクル目にレジス
タR9に格納される。加減算器AS2においては、レジ
スタR8に格納されているデータxc7と、レジスタR
7に格納されているデータxc6との加算が行われ、加
算結果のデータxd7がレジスタR9に格納される。
いて、レジスタR10に格納されているデータxd4よ
りレジスタR11に格納されているデータxd5が減じ
られ、減算結果のデータyy7がレジスタR12に格納
される。18サイクル目には、加減算器AS1におい
て、レジスタR10に格納されているデータxd7とレ
ジスタR9に格納されているデータxd6との加算が行
われ、加算結果のデータyy3がレジスタR12に格納
される。19サイクル目には、加減算器AS1におい
て、レジスタR10に格納されているデータxd6より
レジスタR11に格納されているデータxd7が減じら
れ、減算結果のデータyy5がレジスタR12に格納さ
れる。
にして図8に示した式27の計算を実行する。計算結果
は、13〜20サイクルの間に、データyy0,yy
4,yy2,yy6,yy1,yy7,yy3,yy5
の順に出力端子OUTより出力される。
法について説明する。まず、IO部15より入力された
入力データである行列〔X〕は、順次メモリ14に記憶
される。行列〔X〕は、64個の要素xij(i,j=
0〜7)より構成される8×8の行列である。入力され
た行列データ〔X〕に対して、まず、式26のステップ
S1の演算が、コプロセッサ部20において行われる。
〔X〕の第0行目のデータが、データバス17を介し
て、データx06,x07,x05,x04,x03,
x02,x01,x00の順にコプロセッサ部20に入
力される。入力されたデータは、コプロセッサ部20に
おいて、前述した処理が行われ、式27が計算される。
この計算結果のデータは、式26の行列〔Y〕の第0行
目のデータに相当し、前述したように、データy00,
y04,y02,y06,y01,y07,y03,y
05の順に出力される。なお、データyijは行列
〔Y〕の要素であり、i,j=0〜7である。出力され
たデータはデータバス17を介してメモリ14に記憶さ
れる。
目のデータが、順次コプロセッサ部20に入力され、式
27の計算が行われ、計算結果が再びメモリ14に記憶
される。その結果、式26の行列〔Y〕が得られる。
じくコプロセッサ部20において同様に行う。式26の
ステップS2の演算は、式28のように変換できるの
で、実際にはこの式28の演算を行う。まず、メモリ1
4に記憶されている行列〔Y〕の第0列目のデータが、
データバス17を介して、データy60,y70,y5
0,y40,y30,y20,y10,y00の順にコ
プロセッサ部20に入力される。入力されたデータは、
コプロセッサ部20において、前述した処理が行われ、
式27が計算される。この計算結果のデータは、式28
の行列〔Z〕の第0列目のデータに相当し、前述したよ
うに、データz00,z40,z20,z60,z1
0,z70,z30,z50の順に出力される。なお、
データzijは行列〔Z〕の要素であり、i,j=0〜
7である。出力されたデータはデータバス17を介して
メモリ14に記憶される。
目のデータが、順次コプロセッサ部20に入力され、式
27の計算が行われ、計算結果が再びメモリ14に記憶
される。その結果、式26および式28の行列〔Z〕が
得られる。
メインプロセッサ部11において行う。まず、メモリ1
4に記憶されている行列〔Z〕のデータz00を読み出
し、データバス17、データバス18を介してメインプ
ロセッサ部11のレジスタファイル13に格納する。ま
た、メモリ14に予め記憶されている式29の定数行列
〔B〕の、データz00に対応するデータb00も同様
にレジスタファイル13に転送する。そして、演算器1
2において、データz00とデータb00の乗算が行わ
れ、演算結果のデータc00がレジスタファイル13に
格納される。その結果のデータc00は、再びデータバ
ス17、データバス18を介してメモリ14に記憶され
る。以下同様にして、行列〔Z〕の各要素に対して、行
列〔B〕の対応する要素との乗算が計算される。これに
より、式26のステップS3の計算結果の行列〔C〕が
得られる。
6のステップS1およびステップS2の演算はコプロセ
ッサ部20で、ステップS3の演算はメインプロセッサ
部11で実行して、2次元8×8DCTの演算が行うこ
とができる。したがって、メインプロセッサ部11に負
荷が集中しない。また、メインプロセッサ部11とコプ
ロセッサ部20の処理は並列に行うことができる。その
ため、高速に、効率よく2次元8×8DCTの演算が行
える。
り、前述した2次元8×8IDCTの計算を行う方法に
ついてを参照して説明する。まず、コプロセッサ部20
において、図9にシグナルフローを示した式41の計算
を行うことについて図5および図6を参照して説明す
る。図5は、コプロセッサ部20のレジスタR0〜R1
2のデータの流れを示す図である。図6は、コプロセッ
サ部20の各演算器で行われる演算を示す図である。
に入力データpp3,pp5,pp1,pp7,pp
2,pp6,pp0,pp4を順次入力する。各データ
はレジスタR0から順次後段のレジスタに格納される。
3サイクル目より入力された各データを用いて順次演算
が行われる。まず、3サイクル目に、加減算器AS1に
おいて、レジスタR0に格納されているデータpp5と
レジスタR1に格納されているデータpp3との加算が
行われ、加算結果のデータpa6がレジスタR3に格納
される。
て、レジスタR2に格納されているデータpp3よりレ
ジスタR1に格納されているデータpp5が減じられ、
減算結果のデータpa7がレジスタR3に格納される。
乗算器MPYにおいては、制御部16より供給された乗
数aa6{=1/(2×cos(6×π/16))}
と、レジスタR3に格納されているデータpa6との乗
算が行われる。この乗算には2サイクルが必要なため、
この乗算結果のデータpb6は5サイクル目にレジスタ
R5に格納される。
て、レジスタR0に格納されているデータpp7と、レ
ジスタR1に格納されているデータpp1との加算が行
われ、加算結果のデータpa4がレジスタR3に格納さ
れる。
て、レジスタR2に格納されているデータpp1よりレ
ジスタR1に格納されているデータpp7が減じられ、
減算結果のデータpa5がレジスタR3に格納される。
乗算器MPYにおいては、制御部16より供給された乗
数aa2{=1/(2×cos(2×π/16))}
と、レジスタR3に格納されているデータpa4との乗
算が行われる。この乗算には2サイクルが必要なため、
この乗算結果のデータpb4は7サイクル目にレジスタ
R5に格納される。加減算器AS2においては、レジス
タR4に格納されているデータpa7よりレジスタR5
に格納されているデータpb6が減じられ、減算結果の
データpb7がレジスタR5に格納される。
て、レジスタR0に格納されているデータpp6とレジ
スタR1に格納されているデータpp2との加算が行わ
れ、加算結果のデータpa2がレジスタR3に格納され
る。
て、レジスタR2に格納されているデータpp2よりレ
ジスタR1に格納されているデータpp6が減じられ、
減算結果のデータpa3がレジスタR3に格納される。
乗算器MPYにおいては、制御部16より供給された乗
数aa4{=1/(2×cos(4×π/16))}
と、レジスタR3に格納されているデータpa2との乗
算が行われる。この乗算には2サイクルが必要なため、
この乗算結果のデータpb2は9サイクル目にレジスタ
R5に格納される。加減算器AS2においては、レジス
タR4に格納されているデータpa5よりレジスタR5
に格納されているデータpb4が減じられ、減算結果の
データpb5がレジスタR5に格納される。加算器AD
Dにおいては、レジスタR5に格納されているデータp
b4とレジスタR7に格納されているデータpb5との
加算が行われ、加算結果のデータpc4がレジスタR8
に格納される。減算器SUBにおいては、レジスタR5
に格納されているデータpb4よりレジスタR7に格納
されているデータpb6が減じられ、減算結果のデータ
pc6がレジスタR6に格納される。
て、レジスタR0に格納されているデータpp4とレジ
スタR1に格納されているデータpp0との加算が実行
され、加算結果のデータpa0がレジスタR3に格納さ
れる。乗算器MPYにおいては、制御部16より供給さ
れた乗数aa4{=1/(2×cos(4×π/1
6))}と、レジスタR8に格納されているデータpc
4との乗算が行われる。この乗算には2サイクルが必要
なため、この乗算結果のデータpd4は10サイクル目
にレジスタR10に格納される。加算器ADDにおいて
は、レジスタR5に格納されているデータpb5とレジ
スタR7に格納されているデータpb7との加算が行わ
れ、加算結果のデータpc5がレジスタR8に格納され
る。減算器SUBにおいては、レジスタR5に格納され
ているデータpb5よりレジスタR7に格納されている
データpb7が減じられ、減算結果のデータpc7がレ
ジスタR6に格納される。
いて、レジスタR2に格納されているデータpp0より
レジスタR1に格納されているデータpp4が減じら
れ、減算結果のデータpa1がレジスタR3に格納され
る。乗算器MPYにおいては、制御部16より供給され
た乗数aa4{=1/(2×cos(4×π/1
6))}と、レジスタR8に格納されているデータpc
5との乗算が行われる。この乗算には2サイクルが必要
なため、この乗算結果のデータpd5は11サイクル目
にレジスタR10に格納される。加減算器AS2におい
ては、レジスタR4に格納されているデータpa3より
レジスタR5に格納されているデータpb2が減じら
れ、減算結果のデータpb3がレジスタR5に格納され
る。加算器ADDにおいては、レジスタR3に格納され
ているデータpa0とレジスタR5に格納されているデ
ータpb2との加算が行われ、加算結果のデータpc0
がレジスタR4に格納される。減算器SUBにおいて
は、レジスタR3に格納されているデータpa0よりレ
ジスタR5に格納されているデータpb2が減じられ、
減算結果のデータpc2がレジスタR6に格納される。
いて、レジスタR7に格納されているデータpc7より
レジスタR10に格納されているデータpd4が減じら
れ、減算結果のデータpd7がレジスタR8に格納され
る。加算器ADDにおいては、レジスタR3に格納され
ているデータpa1とレジスタR5に格納されているデ
ータpb3との加算が行われ、加算結果のデータpc1
がレジスタR4に格納される。減算器SUBにおいて
は、レジスタR3に格納されているデータpa1よりレ
ジスタR5に格納されているデータpb3が減じられ、
減算結果のデータpc3がレジスタR6に格納される。
いて、レジスタR9に格納されているデータpc6より
レジスタR10に格納されているデータpd5が減じら
れ、減算結果のデータpd6がレジスタR10に格納さ
れる。加算器ADDにおいては、レジスタR5に格納さ
れているデータpc0とレジスタR11に格納されてい
るデータpd4との加算が行われ、加算結果のデータq
q0がレジスタR12に格納される。減算器SUBにお
いては、レジスタR5に格納されているデータpc0よ
りレジスタR11に格納されているデータpd4が減じ
られ、減算結果のデータqq7がレジスタR6に格納さ
れる。
て、レジスタR5に格納されているデータpc1とレジ
スタR11に格納されているデータpd5との加算が行
われ、加算結果のデータqq1がレジスタR12に格納
される。減算器SUBにおいては、レジスタR5に格納
されているデータpc1よりレジスタR11に格納され
ているデータpd5が減じられ、減算結果のデータqq
6がレジスタR6に格納される。
て、レジスタR8に格納されているデータpc3とレジ
スタR11に格納されているデータpd6との加算が行
われ、加算結果のデータqq2がレジスタR12に格納
される。減算器SUBにおいては、レジスタR8に格納
されているデータpc3よりレジスタR11に格納され
ているデータpd6が減じられ、減算結果のデータqq
5がレジスタR9に格納される。
て、レジスタR10に格納されているデータpc2とレ
ジスタR11に格納されているデータpd7との加算が
行われ、加算結果のデータqq3がレジスタR12に格
納される。減算器SUBにおいては、レジスタR10に
格納されているデータpc2よりレジスタR11に格納
されているデータpd7が減じられ、減算結果のデータ
qq4がレジスタR11に格納される。
にして図9に示した式41の計算を実行する。計算結果
は、13〜20サイクルの間に、データqq0,qq
1,qq2,qq3,qq4,qq5,qq7,qq6
の順に出力される。
方法について説明する。まず、IO部15より入力され
た入力データである行列〔C〕は、順次メモリ14に記
憶される。行列〔C〕は、64個の要素cij(i,j
=0〜7)より構成される8×8の行列である。入力さ
れた行列データ〔C〕に対して、まず、式38のステッ
プS1の演算が、メインプロセッサ部11において行わ
れる。
〔C〕のデータc00を読み出し、データバス17、デ
ータバス18を介してメインプロセッサ部11のレジス
タファイル13に格納する。また、メモリ14に予め記
憶されている式39に示す定数行列〔H〕の、データc
00に対応するデータh00も同様にレジスタファイル
13に転送する。そして、演算器12において、データ
z00とデータh00の乗算が行われ、演算結果のデー
タp00がレジスタファイル13に格納される。その結
果のデータp00は、再びデータバス17、データバス
18を介してメモリ14に記憶される。以下同様にし
て、行列〔C〕の各要素に対して、行列〔H〕の対応す
る要素との乗算が計算される。これにより、式38のス
テップS1の計算結果の行列〔P〕が得られる。
ップS2の演算が、コプロセッサ部20において行われ
る。メモリ14に記憶されている行列〔P〕の第0行目
のデータが、データバス17を介して、データp03,
p05,p01,p07,p02,p06,p00,p
04の順にコプロセッサ部20に入力される。入力され
たデータは、コプロセッサ部20において、前述した処
理が行われ、式41が計算される。この計算結果のデー
タは、式38の行列〔Q〕の第0行目のデータに相当
し、前述したように、データq00,q01,q02,
q03,q04,q05,q07,q06の順に出力さ
れる。なお、データqijは行列〔Q〕の要素であり、
i,j=0〜7である。出力されたデータはデータバス
17を介してメモリ14に記憶される。
目のデータが、順次コプロセッサ部20に入力され、式
41の計算が行われ、計算結果が再びメモリ14に記憶
される。その結果、式38の行列〔Q〕が得られる。
同じくコプロセッサ部20において同様に行う。式38
のステップS3の演算は、式42のように変換できるの
で、実際にはこの式42の演算を行う。したがって、ま
ず、メモリ14に記憶されている行列〔Q〕の第0列目
のデータが、データバス17を介して、データq30,
q50,q10,q70,q20,q60,q00,q
40の順にコプロセッサ部20に入力される。入力され
たデータは、コプロセッサ部20において、前述した処
理が行われ、式41が計算される。この計算結果のデー
タは、式42の行列〔X〕の第0列目のデータに相当
し、前述したように、データx00,x10,x20,
x30,x40,x50,x70,x60の順に出力さ
れる。なお、データxijは行列〔X〕の要素であり、
i,j=0〜7である。出力されたデータはデータバス
17を介してメモリ14に記憶される。
目のデータが、順次コプロセッサ部20に入力され、式
41の計算が行われ、計算結果が再びメモリ14に記憶
される。その結果、式38および式42の行列〔X〕が
得られる。
8のステップS1の演算はメインプロセッサ部11で、
ステップS2およびステップS3の演算はコプロセッサ
部20で実行して、2次元8×8IDCTの演算が行う
ことができる。したがって、メインプロセッサ部11に
負荷が集中しない。また、メインプロセッサ部11とコ
プロセッサ部20の処理は並列に行うことができる。そ
のため、高速に、効率よく2次元8×8IDCTの演算
が行える。
はなく、本実施例以外の種々の形態で実現されてよい。
たとえば、コプロセッサ部20の構成は、図2に示した
本実施例の構成に限られず種々の構成のコプロセッサを
用いてよい。
は、1個の乗算器、2個の加減算器、1個の加算器、1
個の減算器を有する構成とした。しかし、これに2次元
8×8DCTおよび2次元8×8IDCTの演算を行う
場合の最適な一構成例であり、これ以外の構成の演算器
でもよい。たとえば、2次元8×8DCTの演算のみを
行う場合には、1個の乗算器、1個の加減算器、2個の
加算器、1個の減算器を有する構成でよい。また、2次
元8×8IDCTの演算のみを行う場合には、1個の乗
算器、1個の加減算器、1個の加算器、2個の減算器を
有する構成でよい。
接続してパイプラインレジスタを形成し、そのパイプラ
インレジスタをデータがワードシリアルに通過していく
間に必要なデータを、適切な時刻に演算器に供給し、演
算結果を再びパイプラインレジスタに戻すことが可能な
構成のコプロセッサを有することを特徴とする。そのよ
うなコプロセッサの一般的な構成は図7のように示され
る。図7に示すコプロセッサ部30は、直列に接続され
た複数のレジスタよりなるパイプラインレジスタPL
と、そのパイプラインレジスタPLの任意のレジスタの
データに対して演算を行い、任意のレジスタにデータを
出力可能な演算器EXU1〜EXU4と、前記パイプラ
インレジスタPLと演算器EXU1〜EXU4とのデー
タの転送を行う内部データバスBUSより構成される。
このような構成のコプロセッサを有するDSP装置であ
れば、適宜制御を行うことにより、メインプロセッサ部
のみのDSPと比較して、高速に効率よく、2次元8×
8DCT、または、2次元8×8IDCTが実行可能で
ある。
スBUSは、レジスタR0〜R12および各演算器の間
でデータを転送をするためのデータバスであり、この内
部データバスBUSでは、1クロックサイクルをさらに
時分割した転送クロックに従って転送を行い、全ての転
送を1クロックサイクル内で行っていた。しかし、内部
データバスBUSの機能は、各演算器と各レジスタのデ
ータの転送であり、これ以外の他の転送手段を用いても
よい。特に、本DSPの動作速度が高速になった場合、
さらに高周波数で動作するこのデータ転送が、全体とし
ての高速化の妨げとなる場合などには、次のような転送
手段を用いるのが好ましい。
を拡張して、複数のデータの転送が平行に行えるような
構成にしてよい。平行なバスの数に応じて、前記転送ク
ロックのサイクルを長くすることができる。また、図2
に示したコプロセッサ部20においては、5系統のデー
タバスを用いるようにすれば、各演算器ごとに1つのデ
ータバスを専有することができる。さらに、各演算器の
各入力、また各レジスタへの入力を、各々並列に任意に
選択できるような構成にしてもよい。この場合、バス形
式のデータ転送手段とは言えず、複数のスイッチ、セレ
クタなどの選択手段により構成されたデータ転送手段で
ある。
T専用のDSPとして用いる場合のように、特定の用
途、特定の演算のために用いられる場合であれば、全て
のレジスタと演算器の間でデータの転送が可能なような
転送手段を設ける必要はない。その特定の演算に基づい
た所定の組み合わせで、各々データの転送が可能なよう
な転送手段でよい。すなわち、ある演算器へのデータの
入力としては、特定のレジスタのデータが入力可能、あ
るいは、特定の複数レジスタからのデータが選択可能な
ように、データバス、セレクタへ配線されているような
構成でよい。
SIチップ上に構成されるか、あるいは、複数のLSI
チップ上に構成されるかを限定されるものではない。1
つのLSIチップ上に構成し、DCT/IDCT機能を
搭載したDSPチップ、あるいは、DCT/IDCT専
用DSPとして実施してもよい。また、そのコプロセッ
サ部と高速にデータの転送が可能なデータ転送手段を別
のLSIチップ上に設け、メインプロセッサ部を有する
汎用DSPチップと共に2個のLSIチップにより構成
してもよい。
タ系列を順次パイプライン方式の記憶素子に入力し、そ
の記憶素子を通過中のデータに対して各々並列に動作す
る複数の演算器により演算を行うことができるコプロセ
ッサ部を設けたので、行列演算を、高速に実行すること
ができた。また、そのため、メインプロセッサ部の負荷
が軽減でき、演算時間が短縮できた。したがって、2次
元8×8DCTおよび2次元8×8IDCTの演算を効
率よく高速に実現できるDSPを提供できた。
る。
示すブロック図である。
したDSPのコプロセッサ部の各レジスタのデータの流
れを示す図である。
したDSPのコプロセッサ部の各演算器で行われる演算
を示す図である。
示したDSPのコプロセッサ部の各レジスタのデータの
流れを示す図である。
示したDSPのコプロセッサ部の各演算器で行われる演
算を示す図である。
一般的構成を示す図である。
る。
ータセレクタ AS1,AS2…加減算器 ADD…加算器 SUB…減算器 MPY…乗算器 BUS…内部データバス IN…入力端子 OUT…出力端子 30…コプロセッサ部 PL…パイプラインレジスタ BUS…内部デー
タバス EXU1〜EXU4…演算器 90…DSP 91…メインプロセッサ部 92…演算器 93…レジスタファイル 94…メモリ 95…IO部 96…制御部 97、98…データバス
Claims (5)
- 【請求項1】データの入出力を行う入出力回路と、デー
タを記憶するメモリ回路と、該メモリ回路に記憶されて
いるデータに対して所定の演算を行う第一の演算回路と
を有するデジタルシグナルプロセッサ装置であって、 直列的に接続され、順次データを転送可能な複数の記憶
素子と、 前記記憶素子より供給されるデータを用いて所定の演算
を行い、該演算の結果を所定の前記記憶素子に出力する
各々並列に動作可能な複数の演算器とを有し、順次入力
される一連のデータを順次後段の前記記憶素子に転送
し、該転送過程において前記演算器により所定の演算を
行い出力データ系列を得る第2の演算回路をさらに有す
るデジタルシグナルプロセッサ装置。 - 【請求項2】入力行列に対して、少なくとも1の対角成
分が無理数であり他の成分が「0」である第1の行列
と、各成分が無理数、「+1」、「−1」のいずれかで
ある第2の行列とに行列分解できる第1の係数行列を左
側から、前記第2の行列の転置行列である第3の行列
と、前記第1の行列の転置行列である第4の行列とに行
列分解できる第2の係数行列を右側からそれぞれ乗算
し、その乗算結果である出力行列を得るデジタルシグナ
ルプロセッサ装置であって、 前記第2の演算回路は、前記第2の行列と、前記入力行
列と、前記第3の行列との順次左側からの乗算に相当す
る所定の演算を行い、 前記第1の演算回路は、前記第1の行列と、前記第2の
演算回路回路の演算結果と、前記第4の行列との順次左
側からの乗算に相当する所定の演算を行い出力行列を得
る請求項1記載のデジタルシグナルプロセッサ装置。 - 【請求項3】前記第2の演算回路は、直列に接続されパ
イプライン方式でデータの転送が可能な少なくとも13
個のレジスタと、該レジスタの任意のデータに対して演
算可能な少なくとも1個の乗算器と1個の加減算器と1
個の加算器と2個の減算器より構成され、 該第2の演算回路は、行列〔M〕の転置行列〔Mt 〕が
式1で定義されるとき、 【数1】 式2の行列演算を繰り返し行うことにより、 【数2】 入力された8×8の実空間の画像行列データ〔X〕に対
して、式3の行列演算を実行し、 【数3】 式3の演算の結果得られた行列〔Y〕の転置行列
〔Yt 〕に対する式4の行列演算を、式2の行列演算を
繰り返すことにより行い、 【数4】 前記第1の演算回路は、行列〔W〕が式5で定義される
とき、 【数5】 前記第2の演算回路により式4の行列演算の結果得られ
た行列〔Zt 〕を転置行列とする行列〔Z〕に対して式
6の演算を行い、 【数6】 8×8の周波数空間の画像行列データ〔C〕を求める式
7の2次元8×8離散コサイン変換を行う 【数7】 請求項1または2記載のデジタルシグナルプロセッサ装
置。 - 【請求項4】入力行列に対して、少なくとも1の対角成
分が無理数であり他の成分が「0」である第1の行列
と、各成分が無理数、「+1」、「−1」のいずれかで
ある第2の行列とに行列分解できる第1の係数行列を右
側から、前記第2の行列の転置行列である第3の行列
と、前記第1の行列の転置行列である第4の行列とに行
列分解できる第2の係数行列を左側からそれぞれ乗算
し、その乗算結果である出力行列を得るデジタルシグナ
ルプロセッサ装置であって、 前記第2の演算回路は、前記第4の行列と、前記入力行
列と、前記第1の行列との順次左側からの乗算に相当す
る所定の演算を行い、 前記第1の演算回路は、前記第3の行列と、前記第2の
演算回路の演算結果と、前記第2の行列との順次左側か
らの乗算に相当する所定の演算を行い出力行列を得る請
求項1〜3いずれか記載のデジタルシグナルプロセッサ
装置。 - 【請求項5】前記第2の演算回路は、直列に接続されパ
イプライン方式でデータの転送が可能な少なくとも13
個のレジスタと、該レジスタの任意のデータに対して演
算可能な少なくとも1個の乗算器と1個の加減算器と2
個の加算器と1個の減算器より構成され、 前記第1の演算回路は、行列〔G〕が式8により定義さ
れるとき、 【数8】 8×8の周波数空間の画像行列データ〔C〕に対して式
9の演算を行い、 【数9】 前記第2の演算回路は、行列〔F〕が式10で定義され
るとき、 【数10】 式11の行列演算を繰り返し行うことにより、 【数11】 前記第1の演算回路において式9の行列演算の結果得ら
れた行列〔P〕に対して、式12の行列演算を実行し、 【数12】 式12の演算の結果得られた行列〔Q〕の転置行列〔Q
t 〕に対する式13の行列演算を、式11の行列演算を
繰り返すことにより行い、 【数13】 8×8の実空間の画像行列データ〔X〕を求める式14
の2次元8×8逆離散コサイン変換を行う 【数14】 請求項1〜4いずれか記載のデジタルシグナルプロセッ
サ装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17905394A JP3697720B2 (ja) | 1994-07-29 | 1994-07-29 | デジタルシグナルプロセッサ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17905394A JP3697720B2 (ja) | 1994-07-29 | 1994-07-29 | デジタルシグナルプロセッサ装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0844704A true JPH0844704A (ja) | 1996-02-16 |
| JP3697720B2 JP3697720B2 (ja) | 2005-09-21 |
Family
ID=16059300
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17905394A Expired - Fee Related JP3697720B2 (ja) | 1994-07-29 | 1994-07-29 | デジタルシグナルプロセッサ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3697720B2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006319944A (ja) * | 2005-04-15 | 2006-11-24 | Sony Corp | 復号制御装置および方法、記録媒体、並びに、プログラム |
-
1994
- 1994-07-29 JP JP17905394A patent/JP3697720B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006319944A (ja) * | 2005-04-15 | 2006-11-24 | Sony Corp | 復号制御装置および方法、記録媒体、並びに、プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3697720B2 (ja) | 2005-09-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2646778B2 (ja) | ディジタル信号処理装置 | |
| KR100311251B1 (ko) | 2차원이산코사인변환장치,2차원역이산코사인변환장치및디지탈신호처리장치 | |
| EP0506111B1 (en) | DCT/IDCT processor and data processing method | |
| US4791598A (en) | Two-dimensional discrete cosine transform processor | |
| US4689762A (en) | Dynamically configurable fast Fourier transform butterfly circuit | |
| US4385363A (en) | Discrete cosine transformer | |
| JP2010102351A (ja) | 複合ガロア体エンジンおよびガロア体除算器および平方根エンジンおよび方法 | |
| US5408425A (en) | Split-radix discrete cosine transform | |
| JPH04242860A (ja) | 演算装置 | |
| JPH04242861A (ja) | 内積演算回路 | |
| JP2725544B2 (ja) | Dct及び逆dct演算装置並びにその演算方法 | |
| JP3697720B2 (ja) | デジタルシグナルプロセッサ装置 | |
| US6023719A (en) | Signal processor and method for fast Fourier transformation | |
| JP2822684B2 (ja) | 離散コサイン変換装置および逆離散コサイン変換装置 | |
| Maruyama et al. | VLSI architecture and implementation of a multifunction, forward/inverse discrete cosine transform processor | |
| JP2646844B2 (ja) | 離散コサイン変換装置 | |
| JP3697716B2 (ja) | 行列データ乗算装置 | |
| JP3052516B2 (ja) | 符号化データ処理装置 | |
| JPH0335353A (ja) | 離散的コサイン変換装置 | |
| JPH05174046A (ja) | 演算回路 | |
| KR0126109B1 (ko) | 이산적 코사인변환 및 역변환을 위한 집적회로 프로세서 | |
| JP3652717B2 (ja) | 離散コサイン高速演算器 | |
| JP2953918B2 (ja) | 演算装置 | |
| JPH06195369A (ja) | 高速アルゴリズム離散コサイン変換器/逆変換器 | |
| JPH06124300A (ja) | 2次元4x4離散コサイン変換回路および2次元4x4離散コサイン逆変換回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040901 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040914 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041111 |
|
| 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: 20080715 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090715 Year of fee payment: 4 |
|
| LAPS | Cancellation because of no payment of annual fees |