JP4738408B2 - 行列演算装置 - Google Patents
行列演算装置 Download PDFInfo
- Publication number
- JP4738408B2 JP4738408B2 JP2007517757A JP2007517757A JP4738408B2 JP 4738408 B2 JP4738408 B2 JP 4738408B2 JP 2007517757 A JP2007517757 A JP 2007517757A JP 2007517757 A JP2007517757 A JP 2007517757A JP 4738408 B2 JP4738408 B2 JP 4738408B2
- Authority
- JP
- Japan
- Prior art keywords
- multiplication
- circuit
- bit shift
- weighting
- processing
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
Description
図1、図2において、101は外部からの入力であり、102は重み付け乗算回路であり、103は加算回路であり、104は四捨五入処理回路であり、105はnビットシフト除算回路である。
また、タイミング制約のための一次保持回路(FF)を削減することが可能な行列演算装置を得ることを目的とする。
図3は、本発明の実施の形態1による行列演算装置の構成のブロック図であり、図4は、本発明の実施の形態1による行列演算装置の構成図である。
図3、4において、101は入力であり、202はk201乗重み付け乗算回路であり、203は加算回路であり、204は四捨五入処理回路であり、205はnビットシフト除算回路であり、206はk202ビットシフト乗算回路であり、207は補正処理回路である。また、202bは重み付け係数群202aを2のk201乗倍し、四捨五入により整数化したk201乗倍重み付け係数群である。
なお、補正処理回路における補正係数は、補正処理回路の演算結果の精度の許容範囲に基づき、最適な補正係数群が選択されるようにする。
図14において、401は可変長復号器であり、402に逆量子化器であり、403は逆DCT変換部であり、404は動き補償部であり、405は行列演算回路であり、406は一時保持メモリであり、407は加算器である。
また、重み付け係数群として、例えば、高周波成分を間引くために実現されるダウンサンプリングおよびアップサンプリングなどのダウンデコードシステムに用いられる重み付け係数群を用いることができる。また、重み付け係数群は行列内で大きな幅を持つ行列式で表されている。
図12は、本発明の実施の形態2による行列演算装置の構成のブロック図であり、図13は、本発明の実施の形態2による行列演算装置の構成図である。
図12、13において、303はk303乗重み付け乗算回路であり、304はk304乗重み付け乗算回路であり、305,306は第1、第2の加算回路であり、307はk307ビットシフト乗算回路(ここでk303+k307=k304+k308が成り立つ)であり、308はk308ビットシフト乗算回路(ここでk303+k307=k304+k308が成り立つ)であり、309はk307ビットシフト乗算回路307の演算結果とk308ビットシフト乗算回路308の演算結果に補正処理値を加算する補正処理回路であり、310はnビットシフト除算回路(n=k303+k307=k304+k308とする)であり、311は四捨五入処理回路である。
また、整数化された重み付け係数群の中で、最小乗算係数と他の乗算係数との差が所定の値より大きく補正処理する演算結果が大きい場合は、ビットシフト乗算回路の演算結果に対し、補正処理値の加算処理を行わないでビットシフト除算処理を行うようにするようにしてもよい。
また、前記重み付け係数群302aが対称性構造でない場合、補正処理回路の補正処理値に四捨五入処理を行わないようにしてもよい。
102 重み付け乗算回路
102a 重み付け乗算回路102の重み付け係数群
102b ハードウェア化する際に102aの重み付け係数群を2n倍して整数化した重み付け係数群
103 加算回路
104 四捨五入処理回路
105 nビットシフト除算回路
202 k201乗重み付け乗算回路
202a 入力101に重み付けされる重み付け係数群
202b 202aを2k201倍し、整数化した重み付け係数群
203 加算回路
204 四捨五入処理回路
205 nビットシフト除算回路
206 k202ビットシフト乗算回路
207 補正処理回路
210 第1の補正処理回路
220 第2の補正処理回路
230 k203ビットシフト乗算回路
240 knビットシフト乗算回路
250 第n−1の補正処理回路
302b 102aの上位側(C00〜C30)を2k303倍して整数化し、下位側(C40〜C70)を2k304倍して整数化した重み付け係数群
303 k303乗重み付け乗算回路
304 k304乗重み付け乗算回路
305 第1の加算回路
305a 第1の加算回路305の演算結果
306 第2の加算回路
306a 第2の加算回路306の演算結果
307 k307ビットシフト乗算回路。ここでk303+k307=k304+k308が成り立つ
307a k307ビットシフト乗算回路307の演算結果
308 k308ビットシフト乗算回路。ここでk303+k307=k304+k308が成り立つ
308a k308ビットシフト乗算回路308の演算結果
309 k307ビットシフト乗算回路の演算結果とk308ビットシフト乗算回路の演算結果に補正処理値を加算する補正処理回路
309a 補正処理回路309の演算結果
310 nビットシフト除算回路。ここで、n=k303+k307=k304+k308が成り立つ
310a nビットシフト除算回路310の演算結果
311 四捨五入処理回路
401 可変長復号器
402 逆量子化器
403 逆DCT変換部
404 動き補償部
405 行列演算回路
406 一時保持メモリ
407 加算器
600 行列演算装置
Claims (11)
- i個(iは1以上の整数)の入力に対して、m個(mは1以上の整数)以上の重み付け係数群によって重み付け演算を行う行列演算装置において、
前記重み付け係数群を2のk1乗倍してから整数化したk1乗倍重み付け係数群によって、入力に対し重み付けを行うk1乗重み付け乗算回路と、
前記k1乗重み付け乗算回路の乗算結果に対し、k2ビットシフトによってビットシフト乗算処理を行うk2ビットシフト乗算回路と、
前記k2ビットシフト乗算回路の乗算結果に対し、補正係数群を用いて演算された補正処理値の加算処理を行う補正処理回路と、
前記補正処理回路の演算結果に対し、四捨五入処理を行う四捨五入処理回路と、
前記四捨五入処理回路の演算結果に対し、kビットシフト(k=k1+k2とする)によってビットシフト除算処理を行うkビットシフト除算回路とを備える、
ことを特徴とする行列演算装置。 - 請求項1記載の行列演算装置において、
前記補正係数群が、
前記入力に対して前記k1乗倍重み係数群によって重み付けを行い、前記k2ビットシフト乗算を行った結果と、前記入力に対して前記重み付け係数群を2のk乗倍した係数で重み付けを行った結果との差を補正する係数群である、
ことを特徴とする行列演算装置。 - i個(iは1以上の整数)の入力に対して、m個(mは1以上の整数)以上の重み付け係数群によって重み付け演算を行う行列演算装置において、
前記重み付け係数群を2のk1乗倍してから整数化したk1乗倍重み付け係数群によって、入力に対し重み付けを行うk1乗重み付け乗算回路と、
前記k1乗重み付け乗算回路の演算結果に対し、第1の補正係数群を用いて演算された第1の補正処理値の加算処理を行う第1の補正処理回路と、
前記第1の補正処理回路の演算結果に対し、k2ビットシフトによってビットシフト乗算処理を行うk2ビットシフト乗算回路と、
前記k2ビットシフト乗算回路の演算結果に対し、第2の補正係数群を用いて演算された第2の補正処理値の加算処理を行う第2の補正処理回路と、
前記第2の補正処理回路の演算結果に対し、四捨五入処理を行う四捨五入処理回路と、
前記四捨五入処理回路の演算結果に対し、kビットシフト(k=k1+k2とする)によってビットシフト除算処理を行うkビットシフト除算回路とを備える、
ことを特徴とする行列演算装置。 - i個(iは1以上の整数)の入力に対して、m個(mは1以上の整数)以上の重み付け係数群によって重み付け演算を行う行列演算装置において、
前記重み付け係数群を2のk1乗倍してから整数化したk1乗倍重み付け係数群によって入力に対し重み付けを行うk1乗重み付け乗算回路と、
前記k1乗重み付け乗算回路の乗算結果に対し、k2ビットシフトによってビットシフト乗算処理を行うk2ビットシフト乗算回路と、
前記k2ビットシフト乗算回路の乗算結果に対し、第1の補正係数群を用いて演算された第1の補正処理値の加算処理を行う第1の補正処理回路と、
前記第1の補正処理回路の演算結果に対し、k3ビットシフトによってビットシフト乗算処理を行うk3ビットシフト乗算回路と、
前記k3ビットシフト乗算回路の乗算結果に対し、第2の補正係数群を用いて演算された第2の補正処理値の加算処理を行う第2の補正処理回路と、
前記第2の補正処理回路の演算結果に対し、四捨五入処理を行う四捨五入処理回路と、
前記四捨五入処理回路の演算結果に対し、kビットシフト(k=k1+k2+k3とする)によってビットシフト除算処理を行うkビットシフト除算回路とを備える、
ことを特徴とする行列演算装置。 - i個(iは1以上の整数)の入力に対して、m個(mは1以上の整数)以上の重み付け係数群によって重み付け演算を行う行列演算装置において、
前記重み付け係数群を2のk1乗倍してから整数化したk1乗倍重み付け係数群によって、入力に対し重み付けを行うk1乗重み付け乗算回路と、
前記k1乗重み付け乗算回路の乗算結果に対し、sビットシフト(s=k2,k3,…,knとする)によってビットシフト乗算処理を行うn−1個のsビットシフト乗算回路と、
前記sビットシフト乗算回路の乗算結果に対し、第tの補正係数群(t=1,2,…,n−1とし、s=knのときt=n−1とする)を用いて演算された第tの補正処理値の加算処理を行うn−1個の第tの補正処理回路と、
前記第n−1の補正処理回路の演算結果に対し、四捨五入処理を行う四捨五入処理回路と、
前記四捨五入処理回路の演算結果に対し、kビットシフト(k=k1+k2+…+knとする)によってビットシフト除算処理を行うkビットシフト除算回路とを備える、
ことを特徴とする行列演算装置。 - 請求項1、3、4、5のいずれかに記載の行列演算装置をn段備え、
前記第1ないし第nの行列演算装置は、該各行列演算装置のすべてに同じ値として入力される入力行列値に対し、それぞれ重み付け係数群の第1ないし第nの列の係数値で、重み付けを行うものであり、
各行列演算装置で、重み付け係数群に実施される重み付けの2のk1乗倍とビットシフト乗算のビットシフト値とビットシフト除算のビットシフト値は、上記係数値に基づいた可変の値をとるものであり、
前記各行列演算装置の各出力値よりなる行列出力値を出力する、
ことを特徴とする行列演算装置。 - i個(iは1以上の整数)の入力に対して、m個(mは1以上の整数)以上の重み付け係数群によって重み付け演算を行う行列演算装置において、
前記重み付け係数群を2のk1乗倍してから整数化したk1乗倍重み付け係数群によって、入力に対し重み付けを行うk1乗重み付け乗算回路と、
前記k1乗重み付け乗算回路による乗算結果に対し、k2ビットシフトによってビットシフト乗算処理を行うk2ビットシフト乗算回路と、
前記重み付け係数群を2のk3乗倍してから整数化したk3乗倍重み付け係数群によって、前記入力に対し重み付けを行うk3乗重み付け乗算回路と、
前記k3乗重み付け乗算回路による乗算結果に対し、k4ビットシフトによってビットシフト乗算処理を行うk4ビットシフト乗算回路と、
前記k2ビットシフト乗算回路の乗算結果と、前記k4ビットシフト乗算回路の乗算結果のそれぞれに対し、補正係数群を用いて演算された補正処理値の加算処理を行う補正処理回路と、
前記補正処理回路の演算結果に対し、四捨五入処理を行う四捨五入処理回路と、
前記四捨五入処理回路の演算結果に対し、kビットシフト(k=k1+k2=k3+k4とする)によってビットシフト除算処理を行うビットシフト除算回路とを備える、
ことを特徴とする行列演算装置。 - 請求項6記載の行列演算装置において、
前記第1ないし第nの行列演算装置は、重み付け係数群の係数値に基づいて決められた数の、k12ないしknビットシフトによりビットシフト乗算処理を行うビットシフト乗算回路と補正処理回路をそれぞれ備える、
ことを特徴とする行列演算装置。 - 請求項1、3、4、5、7のいずれかに記載の行列演算装置において、
整数化された重み付け係数群の乗算係数のうち、最小の乗算係数と他の乗算係数との差が所定の値より大きい場合、ビットシフト乗算回路の演算結果に対し、補正処理値の加算処理を行わないでビットシフト除算処理を行う、
ことを特徴とする行列演算装置。 - 請求項1、3、4、5、7のいずれかに記載の行列演算装置において、
補正処理回路の補正処理値に四捨五入処理を行わずビットシフト除算処理を行う、
ことを特徴とする行列演算装置。 - 請求項1記載の行列演算装置において、
前記重み付け係数群が、高周波成分を間引くために実現されるダウンデコードシステムに用いられる重み付け係数群である、
ことを特徴とする行列演算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007517757A JP4738408B2 (ja) | 2005-05-25 | 2006-05-01 | 行列演算装置 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005153139 | 2005-05-25 | ||
JP2005153139 | 2005-05-25 | ||
JP2007517757A JP4738408B2 (ja) | 2005-05-25 | 2006-05-01 | 行列演算装置 |
PCT/JP2006/309111 WO2006126377A1 (ja) | 2005-05-25 | 2006-05-01 | 行列演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2006126377A1 JPWO2006126377A1 (ja) | 2008-12-25 |
JP4738408B2 true JP4738408B2 (ja) | 2011-08-03 |
Family
ID=37451805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007517757A Expired - Fee Related JP4738408B2 (ja) | 2005-05-25 | 2006-05-01 | 行列演算装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090030964A1 (ja) |
JP (1) | JP4738408B2 (ja) |
CN (1) | CN101180622A (ja) |
WO (1) | WO2006126377A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160098431A1 (en) * | 2014-10-06 | 2016-04-07 | Seagate Technology Llc | Performing mathematical operations on changed versions of data objects via a storage compute device |
US11494625B2 (en) * | 2018-10-03 | 2022-11-08 | Maxim Integrated Products, Inc. | Systems and methods for energy-efficient analog matrix multiplication for machine learning processes |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01205329A (ja) * | 1988-02-12 | 1989-08-17 | Nippon Hoso Kyokai <Nhk> | 乗算器 |
JPH01320572A (ja) * | 1988-06-22 | 1989-12-26 | Fujitsu Ltd | 直交逆変換装置 |
JPH0630428A (ja) * | 1992-07-08 | 1994-02-04 | Matsushita Electric Ind Co Ltd | 演算装置 |
JPH0723381A (ja) * | 1993-06-23 | 1995-01-24 | Nec Corp | 画像の復号化方法及びその復号化装置 |
JPH1088387A (ja) * | 1996-09-18 | 1998-04-07 | Yamaha Motor Co Ltd | めっき装置 |
JP2001298741A (ja) * | 2000-04-17 | 2001-10-26 | Matsushita Electric Ind Co Ltd | 画像圧縮方法、画像伸張方法、画像圧縮装置、画像伸張装置および画像圧縮伸張装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5021987A (en) * | 1989-08-31 | 1991-06-04 | General Electric Company | Chain-serial matrix multipliers |
JP2945487B2 (ja) * | 1990-12-26 | 1999-09-06 | 株式会社日立製作所 | 行列乗算器 |
US5311459A (en) * | 1992-09-17 | 1994-05-10 | Eastman Kodak Company | Selectively configurable integrated circuit device for performing multiple digital signal processing functions |
US7415061B2 (en) * | 1999-08-31 | 2008-08-19 | Broadcom Corporation | Cancellation of burst noise in a communication system with application to S-CDMA |
US7158558B2 (en) * | 2001-04-26 | 2007-01-02 | Interuniversitair Microelektronica Centrum (Imec) | Wideband multiple access telecommunication method and apparatus |
IL145245A0 (en) * | 2001-09-03 | 2002-06-30 | Jtc 2000 Dev Delaware Inc | System and method including vector-matrix multiplication |
-
2006
- 2006-05-01 US US11/915,529 patent/US20090030964A1/en not_active Abandoned
- 2006-05-01 WO PCT/JP2006/309111 patent/WO2006126377A1/ja active Application Filing
- 2006-05-01 JP JP2007517757A patent/JP4738408B2/ja not_active Expired - Fee Related
- 2006-05-01 CN CNA2006800181566A patent/CN101180622A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01205329A (ja) * | 1988-02-12 | 1989-08-17 | Nippon Hoso Kyokai <Nhk> | 乗算器 |
JPH01320572A (ja) * | 1988-06-22 | 1989-12-26 | Fujitsu Ltd | 直交逆変換装置 |
JPH0630428A (ja) * | 1992-07-08 | 1994-02-04 | Matsushita Electric Ind Co Ltd | 演算装置 |
JPH0723381A (ja) * | 1993-06-23 | 1995-01-24 | Nec Corp | 画像の復号化方法及びその復号化装置 |
JPH1088387A (ja) * | 1996-09-18 | 1998-04-07 | Yamaha Motor Co Ltd | めっき装置 |
JP2001298741A (ja) * | 2000-04-17 | 2001-10-26 | Matsushita Electric Ind Co Ltd | 画像圧縮方法、画像伸張方法、画像圧縮装置、画像伸張装置および画像圧縮伸張装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101180622A (zh) | 2008-05-14 |
WO2006126377A1 (ja) | 2006-11-30 |
JPWO2006126377A1 (ja) | 2008-12-25 |
US20090030964A1 (en) | 2009-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7127482B2 (en) | Performance optimized approach for efficient downsampling operations | |
JP4560033B2 (ja) | ビデオまたはイメージのデータを復号化するための方法 | |
JPH03165192A (ja) | 2元独立変換の演算のためのシステムおよび回路 | |
JPH08235159A (ja) | 逆コサイン変換装置 | |
US8335811B2 (en) | Method and system for high fidelity IDCT and DCT algorithms | |
US6317767B2 (en) | Methods and systems for performing short integer chen IDCT algorithm with fused multiply/add | |
US7263544B2 (en) | Performance optimized approach for efficient numerical computations | |
JP4738408B2 (ja) | 行列演算装置 | |
US8924452B2 (en) | Fixed-coefficient variable prime length recursive discrete Fourier transform system | |
JPWO2006022089A1 (ja) | 乗算装置 | |
US9337869B2 (en) | Encoding and syndrome computing co-design circuit for BCH code and method for deciding the same | |
JPH09325955A (ja) | 二乗和の平方根演算回路 | |
Hung et al. | Compact inverse discrete cosine transform circuit for MPEG video decoding | |
JP3485075B2 (ja) | 復号回路及びその復号方法 | |
US20140006839A1 (en) | Apparatus and method using first and second clocks | |
WO2016181978A1 (ja) | 行列作用装置、行列作用方法、およびプログラム | |
US20050004962A1 (en) | Scalable system for inverse discrete cosine transform and method thereof | |
US20110137969A1 (en) | Apparatus and circuits for shared flow graph based discrete cosine transform | |
US11804849B2 (en) | Infinite impulse response filters with dithering and methods of operation thereof | |
TWI523437B (zh) | Bch碼編碼與癥狀計算共用設計電路及決定該共用設計電路的方法 | |
US20230133360A1 (en) | Compute-In-Memory-Based Floating-Point Processor | |
JP2009065515A (ja) | デジタルフィルタ | |
JP2000132539A (ja) | 演算装置 | |
Premkumar et al. | Combinatorial logic based forward converters in residue number systems | |
JP2010165179A (ja) | 半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101026 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110125 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110318 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110412 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110426 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140513 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |