JP2019074967A - フィルタ処理装置およびその制御方法 - Google Patents
フィルタ処理装置およびその制御方法 Download PDFInfo
- Publication number
- JP2019074967A JP2019074967A JP2017201247A JP2017201247A JP2019074967A JP 2019074967 A JP2019074967 A JP 2019074967A JP 2017201247 A JP2017201247 A JP 2017201247A JP 2017201247 A JP2017201247 A JP 2017201247A JP 2019074967 A JP2019074967 A JP 2019074967A
- Authority
- JP
- Japan
- Prior art keywords
- filter
- data
- pattern
- coefficient
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 30
- 238000012545 processing Methods 0.000 claims abstract description 137
- 238000012546 transfer Methods 0.000 description 63
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 15
- 238000001914 filtration Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000013500 data storage Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
Abstract
Description
所定の演算処理を並列に実行するK個の演算手段と、
前記処理対象データに含まれる複数のデータ値をL次元に直交配列して保持するデータ保持手段と、
前記フィルタカーネルに含まれる複数のフィルタ係数をL次元に直交配列して保持する係数保持手段と、
前記K個の演算手段に入力するK個のデータ値を前記複数のデータ値から選択する第1のパターンを保持する第1のパターン保持手段と、
前記K個の演算手段に入力する1つのフィルタ係数を前記複数のフィルタ係数から選択する第2のパターンを保持する第2のパターン保持手段と、
前記第1のパターンを参照して前記K個の演算手段にK個のデータ値を入力し、前記第2のパターンを参照して前記K個の演算手段に共通の1つのフィルタ係数を入力する制御手段と、
を有し、
前記所定の演算処理は、前記K個のデータ値に対して前記1つのフィルタ係数を並列に乗算する処理を含む。
本発明に係るフィルタ処理装置の第1実施形態として、画像データを処理するフィルタ処理装置を例に挙げて以下に説明する。
図2は、第1実施形態に係るフィルタ処理装置のブロック図である。
図3は、フィルタ処理部205の詳細構成を示すブロック図である。また、図1は、第1実施形態におけるフィルタ処理のフローチャートである。
以下では、積和演算(S106)をより詳細に説明する。積和演算(S106)には、ステップS107〜S111に示されるループ処理として構成される。
積和演算(S106)の処理例について、1つの画素セットと1つのフィルタ係数セットを例に説明する。ここでは、画素セット401は、16個の画素(D1,1〜D4,4)を含む。また、フィルタ係数セット402は、9個のフィルタ係数(C1,1〜C3,3)を含む。更に、出力結果セット403は、4個の出力結果(O1,1〜O2,2)を含む。
<フィルタカーネルの回転/反転>
携帯端末や車載機器は持ち方と置き方によって向きや角度が変わり、入力画像(処理対象データ)の回転角度が異なる。正しい処理結果を算出するためには、処理対象データに対して適正な方向(回転角度)でフィルタ処理をする必要がある。
第1実施形態では、フィルタのカーネルサイズ(係数の個数)が9個(X×Y=3×3=9)の例について説明した。ただし、特定のカーネルサイズに限定する訳でなく、数式(8)を満足する任意のカーネルサイズ(X'×Y')を用いることができる。
上述の実施形態(図10、図13)では、画素及びフィルタ係数それぞれに対して設定された転送パターンに基づき、フィルタ係数格納部305と画素格納部306の中に保持された画素とフィルタ係数を略ジグザグ形状で順次シフトさせる例について説明した。
フィルタ係数または画素の値が”0”の場合、フィルタの係数と画素の積が0になるため、畳み込み演算の結果に影響しない。そのため、値が”0”以外の画素とフィルタ係数のみが有意であるとみなすことが出来る。そこで、有意でない画素やフィルタ係数が読み出されないように転送パターンを設定することにより処理時間を更に低減することが可能である。
第1実施形態においては、図5に示すように積和演算処理部309は4並列(M=2,N=2)である形態について説明したが、演算器の個数は”4”に限定される訳ではない。要求仕様に応じて任意のK個に決定し得る。
第1実施形態においては、図4に示すように画素セット401は16個の画素、フィルタ係数セット402は9個のフィルタ係数、処理結果セット403は4個の処理結果である例について説明したが、様々な構成とすることが可能である。
第1実施形態では、2次元データに対するフィルタ処理の例について説明したが、2次元に限るわけでなく、任意のL次元のデータでも良い。例えば、入力データが時系列情報を含んでいる3次元データのビデオの場合には以下のような構成になる。
上述の説明においては、フィルタ処理の対象となる入力データとして画像から抽出された画素を想定して説明した。ただし、処理対象のデータは画像に限定されず、任意のデータを対象とし得る。
フィルタ係数は画像処理のパラメータによって決定するとは限らない。例えば、機械学習によって装置が自動的に生成するよう構成しても良い。また、上述のフィルタ処理の構成は、様々な畳み込み演算に適用することが可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
Claims (10)
- 処理対象データに対してフィルタカーネルを用いてフィルタ処理を行うフィルタ処理装置であって、
所定の演算処理を並列に実行するK個の演算手段と、
前記処理対象データに含まれる複数のデータ値をL次元に直交配列して保持するデータ保持手段と、
前記フィルタカーネルに含まれる複数のフィルタ係数をL次元に直交配列して保持する係数保持手段と、
前記K個の演算手段に入力するK個のデータ値を前記複数のデータ値から選択する第1のパターンを保持する第1のパターン保持手段と、
前記K個の演算手段に入力する1つのフィルタ係数を前記複数のフィルタ係数から選択する第2のパターンを保持する第2のパターン保持手段と、
前記第1のパターンを参照して前記K個の演算手段にK個のデータ値を入力し、前記第2のパターンを参照して前記K個の演算手段に共通の1つのフィルタ係数を入力する制御手段と、
を有し、
前記所定の演算処理は、前記K個のデータ値に対して前記1つのフィルタ係数を並列に乗算する処理を含む
ことを特徴とするフィルタ処理装置。 - 前記データ保持手段は、L次元に直交配列された複数のデータ値のうち所定範囲に配列されたK個のデータ値を前記K個の演算手段に提供するよう構成されており、
前記係数保持手段は、L次元に直交配列された複数のフィルタ係数のうち所定位置に配列された1つのフィルタ係数を前記K個の演算手段に提供するよう構成されており、
前記制御手段は、前記第1のパターンを参照して前記データ保持手段におけるデータの格納位置をシフトし、前記第2のパターンを参照して前記係数保持手段におけるフィルタ係数の格納位置をシフトすることにより、前記K個の演算手段にK個のデータ値及び1つのフィルタ係数を入力する
ことを特徴とする請求項1に記載のフィルタ処理装置。 - 前記第1のパターンは、前記複数のデータ値に含まれる有意なデータ値が全て前記K個の演算手段に入力されかつ各データ値が入力された回数が1回となるように設定され、
前記第2のパターンは、前記複数のフィルタ係数に含まれる有意なフィルタ係数が全て前記K個の演算手段に入力されかつ各フィルタ係数が入力された回数が1回となるように設定される
ことを特徴とする請求項1又は2に記載のフィルタ処理装置。 - 前記処理対象データは画像データであり、
前記画像データの向きに応じて前記第2のパターンを変更する変更手段を更に有する
ことを特徴とする請求項1乃至3の何れか1項に記載のフィルタ処理装置。 - 前記処理対象データは2次元データであり、
L=2であり、
前記制御手段は、前記データ保持手段におけるデータの格納位置及び前記係数保持手段におけるフィルタ係数の格納位置を、前記直交配列に沿った4方向の何れかにシフトする
ことを特徴とする請求項2に記載のフィルタ処理装置。 - 前記制御手段は、前記データ保持手段におけるデータの格納位置及び前記係数保持手段におけるフィルタ係数の格納位置を、略ジグザグ形状で順次シフトする
ことを特徴とする請求項5に記載のフィルタ処理装置。 - 前記制御手段は、前記データ保持手段におけるデータの格納位置及び前記係数保持手段におけるフィルタ係数の格納位置を、略スパイラル形状で順次シフトする
ことを特徴とする請求項5に記載のフィルタ処理装置。 - 前記処理対象データは3次元データであり、
L=3であり、
前記制御手段は、前記データ保持手段におけるデータの格納位置及び前記係数保持手段におけるフィルタ係数の格納位置を、前記直交配列に沿った6方向の何れかにシフトする
ことを特徴とする請求項2に記載のフィルタ処理装置。 - 処理対象データに対してフィルタカーネルを用いてフィルタ処理を行うフィルタ処理装置の制御方法であって、
前記フィルタ処理装置は、
所定の演算処理を並列に実行するK個の演算手段と、
前記処理対象データに含まれる複数のデータ値をL次元に直交配列して保持するデータ保持手段と、
前記フィルタカーネルに含まれる複数のフィルタ係数をL次元に直交配列して保持する係数保持手段と、
前記K個の演算手段に入力するK個のデータ値を前記複数のデータ値から選択する第1のパターンを保持する第1のパターン保持手段と、
前記K個の演算手段に入力する1つのフィルタ係数を前記複数のフィルタ係数から選択する第2のパターンを保持する第2のパターン保持手段と、
を有し、
前記制御方法は、
前記第1のパターンを参照して前記K個の演算手段にK個のデータ値を入力し、前記第2のパターンを参照して前記K個の演算手段に共通の1つのフィルタ係数を入力する工程と、
前記K個の演算手段を用いて前記K個のデータ値に対して前記1つのフィルタ係数を並列に乗算する工程と、
を含む
ことを特徴とするフィルタ処理装置の制御方法。 - コンピュータを、請求項1乃至8の何れか一項に記載のフィルタ処理装置の各手段として機能させるためのプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017201247A JP2019074967A (ja) | 2017-10-17 | 2017-10-17 | フィルタ処理装置およびその制御方法 |
EP18198792.6A EP3474133B1 (en) | 2017-10-17 | 2018-10-05 | Filter processing apparatus and control method thereof |
EP20186639.9A EP3757757B1 (en) | 2017-10-17 | 2018-10-05 | Filter processing apparatus and control method thereof |
US16/157,281 US10861123B2 (en) | 2017-10-17 | 2018-10-11 | Filter processing apparatus and control method thereof |
JP2022063543A JP7352684B2 (ja) | 2017-10-17 | 2022-04-06 | フィルタ処理装置およびその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017201247A JP2019074967A (ja) | 2017-10-17 | 2017-10-17 | フィルタ処理装置およびその制御方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022063543A Division JP7352684B2 (ja) | 2017-10-17 | 2022-04-06 | フィルタ処理装置およびその制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019074967A true JP2019074967A (ja) | 2019-05-16 |
JP2019074967A5 JP2019074967A5 (ja) | 2020-11-26 |
Family
ID=63787782
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017201247A Pending JP2019074967A (ja) | 2017-10-17 | 2017-10-17 | フィルタ処理装置およびその制御方法 |
JP2022063543A Active JP7352684B2 (ja) | 2017-10-17 | 2022-04-06 | フィルタ処理装置およびその制御方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022063543A Active JP7352684B2 (ja) | 2017-10-17 | 2022-04-06 | フィルタ処理装置およびその制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10861123B2 (ja) |
EP (2) | EP3474133B1 (ja) |
JP (2) | JP2019074967A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102548718B1 (ko) * | 2017-06-07 | 2023-06-28 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
JP7165018B2 (ja) * | 2018-10-03 | 2022-11-02 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62119683A (ja) * | 1985-11-20 | 1987-05-30 | Sony Corp | 演算処理装置 |
JP2010015257A (ja) * | 2008-07-01 | 2010-01-21 | Canon Inc | 画像処理装置、画像処理方法、及びプログラム |
US20160335082A1 (en) * | 2015-05-11 | 2016-11-17 | Ceva D.S.P. Ltd. | Multi-dimensional sliding window operation for a vector processor |
US20170011006A1 (en) * | 2015-07-06 | 2017-01-12 | Samsung Electronics Co., Ltd. | Device and method to process data in parallel |
WO2017146816A1 (en) * | 2016-02-26 | 2017-08-31 | Google Inc. | Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292621B1 (en) | 1996-02-05 | 2001-09-18 | Canon Kabushiki Kaisha | Recording apparatus for newly recording a second encoded data train on a recording medium on which an encoded data train is recorded |
US7088860B2 (en) * | 2001-03-28 | 2006-08-08 | Canon Kabushiki Kaisha | Dynamically reconfigurable signal processing circuit, pattern recognition apparatus, and image processing apparatus |
US7432985B2 (en) | 2003-03-26 | 2008-10-07 | Canon Kabushiki Kaisha | Image processing method |
JP5522893B2 (ja) | 2007-10-02 | 2014-06-18 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
JP5376920B2 (ja) | 2008-12-04 | 2013-12-25 | キヤノン株式会社 | コンボリューション演算回路、階層的コンボリューション演算回路及び物体認識装置 |
EP3748962A1 (en) * | 2010-12-07 | 2020-12-09 | Sony Corporation | Image processing device and image processing method |
JP6498019B2 (ja) * | 2015-04-10 | 2019-04-10 | キヤノン株式会社 | 画像記録装置及びその制御方法 |
JP6700712B2 (ja) * | 2015-10-21 | 2020-05-27 | キヤノン株式会社 | 畳み込み演算装置 |
JP6778010B2 (ja) * | 2016-04-13 | 2020-10-28 | キヤノン株式会社 | 画像識別システム、画像識別方法 |
-
2017
- 2017-10-17 JP JP2017201247A patent/JP2019074967A/ja active Pending
-
2018
- 2018-10-05 EP EP18198792.6A patent/EP3474133B1/en active Active
- 2018-10-05 EP EP20186639.9A patent/EP3757757B1/en active Active
- 2018-10-11 US US16/157,281 patent/US10861123B2/en active Active
-
2022
- 2022-04-06 JP JP2022063543A patent/JP7352684B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62119683A (ja) * | 1985-11-20 | 1987-05-30 | Sony Corp | 演算処理装置 |
JP2010015257A (ja) * | 2008-07-01 | 2010-01-21 | Canon Inc | 画像処理装置、画像処理方法、及びプログラム |
US20160335082A1 (en) * | 2015-05-11 | 2016-11-17 | Ceva D.S.P. Ltd. | Multi-dimensional sliding window operation for a vector processor |
US20170011006A1 (en) * | 2015-07-06 | 2017-01-12 | Samsung Electronics Co., Ltd. | Device and method to process data in parallel |
WO2017146816A1 (en) * | 2016-02-26 | 2017-08-31 | Google Inc. | Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform |
Non-Patent Citations (2)
Title |
---|
安藤 洸太、外4名: ""深層畳込みニューラルネットワークに向けたデータ流再構成型演算器アレイアーキテクチャ"", 電子情報通信学会技術研究報告, vol. 116, no. 53, JPN6021041620, 12 May 2016 (2016-05-12), JP, pages 29 - 34, ISSN: 0004678076 * |
山崎 博之、外5名: ""SoC組み込み用超並列プロセッサ(MX)のリアルタイム画像処理への応用"", 電子情報通信学会技術研究報告, vol. 108, no. 86, JPN6021041622, 6 June 2008 (2008-06-06), JP, pages 33 - 38, ISSN: 0004678075 * |
Also Published As
Publication number | Publication date |
---|---|
EP3757757A1 (en) | 2020-12-30 |
US10861123B2 (en) | 2020-12-08 |
US20190114734A1 (en) | 2019-04-18 |
EP3757757B1 (en) | 2023-12-06 |
JP2022089892A (ja) | 2022-06-16 |
EP3474133B1 (en) | 2021-01-13 |
JP7352684B2 (ja) | 2023-09-28 |
EP3474133A1 (en) | 2019-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7329533B2 (ja) | 演算を加速するための方法および加速器装置 | |
JP7352684B2 (ja) | フィルタ処理装置およびその制御方法 | |
US20200160226A1 (en) | Spatial locality transform of matrices | |
US20180121795A1 (en) | Data processing apparatus, method for controlling the same, and storage medium storing program | |
JP6242341B2 (ja) | 1次元信号抽出のための方法及び装置 | |
WO2019201657A1 (en) | Accelerator and system for accelerating operations | |
JP2005044098A (ja) | 画像処理装置及び画像処理方法 | |
EP3093757B1 (en) | Multi-dimensional sliding window operation for a vector processor | |
JP7402623B2 (ja) | フィルタ処理装置及びその制御方法 | |
JP7414930B2 (ja) | 情報処理装置、情報処理方法 | |
CN110458788A (zh) | 单应性校正 | |
JP6532334B2 (ja) | 並列演算装置、画像処理装置及び並列演算方法 | |
KR20200095300A (ko) | 뉴럴 네트워크의 컨볼루션 연산을 처리하는 방법 및 장치 | |
JP2022022876A (ja) | 畳み込みニューラルネットワーク処理装置 | |
US8503793B2 (en) | Correlation processing apparatus and medium readable by correlation processing apparatus | |
US20190349484A1 (en) | Image processing apparatus, image processing method and non-transitory computer-readable storage medium | |
US20220309778A1 (en) | Image processing apparatus, image processing method, and non-transitory computer-readable storage medium | |
US20220366531A1 (en) | Method and apparatus with image display | |
JP2023073824A (ja) | 演算装置、情報処理方法、及びプログラム | |
JP2006285573A (ja) | 画像処理方法、プログラム、並びに画像処理システム | |
JP2020140625A (ja) | 画像処理装置及び画像処理方法 | |
JP2024520223A (ja) | 画像の畳み込みのためのシステムおよび方法 | |
JP2023156864A (ja) | 画像処理装置、画像処理方法 | |
CN111754409A (zh) | 图像处理方法、装置、设备和存储介质 | |
TW202414280A (zh) | 用於執行類神經網路層之計算的方法、系統及非暫時性電腦可讀儲存媒體 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201013 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20201013 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211019 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211025 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220107 |