JP2005216124A - 行列演算装置 - Google Patents
行列演算装置 Download PDFInfo
- Publication number
- JP2005216124A JP2005216124A JP2004023896A JP2004023896A JP2005216124A JP 2005216124 A JP2005216124 A JP 2005216124A JP 2004023896 A JP2004023896 A JP 2004023896A JP 2004023896 A JP2004023896 A JP 2004023896A JP 2005216124 A JP2005216124 A JP 2005216124A
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- accumulator
- value
- output
- external input
- 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
Images
Landscapes
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【解決手段】 行列の大きさに対応した数の演算器50を備え、各演算器50において、セレクタ10が初めに外部入力11から供給される画素値を出力して乗算器20で変換行列の要素との乗算を行い、累算器30に1回目の行列演算の結果を保持する。次に、セレクタ10が累算器30からの値を出力して乗算器20で変換行列との2回目の乗算を行う。この結果、各演算器50から8入力加算器60に2回目の行列演算の途中結果が供給され、8入力加算器60がそれらの加算結果を出力することにより、2回目の行列演算結果が得られる。
【選択図】 図1
Description
各々の演算器は、2つの入力端と1つの入力端を有するセレクタと、セレクタの出力値と、第2の外部入力端から供給される第2の行列の各要素データの乗算を行う乗算器と、乗算器の出力値の入力を受けてそれらを累算する累算器を備え、セレクタは、第1の外部入力端から供給される第1の行列の各要素データおよび累算器の累算結果を入力とし、セレクタが第1の外部入力端からの入力を選択して出力する間、累算器は乗算器の出力値を累算し、セレクタが累算器の累算結果を選択して出力する間、累算器は累算処理を停止し、加算器は、セレクタが累算器の累算結果を選択して出力する間に各々の演算器の出力端から供給される乗算器の出力値の入力を受け、それらを加算して出力するものである。
実施の形態1.
図1は、この発明の実施の形態1による、画像処理装置のDCT演算ユニット(行列演算装置)100の構成を示すブロック図である。図に示すように、DCT演算ユニット100は、8個の演算器50、および8入力加算器60を備えている。各々の演算器50は、それぞれセレクタ10、乗算器20、累算器30を備えている。各々の演算器50は、外部入力(第1の外部入力端)11と外部入力(第2の外部入力端)12を有している。
乗算器20の入力端には、セレクタ10の出力と外部入力12が接続されている。
また、8入力加算器60の8つの入力端には、8個の演算器50の乗算器20の出力が接続されている。
まず、DCT演算ユニット100が行うDCT変換処理について説明する。
DCT変換を行列式で表すと、C×X×CTとなる。ここで、Cは8行8列の変換行列、Xは8行8列の画素値行列、CTは、行列Cの転置行列である。図2は、行列Cのm行n列(m、n=1,2,3,・・・,8)の要素の値をcmn、行列Xのm行n列の要素の値をxmnと表した場合のDCT変換の行列式を示している。ここでcmnは実数値である。
まず初期状態では、各々の演算器50のセレクタ10は、外部入力11を選択して出力する。
この結果、左からk番目の演算器50の累算器30の出力値は、行列Zのk行1列目の値となる。
この状態で、図1中、左からk番目の演算器50の外部入力12に、c11,c12,c13,・・・,c18が入力される。これは図2に示す行列Cの1行目(図2上の枠線Bで囲った部分)の各要素に相当する。
各々の演算器50の乗算器20は、累算器30の出力値と外部入力12との乗算結果を出力する。すなわち、左からk番目の演算器50の乗算器20からは、行列Cの1行k列の値と行列Zのk行1列の値の積が出力される。
図3は、行列Zのm行n列(m、n=1,2,3,・・・,8)の要素の値をzmnと表した場合の行列式C×Zを示したものであり、各々の演算器50の乗算器20からは、図中枠線Dで囲った部分の要素同士の乗算結果が出力される。
この結果各演算器50の乗算器20からは、(c2k*zk1)の値が出力される。その結果、8入力加算器60からは、C×X×CTの2行1列目の値が出力される。
以下、外部入力12の値を行列Cの3行目〜8行目まで変化させて同様の演算を8回繰り返すと、C×X×CTの1列目の値が得られる。
セレクタ10は、外部入力11を出力する様に設定され、左からk番目の演算器50の外部入力10にはxk1,xk2,・・・,xk8が順に入力され、外部入力12には、全てc21,c22,・・・,c28が順に入力される。
この結果、左からk番目の演算器50の累算器30の出力値は、行列Zの、k行2列目の演算結果が並んでいる状態となる。
この状態で、左からk番目の演算器50の外部入力12に、c11,c12,c13,・・・,c18が入力される。これは行列Cの1行目の各要素に相当する。
各々の演算器50の乗算器20は、累算器30の出力値と外部入力12との乗算結果を出力する。すなわち、左からk番目の演算器50の乗算器20からは、行列Cの1行k列目の値と行列Zのk行2列目の値の積が出力される。
8入力加算器60には、各々の演算器50の乗算器20の乗算結果が入力され、それらが加算される。演算結果は、C×X×CTの1行2列目の値が出力される。
この結果各演算器50の乗算器20からは、(c2k*zk2)の値が出力される。その結果、8入力加算器60からは、C×X×CTの2行2列目の値が出力される。
以下、外部入力12の値を行列Cの3行目〜8行目まで変化させて同様の演算を8回繰り返すと、C×X×CTの2列目の8個の値が得られる。
上述の演算を8回繰り返すことにより、C×X×CTの8列目までの値が得られ、C×X×CTの演算が終了する。
このように、行列演算の中間結果をメモリ等の記憶装置へ保持しないため、演算途中で記憶装置へのアクセスが発生せず、演算処理の時間を短縮することができる。
実施の形態1では、外部入力11および外部入力12は実数値であり、乗算器20、累算器30、および8入力加算器60は実数の演算に対応している。しかし、実数演算は演算量が大きくなるため、実施の形態2は、整数演算によりDCT変換を行う。
実施の形態2による行列演算は、実施の形態1とほぼ同様の手順で行われるが、累算器230の出力はシフト器40に供給される。
シフト器40は、累算器230から供給されたデータをqビット分シフトダウンし、小数点以下の値を四捨五入した値を出力する。
さらに、外部入力211および外部入力212の値を予めシフトアップして整数値とし、整数値演算に対応した乗算器220、累算器230、および8入力加算器260を用いて演算を行い、シフト器40およびシフト器70でシフトダウンおよび丸め処理行うようにしたので、演算量の少ない整数演算により行列演算を行うことができる。
Claims (3)
- 第1の行列の各要素データの供給を受ける第1の外部入力端と、第2の行列の各要素データの供給を受ける第2の外部入力端と、出力端とを有する複数の演算器と、
上記複数の演算器の出力値を加算して出力する加算器を備え、
各々の上記演算器は、
2つの入力端と1つの入力端を有するセレクタと、
上記セレクタの出力値と、上記第2の外部入力端から供給される第2の行列の各要素データの乗算を行う乗算器と、
上記乗算器の出力値の入力を受けてそれらを累算する累算器を備え、
上記セレクタは、上記第1の外部入力端から供給される第1の行列の各要素データおよび上記累算器の累算結果を入力とし、
上記セレクタが上記第1の外部入力端からの入力を選択して出力する間、上記累算器は上記乗算器の出力値を累算し、
上記セレクタが上記累算器の累算結果を選択して出力する間、上記累算器は累算処理を停止し、
上記加算器は、上記セレクタが上記累算器の累算結果を選択して出力する間に各々の演算器の出力端から供給される上記乗算器の出力値の入力を受け、それらを加算して出力することを特徴とする行列演算装置。 - 各々の演算器の外部入力端から供給するデータの桁をシフトさせることにより整数値とし、
上記各々の演算器は、累算器の出力を入力とする第1のシフト器と、
加算器の出力を入力とする第2のシフト器を備え、
各々の演算器の乗算器、累算器、および加算器は、整数演算を行い、
上記第1のシフト器は、上記累算器の出力値をシフトして桁を戻すと共に小数点以下の値を四捨五入してセレクタに供給し、
上記第2のシフト器は、上記加算器の出力値をシフトして桁を戻すと共に小数点以下の値を四捨五入して出力することを特徴とする請求項1記載の行列演算装置。 - 第1の行列は画素値行列であり、
第2の行列は、上記第1の行列で表される画像データを圧縮するための変換行列であることを特徴とする請求項1または請求項2記載の行列演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004023896A JP4156538B2 (ja) | 2004-01-30 | 2004-01-30 | 行列演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004023896A JP4156538B2 (ja) | 2004-01-30 | 2004-01-30 | 行列演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005216124A true JP2005216124A (ja) | 2005-08-11 |
JP4156538B2 JP4156538B2 (ja) | 2008-09-24 |
Family
ID=34906764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004023896A Expired - Fee Related JP4156538B2 (ja) | 2004-01-30 | 2004-01-30 | 行列演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4156538B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009181293A (ja) * | 2008-01-30 | 2009-08-13 | Yamaha Corp | 行列演算コプロセッサ |
JP2013205973A (ja) * | 2012-03-27 | 2013-10-07 | Fujitsu Ltd | 行列演算装置 |
CN106708467A (zh) * | 2016-12-09 | 2017-05-24 | 深圳市紫光同创电子有限公司 | 一种宽位累加器电路及其设计方法、可编程逻辑器件 |
CN118094074A (zh) * | 2024-04-28 | 2024-05-28 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 矩阵乘计算结果累加方法、装置、设备及存储介质 |
-
2004
- 2004-01-30 JP JP2004023896A patent/JP4156538B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009181293A (ja) * | 2008-01-30 | 2009-08-13 | Yamaha Corp | 行列演算コプロセッサ |
JP2013205973A (ja) * | 2012-03-27 | 2013-10-07 | Fujitsu Ltd | 行列演算装置 |
CN106708467A (zh) * | 2016-12-09 | 2017-05-24 | 深圳市紫光同创电子有限公司 | 一种宽位累加器电路及其设计方法、可编程逻辑器件 |
CN106708467B (zh) * | 2016-12-09 | 2019-02-01 | 深圳市紫光同创电子有限公司 | 一种宽位累加器电路及其设计方法、可编程逻辑器件 |
CN118094074A (zh) * | 2024-04-28 | 2024-05-28 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 矩阵乘计算结果累加方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP4156538B2 (ja) | 2008-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4772281B2 (ja) | 画像処理装置及び画像処理方法 | |
JP2004007337A5 (ja) | ||
US5268853A (en) | Orthogonal transformation processor for compressing information | |
JPH03180965A (ja) | 単一のマルチプライヤ/アキュムレータと単一のランダムアクセスメモリを用いてdct/idct演算を繰り返す集積回路装置 | |
US7352494B2 (en) | Pixel block data generating device and pixel block data generating method | |
JP3278756B2 (ja) | 画像処理方法及び装置 | |
US10402196B2 (en) | Multi-dimensional sliding window operation for a vector processor, including dividing a filter into a plurality of patterns for selecting data elements from a plurality of input registers and performing calculations in parallel using groups of the data elements and coefficients | |
KR100693654B1 (ko) | 행렬과 벡터의 내적 벡터 산출 장치 및 방법 | |
US5867414A (en) | Compact pipelined matrix multiplier utilizing encoding and shifting circuit configurations | |
JP4156538B2 (ja) | 行列演算装置 | |
JP2008523489A (ja) | 画像サイズを変更する方法および装置 | |
CN116888591A (zh) | 一种矩阵乘法器、矩阵计算方法及相关设备 | |
CN111222090B (zh) | 卷积计算模块、神经网络处理器、芯片和电子设备 | |
US8902474B2 (en) | Image processing apparatus, control method of the same, and program | |
US5359549A (en) | Orthogonal transformation processor for compressing information | |
JP5734715B2 (ja) | データ処理装置およびデータ処理方法 | |
US7319463B2 (en) | Electronic camera apparatus and image processing method thereof | |
CN114758209A (zh) | 卷积结果获取方法、装置、计算机设备及存储介质 | |
US7684650B2 (en) | Method for processing image frame output from an image sensor by an image processor | |
JP5738639B2 (ja) | データ処理装置およびデータ処理方法 | |
US5671169A (en) | Apparatus for two-dimensional inverse discrete cosine transform | |
JP4920559B2 (ja) | データ処理装置 | |
JP2006094225A (ja) | 画像処理装置、画像処理方法、およびそのプログラム | |
JP3553376B2 (ja) | 並列画像処理プロセッサ | |
WO2021056143A1 (zh) | 图像处理方法、装置及移动设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061215 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071016 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080523 |
|
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: 20080610 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080709 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 3 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |