JP6571790B2 - 高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャ - Google Patents
高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャ Download PDFInfo
- Publication number
- JP6571790B2 JP6571790B2 JP2017550911A JP2017550911A JP6571790B2 JP 6571790 B2 JP6571790 B2 JP 6571790B2 JP 2017550911 A JP2017550911 A JP 2017550911A JP 2017550911 A JP2017550911 A JP 2017550911A JP 6571790 B2 JP6571790 B2 JP 6571790B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- sheet
- data
- dimensional
- shift register
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 84
- 239000000872 buffer Substances 0.000 claims description 64
- 238000000034 method Methods 0.000 claims description 44
- 230000006870 function Effects 0.000 description 16
- 125000001475 halogen functional group Chemical group 0.000 description 13
- 238000004458 analytical method Methods 0.000 description 12
- 238000013461 design Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000005574 cross-species transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000010419 fine particle Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000005039 memory span Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
- 238000012800 visualization Methods 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N25/00—Circuitry of solid-state image sensors [SSIS]; Control thereof
- H04N25/70—SSIS architectures; Circuits associated therewith
- H04N25/71—Charge-coupled device [CCD] sensors; Charge-transfer registers specially adapted for CCD sensors
- H04N25/75—Circuitry for providing, modifying or processing image signals from the pixel array
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Executing Machine-Instructions (AREA)
Description
本発明は、一般に、画像処理に関し、特に、高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャに関する。
画像処理は、典型的には、アレイに編成されたピクセル値の処理を含む。ここで、空間的に編成された二次元アレイは、画像の二次元的性質を捕捉する(追加の次元は、時間(例えば二次元画像のシーケンス)およびデータタイプ(例えば色)を含み得る。典型的なケースでは、アレイ化されたピクセル値は、静止画像または動きの画像を捕捉するためにフレームのシーケンスを生成したカメラによって提供される。伝統的な画像プロセッサは、典型的には、2つの極端な側面のいずれかに分類される。
装置が記載される。装置は画像処理ユニット(IPU)を含む。画像処理ユニットはネットワークを含む。画像処理ユニットは、プログラムコードの実行によって複数の重なり合うステンシルを同時に処理するよう二次元シフトレジスタアレイ構造に結合される実行ユニットレーンのアレイを各々が含む複数のステンシルプロセッサ回路を含む。画像処理ユニットは、複数のステンシルプロセッサとネットワークとの間にそれぞれ結合される複数のシート生成部を含む。シート生成部は、ステンシルプロセッサによる処理のために、画像データの入力ライングループを画像データの入力シートに解析し、ステンシルプロセッサから受け取った画像データの出力シートから画像データの出力ライングループを形成する。画像処理ユニットは、ネットワークに結合され、生成側ステンシルプロセッサから消費側ステンシルプロセッサに向かう方向にライングループを通過させて全体のプログラムフローを実現する複数のラインバッファユニットを含む。
以下の説明および添付の図面は、本発明の実施形態を例示するために使用される。
a.画像プロセッサハードウェアアーキテクチャおよび動作
図1は、ハードウェアで実現される画像プロセッサのためのアーキテクチャ100の実施形態を示す。画像プロセッサは、例えば、シミュレートされた環境内で仮想プロセッサ用に書かれたプログラムコードを、ハードウェアプロセッサによって実際に実行されるプログラムコードに変換するコンパイラによって対象とされてもよい。図4に示すように、アーキテクチャ100は、複数のラインバッファユニット101_1〜101_Mを含み、それらは、複数のステンシルプロセッサユニット102_1〜102_Nおよび対応するシート生成部ユニット103_1〜103_Nに、ネットワーク104(例えば、ネットワークオンチップ(NOC)(オンチップスイッチネットワーク、オンチップリングネットワークまたは他の種類のネットワークを含む))を介して相互接続される。一実施形態では、どのラインバッファユニットが、ネットワーク104を介してどのシート生成部および対応するステンシルプロセッサに接続してもよい。
図3は、ステンシルプロセッサ300の実施形態を示す。図3において見られるように、ステンシルプロセッサは、データ計算ユニット301、スカラープロセッサ302および関連するメモリ303およびI/Oユニット304を含む。データ計算ユニット301は、実行レーンのアレイ305、二次元シフトアレイ構造306、およびアレイの特定の行または列に関連する別個のランダムアクセスメモリ307を含む。
図7は、仮想画像処理環境701と、実際の画像処理ハードウェア703と、仮想処理環境701のために書かれたよりハイレベルのコードを、実際のハードウェア703が物理的に実行するオブジェクトコードに変換するためのコンパイラ702とを含む、画像プロセッサ技術プラットフォームのハイレベル図である。以下でより詳細に説明するように、仮想処理環境701は、アプリケーションの構成プロセスの容易な視覚化のために開発および調整できるアプリケーションの点で、広く汎用性が高い。開発者704によるプログラムコード開発努力が完了すると、コンパイラ702は、仮想処理環境701内で書かれたコードを、実際のハードウェア703に対して対象とされるオブジェクトコードに変換する。
図10aは、仮想環境内で書かれたアプリケーションソフトウェアが取ることができる構造および形態の例を示す。図10aにおいて見られるように、プログラムコードは、入力画像データ1001の1つ以上のフレームを処理して、入力画像データ1001上で何らかの全体的な変換を行い得る。変換は、開発者によって明示されたオーケストレーションされたシーケンスで入力画像データに対して動作するプログラムコード1002の1つ以上のカーネルの動作によって実現される。
上述した様々な画像プロセッサアーキテクチャの特徴は、必ずしも従来の意味での画像処理に限定されず、したがって、画像プロセッサを再特徴付けしてもよい(またはしなくてもよい)他のアプリケーションに適用することができることを指摘することが適切である。例えば、実際のカメラ画像の処理とは対照的に、アニメーションの作成および/または生成および/またはレンダリングにおいて上述した様々な画像プロセッサアーキテクチャの特徴のいずれかが使用される場合、画像プロセッサはグラフィックス処理ユニットとして徳経づけられてもよい。さらに、上述した画像プロセッサアーキテクチャの特徴は、ビデオ処理、視覚処理、画像認識および/または機械学習などの他の技術的用途にも適用することができる。このように適用されて、画像プロセッサは、より汎用的なプロセッサ(例えば、コンピューティングシステムのCPUの一部であるか、またはその一部である)と(例えばコプロセッサとして)一体化されてもよく、またはコンピューティングシステム内のスタンドアロンプロセッサであってもよい。
Claims (18)
- コンピューティングデバイスであって、
複数のプロセッサを備え、各プロセッサはそれぞれの二次元のシフトレジスタアレイとそれぞれの処理要素の二次元アレイとを含み、前記コンピューティングデバイスはさらに、
複数のラインバッファを備え、各ラインバッファは、前記複数のプロセッサのうちのあるプロセッサによって生成されたデータを受け取って格納し、格納されたデータを1つまたは複数の消費側プロセッサに与えるように構成され、前記コンピューティングデバイスはさらに、
複数のシート生成部を備え、各シート生成部は、前記複数のラインバッファの1つまたは複数から、あるライングループを受け取り、前記ライングループから、あるプロセッサのそれぞれの二次元シフトレジスタアレイに、データのシートをロードするように構成され、各シート生成部は、前記複数のプロセッサのうちのそれぞれのプロセッサに専用であり、
各プロセッサは、前記プロセッサの前記それぞれの二次元シフトレジスタアレイにロードされたそれぞれのデータのシートを処理するための命令を実行するように構成され、前記データのシートを処理することは、
前記プロセッサの前記処理要素の二次元アレイの各処理要素によって、前記プロセッサの二次元シフトレジスタアレイによる前記データのシートのある二次元部分にわたるシフトのシーケンス中に前記処理要素によって読み出されたそれぞれの値を用いてカーネル関数に従ってそれぞれの出力値を計算することを含む、コンピューティングデバイス。 - 各シート生成部は、前記カーネル関数に従って、あるプロセッサの処理要素によって計算された複数の出力値を含むデータの出力シートで、あるライングループを更新し、前記更新されたライングループを前記複数のラインバッファのうちの特定のラインバッファに与えるよう構成される、請求項1に記載のコンピューティングデバイス。
- 前記プロセッサ、前記シート生成部、および前記ラインバッファは、画像処理パイプラインを実装するように構成され、前記画像処理パイプラインにおいて、各プロセッサは画像データのシート上でそれぞれのカーネル関数を実行するように構成され、各ラインバッファは前記画像処理パイプラインの中間出力をバッファするように構成される、請求項1に記載のコンピューティングデバイス。
- 各シート生成部は、前記複数のラインバッファのうちの任意のラインバッファに対して読出および書込するように構成される、請求項1に記載のコンピューティングデバイス。
- 前記データのシートの前記二次元部分は、前記カーネル関数によって定義されるステンシルである、請求項1に記載のコンピューティングデバイス。
- 前記二次元シフトレジスタアレイの各シフトレジスタは、前記処理要素の二次元アレイ内の前記処理要素のうちの1つに専用であり、各処理要素は、前記処理要素に専用の同じシフトレジスタから、前記シフトのシーケンス中に複数の異なる値を読み出すよう構成される、請求項1に記載のコンピューティングデバイス。
- 各プロセッサは複数のシフトレジスタ面を含み、各シフトレジスタ面は異なる二次元シフトレジスタアレイを含む、請求項1に記載のコンピューティングデバイス。
- 各プロセッサは、前記プロセッサのそれぞれの処理要素の二次元アレイにシフト命令を発行するように構成されたスカラー処理要素を含み、各シフト命令は、前記プロセッサの前記処理要素の二次元アレイの前記処理要素によって実行されると、前記プロセッサの前記二次元シフトレジスタアレイにデータを同じ方向にシフトさせる、請求項1に記載のコンピューティングデバイス。
- 前記処理要素の二次元アレイ内の全ての処理要素は、前記二次元シフトレジスタアレイ内のデータを同じクロックサイクルで同じ方向にシフトするように構成される、請求項8に記載のコンピューティングデバイス。
- 方法であって、
コンピューティングデバイスの複数のラインバッファのうちの特定のラインバッファによって、前記コンピューティングデバイスの複数のプロセッサのうちの第1のプロセッサによって生成されたデータを受け取ることを備え、各プロセッサはそれぞれの二次元のシフトレジスタアレイとそれぞれの処理要素の二次元アレイとを含み、前記方法はさらに、
前記特定のラインバッファによって、前記第1のプロセッサによって生成されたデータを格納することと、
前記特定のラインバッファによって、前記格納されたデータの、あるライングループを、前記コンピューティングデバイスの複数のシート生成部のうちの特定のシート生成部に与えることとを備え、前記複数のシート生成部の各シート生成部は前記複数のプロセッサのうちの1つに専用であり、前記特定のシート生成部は前記複数のプロセッサのうちの第2のプロセッサに専用であり、前記方法はさらに、
前記特定のシート生成部によって、前記特定のラインバッファから前記ライングループを受け取ることと、
前記特定のシート生成部によって、前記ライングループからのデータのシートを前記第2のプロセッサのそれぞれの二次元シフトレジスタアレイにロードすることと、
前記第2のプロセッサによって、前記第2のプロセッサの前記二次元シフトレジスタアレイにロードされた前記データのシートを処理するための命令を実行することとを備え、前記データのシートを処理することは、
前記第2のプロセッサの前記処理要素の二次元アレイの各処理要素によって、前記第2のプロセッサの二次元シフトレジスタアレイによる前記データのシートのある二次元部分にわたるシフトのシーケンス中に前記処理要素によって読み出されたそれぞれの値を用いてカーネル関数に従ってそれぞれの出力値を計算することを含む、方法。 - 前記特定のシート生成部によって、前記カーネル関数に従って前記第2のプロセッサの処理要素によって計算された複数の出力値を含むデータの出力シートで前記ライングループを更新することと、
前記特定のシート生成部によって、前記更新されたライングループを前記複数のラインバッファのうちの別のラインバッファに与えることとをさらに備える、請求項10に記載の方法。 - 前記コンピューティングデバイスの前記プロセッサ、前記シート生成部、および前記ラインバッファを用いて画像処理パイプラインを実装することをさらに備え、各プロセッサは画像データのシート上でそれぞれのカーネル関数を実行し、各ラインバッファは前記画像処理パイプラインの中間出力をバッファする、請求項10に記載の方法。
- 各シート生成部は、前記複数のラインバッファのうちの任意のラインバッファに対して読出および書込するように構成される、請求項10に記載の方法。
- 前記データのシートの前記二次元部分は、前記カーネル関数によって定義されるステンシルである、請求項10に記載の方法。
- 前記二次元シフトレジスタアレイの各シフトレジスタは、前記処理要素の二次元アレイ内の前記処理要素のうちの1つに専用であり、前記第2のプロセッサによって、前記第2のプロセッサの前記二次元シフトレジスタアレイにロードされる前記データのシートを処理するための命令を実行することは、各処理要素によって、前記処理要素に専用の同じシフトレジスタから、前記シフトのシーケンス中に複数の異なる値を読み出すことを含む、請求項10に記載の方法。
- 各プロセッサは複数のシフトレジスタ面を含み、各シフトレジスタ面は異なる二次元シフトレジスタアレイを含む、請求項10に記載の方法。
- 各プロセッサはスカラー処理要素を含み、前記方法はさらに、
前記スカラー処理要素によって、前記第2のプロセッサの前記処理要素の二次元アレイの各処理要素に、前記処理要素によって実行されると前記第2のプロセッサの前記二次元シフトレジスタアレイにデータを同じ方向にシフトさせるシフト命令を発行することを備える、請求項10に記載の方法。 - 前記処理要素の二次元アレイ内の全ての処理要素は、前記二次元シフトレジスタアレイ内のデータを同じクロックサイクルで同じ方向にシフトする、請求項17に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/694,828 US9965824B2 (en) | 2015-04-23 | 2015-04-23 | Architecture for high performance, power efficient, programmable image processing |
US14/694,828 | 2015-04-23 | ||
PCT/US2016/026221 WO2016171909A1 (en) | 2015-04-23 | 2016-04-06 | Architecture for high performance, power efficient, programmable image processing |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019146502A Division JP7202987B2 (ja) | 2015-04-23 | 2019-08-08 | 高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018513475A JP2018513475A (ja) | 2018-05-24 |
JP6571790B2 true JP6571790B2 (ja) | 2019-09-04 |
Family
ID=55858889
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017550911A Active JP6571790B2 (ja) | 2015-04-23 | 2016-04-06 | 高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャ |
JP2019146502A Active JP7202987B2 (ja) | 2015-04-23 | 2019-08-08 | 高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャ |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019146502A Active JP7202987B2 (ja) | 2015-04-23 | 2019-08-08 | 高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャ |
Country Status (7)
Country | Link |
---|---|
US (3) | US9965824B2 (ja) |
EP (2) | EP3286726B1 (ja) |
JP (2) | JP6571790B2 (ja) |
KR (2) | KR101973733B1 (ja) |
CN (2) | CN113132558A (ja) |
DE (1) | DE112016001837T5 (ja) |
WO (1) | WO2016171909A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI746126B (zh) * | 2020-08-25 | 2021-11-11 | 創鑫智慧股份有限公司 | 矩陣乘法裝置及其操作方法 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9515658B1 (en) * | 2014-10-09 | 2016-12-06 | Altera Corporation | Method and apparatus for implementing configurable streaming networks |
GB2539461B (en) * | 2015-06-16 | 2020-01-08 | Canon Kk | Image data encapsulation |
US9830150B2 (en) | 2015-12-04 | 2017-11-28 | Google Llc | Multi-functional execution lane for image processor |
US10313641B2 (en) | 2015-12-04 | 2019-06-04 | Google Llc | Shift register with reduced wiring complexity |
US10387988B2 (en) | 2016-02-26 | 2019-08-20 | Google Llc | Compiler techniques for mapping program code to a high performance, power efficient, programmable image processing hardware platform |
US10204396B2 (en) | 2016-02-26 | 2019-02-12 | Google Llc | Compiler managed memory for image processor |
US10380969B2 (en) | 2016-02-28 | 2019-08-13 | Google Llc | Macro I/O unit for image processor |
CN108885776B (zh) * | 2016-03-24 | 2022-09-27 | 富士胶片株式会社 | 图像处理装置、图像处理方法及存储介质 |
US20180005346A1 (en) | 2016-07-01 | 2018-01-04 | Google Inc. | Core Processes For Block Operations On An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register |
US20180005059A1 (en) * | 2016-07-01 | 2018-01-04 | Google Inc. | Statistics Operations On Two Dimensional Image Processor |
US10546211B2 (en) | 2016-07-01 | 2020-01-28 | Google Llc | Convolutional neural network on programmable two dimensional image processor |
US20180007302A1 (en) | 2016-07-01 | 2018-01-04 | Google Inc. | Block Operations For An Image Processor Having A Two-Dimensional Execution Lane Array and A Two-Dimensional Shift Register |
US10795836B2 (en) * | 2017-04-17 | 2020-10-06 | Microsoft Technology Licensing, Llc | Data processing performance enhancement for neural networks using a virtualized data iterator |
US10467056B2 (en) * | 2017-05-12 | 2019-11-05 | Google Llc | Configuration of application software on multi-core image processor |
US10489199B2 (en) * | 2017-05-12 | 2019-11-26 | Google Llc | Program code transformations to improve image processor runtime efficiency |
US10489878B2 (en) | 2017-05-15 | 2019-11-26 | Google Llc | Configurable and programmable image processor unit |
US10872393B2 (en) * | 2017-05-15 | 2020-12-22 | Google Llc | Image processor with high throughput internal communication protocol |
WO2018213598A1 (en) * | 2017-05-17 | 2018-11-22 | Google Llc | Special purpose neural network training chip |
KR102008287B1 (ko) * | 2017-05-23 | 2019-08-07 | 고려대학교 산학협력단 | 양방향 선입 선출 메모리와 이를 이용하는 컨볼루션 연산 처리 장치 |
WO2019143025A1 (ko) * | 2018-01-16 | 2019-07-25 | 한국과학기술원 | 라인 입력 및 출력을 이용한 이미지 처리 방법 및 장치 |
US11468312B2 (en) | 2018-02-02 | 2022-10-11 | Samsung Electronics Co., Ltd. | Memory management for machine learning training on GPU |
US11468302B2 (en) * | 2018-03-13 | 2022-10-11 | Recogni Inc. | Efficient convolutional engine |
CN108596822A (zh) * | 2018-04-24 | 2018-09-28 | 上海顺久电子科技有限公司 | 数据存储方法、装置及图像处理系统 |
CN109316202B (zh) * | 2018-08-23 | 2021-07-02 | 苏州佳世达电通有限公司 | 影像校正方法及检测装置 |
CN111209231B (zh) * | 2018-11-21 | 2021-05-11 | 上海寒武纪信息科技有限公司 | 数据处理方法、装置及相关产品 |
JP7060720B2 (ja) | 2018-10-18 | 2022-04-26 | シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッド | ネットワークオンチップによるデータ処理方法及び装置 |
CN111209243B (zh) * | 2018-11-21 | 2022-12-02 | 上海寒武纪信息科技有限公司 | 数据处理装置、方法及相关产品 |
US10552939B1 (en) | 2019-02-12 | 2020-02-04 | Google Llc | Image processor complex transfer functions |
CN112184536B (zh) * | 2020-09-24 | 2022-09-30 | 成都海光集成电路设计有限公司 | 基于gemm处理图像数据的方法、装置、设备和介质 |
Family Cites Families (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4445177A (en) | 1981-05-22 | 1984-04-24 | Data General Corporation | Digital data processing system utilizing a unique arithmetic logic unit for handling uniquely identifiable addresses for operands and instructions |
JPS6373380A (ja) * | 1986-09-16 | 1988-04-02 | Matsushita Electric Ind Co Ltd | 画像プロセッサ |
US4835712A (en) | 1986-04-14 | 1989-05-30 | Pixar | Methods and apparatus for imaging volume data with shading |
DE3851005T2 (de) | 1987-06-01 | 1995-04-20 | Applied Intelligent Syst Inc | Paralleles Nachbarverarbeitungssystem und -Verfahren. |
US4935894A (en) | 1987-08-31 | 1990-06-19 | Motorola, Inc. | Multi-processor, multi-bus system with bus interface comprising FIFO register stocks for receiving and transmitting data and control information |
US5253308A (en) | 1989-06-21 | 1993-10-12 | Amber Engineering, Inc. | Massively parallel digital image data processor using pixel-mapped input/output and relative indexed addressing |
WO1994009595A1 (en) | 1991-09-20 | 1994-04-28 | Shaw Venson M | Method and apparatus including system architecture for multimedia communications |
JP3482660B2 (ja) | 1993-09-08 | 2003-12-22 | ソニー株式会社 | 画像データ処理装置および画像データ処理方法 |
US5612693A (en) | 1994-12-14 | 1997-03-18 | International Business Machines Corporation | Sliding window data compression using a toroidal bit shift register |
US5706216A (en) * | 1995-07-28 | 1998-01-06 | Reisch; Michael L. | System for data compression of an image using a JPEG compression circuit modified for filtering in the frequency domain |
KR100415417B1 (ko) | 1996-01-15 | 2004-04-17 | 지멘스 악티엔게젤샤프트 | 이미지-처리프로세서 |
US6031573A (en) | 1996-10-31 | 2000-02-29 | Sensormatic Electronics Corporation | Intelligent video information management system performing multiple functions in parallel |
US5892962A (en) | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
US6067609A (en) * | 1998-04-09 | 2000-05-23 | Teranex, Inc. | Pattern generation and shift plane operations for a mesh connected computer |
US6366289B1 (en) | 1998-07-17 | 2002-04-02 | Microsoft Corporation | Method and system for managing a display image in compressed and uncompressed blocks |
US6587158B1 (en) | 1998-07-23 | 2003-07-01 | Dvdo, Inc. | Method and apparatus for reducing on-chip memory in vertical video processing |
US7010177B1 (en) | 1998-08-27 | 2006-03-07 | Intel Corporation | Portability of digital images |
AU2941600A (en) | 1999-03-16 | 2000-10-04 | Hamamatsu Photonics K.K. | High-speed vision sensor |
JP3922859B2 (ja) | 1999-12-28 | 2007-05-30 | 株式会社リコー | 画像処理装置、画像処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6745319B1 (en) | 2000-02-18 | 2004-06-01 | Texas Instruments Incorporated | Microprocessor with instructions for shuffling and dealing data |
US6728862B1 (en) | 2000-05-22 | 2004-04-27 | Gazelle Technology Corporation | Processor array and parallel data processing methods |
US6728722B1 (en) | 2000-08-28 | 2004-04-27 | Sun Microsystems, Inc. | General data structure for describing logical data spaces |
US6986025B2 (en) | 2001-06-11 | 2006-01-10 | Broadcom Corporation | Conditional execution per lane |
US7286717B2 (en) | 2001-10-31 | 2007-10-23 | Ricoh Company, Ltd. | Image data processing device processing a plurality of series of data items simultaneously in parallel |
JP4146654B2 (ja) | 2002-02-28 | 2008-09-10 | 株式会社リコー | 画像処理回路、複合画像処理回路、および、画像形成装置 |
US9170812B2 (en) | 2002-03-21 | 2015-10-27 | Pact Xpp Technologies Ag | Data processing system having integrated pipelined array data processor |
WO2003088033A1 (en) | 2002-04-09 | 2003-10-23 | University Of Rochester | Multiplier-based processor-in-memory architectures for image and graphics processing |
WO2004021176A2 (de) | 2002-08-07 | 2004-03-11 | Pact Xpp Technologies Ag | Verfahren und vorrichtung zur datenverarbeitung |
US20060044576A1 (en) | 2004-07-30 | 2006-03-02 | Kabushiki Kaisha Toshiba | Apparatus for image processing |
CN101427264A (zh) * | 2004-04-08 | 2009-05-06 | 硅奥普迪思公司 | 用于位平面数据的高密度存储和处理的方法和装置 |
US7667764B2 (en) | 2004-06-04 | 2010-02-23 | Konica Minolta Holdings, Inc. | Image sensing apparatus |
CN100458762C (zh) * | 2004-08-04 | 2009-02-04 | 松下电器产业株式会社 | 阵列式运算装置 |
JP4219887B2 (ja) | 2004-12-28 | 2009-02-04 | 富士通マイクロエレクトロニクス株式会社 | 画像処理装置及び画像処理方法 |
WO2006114642A1 (en) | 2005-04-28 | 2006-11-02 | The University Court Of The University Of Edinburgh | Reconfigurable instruction cell array |
US7882339B2 (en) | 2005-06-23 | 2011-02-01 | Intel Corporation | Primitives to enhance thread-level speculation |
JP2007067917A (ja) | 2005-08-31 | 2007-03-15 | Matsushita Electric Ind Co Ltd | 画像データ処理装置 |
US7602974B2 (en) | 2005-10-21 | 2009-10-13 | Mobilic Technology (Cayman) Corp. | Universal fixed-pixel-size ISP scheme |
FR2895103B1 (fr) | 2005-12-19 | 2008-02-22 | Dxo Labs Sa | Procede et systeme de traitement de donnees numeriques |
US7802073B1 (en) | 2006-03-29 | 2010-09-21 | Oracle America, Inc. | Virtual core management |
JP4979287B2 (ja) * | 2006-07-14 | 2012-07-18 | 富士ゼロックス株式会社 | 画像処理装置及びプログラム |
US20080111823A1 (en) | 2006-11-13 | 2008-05-15 | Faraday Technology Corp. | Graphics processing system |
EP1927949A1 (en) * | 2006-12-01 | 2008-06-04 | Thomson Licensing | Array of processing elements with local registers |
US8321849B2 (en) | 2007-01-26 | 2012-11-27 | Nvidia Corporation | Virtual architecture and instruction set for parallel thread computing |
US20080244222A1 (en) | 2007-03-30 | 2008-10-02 | Intel Corporation | Many-core processing using virtual processors |
US8068114B2 (en) * | 2007-04-30 | 2011-11-29 | Advanced Micro Devices, Inc. | Mechanism for granting controlled access to a shared resource |
JP4389976B2 (ja) | 2007-06-29 | 2009-12-24 | ブラザー工業株式会社 | 画像処理装置および画像処理プログラム |
EP2663071B1 (en) | 2007-09-05 | 2015-11-18 | Tohoku University | Solid-state image sensor and drive method for the same |
US9619428B2 (en) | 2008-05-30 | 2017-04-11 | Advanced Micro Devices, Inc. | SIMD processing unit with local data share and access to a global data share of a GPU |
JP4999791B2 (ja) | 2008-06-30 | 2012-08-15 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
EP2327026A1 (en) * | 2008-08-06 | 2011-06-01 | Nxp B.V. | Simd parallel processor architecture |
US8456480B2 (en) | 2009-01-14 | 2013-06-04 | Calos Fund Limited Liability Company | Method for chaining image-processing functions on a SIMD processor |
US8332794B2 (en) * | 2009-01-22 | 2012-12-11 | Taiwan Semiconductor Manufacturing Company, Ltd. | Circuits and methods for programmable transistor array |
WO2010113340A1 (en) * | 2009-03-30 | 2010-10-07 | Nec Corporation | Single instruction multiple data (simd) processor having a plurality of processing elements interconnected by a ring bus |
KR101572879B1 (ko) | 2009-04-29 | 2015-12-01 | 삼성전자주식회사 | 병렬 응용 프로그램을 동적으로 병렬처리 하는 시스템 및 방법 |
US20110055495A1 (en) | 2009-08-28 | 2011-03-03 | Qualcomm Incorporated | Memory Controller Page Management Devices, Systems, and Methods |
US8976195B1 (en) | 2009-10-14 | 2015-03-10 | Nvidia Corporation | Generating clip state for a batch of vertices |
US8436857B2 (en) | 2009-10-20 | 2013-05-07 | Oracle America, Inc. | System and method for applying level of detail schemes |
US8595428B2 (en) | 2009-12-22 | 2013-11-26 | Intel Corporation | Memory controller functionalities to support data swizzling |
JP2011165132A (ja) * | 2010-02-15 | 2011-08-25 | Seiko Epson Corp | 画像処理装置、画像処理回路、及び画像処理方法 |
JP5835942B2 (ja) * | 2010-06-25 | 2015-12-24 | キヤノン株式会社 | 画像処理装置、その制御方法及びプログラム |
US8749667B2 (en) | 2010-08-02 | 2014-06-10 | Texas Instruments Incorporated | System and method for maintaining maximum input rate while up-scaling an image vertically |
US8508612B2 (en) | 2010-09-30 | 2013-08-13 | Apple Inc. | Image signal processor line buffer configuration for processing ram image data |
US8797323B2 (en) | 2011-01-18 | 2014-08-05 | Intel Corporation | Shadowing dynamic volumetric media |
JP5875530B2 (ja) | 2011-01-31 | 2016-03-02 | 株式会社ソシオネクスト | プログラム生成装置、プログラム生成方法、プロセッサ装置及びマルチプロセッサシステム |
US9092267B2 (en) | 2011-06-20 | 2015-07-28 | Qualcomm Incorporated | Memory sharing in graphics processing unit |
JP5739758B2 (ja) * | 2011-07-21 | 2015-06-24 | ルネサスエレクトロニクス株式会社 | メモリコントローラ及びsimdプロセッサ |
US20130027416A1 (en) | 2011-07-25 | 2013-01-31 | Karthikeyan Vaithianathan | Gather method and apparatus for media processing accelerators |
JP5742651B2 (ja) | 2011-10-15 | 2015-07-01 | コニカミノルタ株式会社 | 画像処理装置、連携方法および連携プログラム |
JP5746100B2 (ja) | 2011-12-27 | 2015-07-08 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
US8823736B2 (en) | 2012-01-20 | 2014-09-02 | Intel Corporation | Graphics tiling architecture with bounding volume hierarchies |
US10244246B2 (en) | 2012-02-02 | 2019-03-26 | Texas Instruments Incorporated | Sub-pictures for pixel rate balancing on multi-core platforms |
US9235769B2 (en) | 2012-03-15 | 2016-01-12 | Herta Security, S.L. | Parallel object detection method for heterogeneous multithreaded microarchitectures |
TWI520598B (zh) | 2012-05-23 | 2016-02-01 | 晨星半導體股份有限公司 | 影像處理裝置與影像處理方法 |
JP5939572B2 (ja) * | 2012-07-11 | 2016-06-22 | 国立大学法人東京農工大学 | データ処理装置 |
US20140019486A1 (en) * | 2012-07-13 | 2014-01-16 | Amitava Majumdar | Logic Content Processing for Hardware Acceleration of Multi-Pattern Search |
US9232139B2 (en) | 2012-07-24 | 2016-01-05 | Apple Inc. | Image stabilization using striped output transformation unit |
CN202736078U (zh) * | 2012-07-27 | 2013-02-13 | 华南理工大学 | 一种用于数字图像处理的特征提取模块 |
US9378181B2 (en) | 2012-11-09 | 2016-06-28 | Intel Corporation | Scalable computing array |
US9449257B2 (en) * | 2012-12-04 | 2016-09-20 | Institute Of Semiconductors, Chinese Academy Of Sciences | Dynamically reconstructable multistage parallel single instruction multiple data array processing system |
CN103019656B (zh) * | 2012-12-04 | 2016-04-27 | 中国科学院半导体研究所 | 可动态重构的多级并行单指令多数据阵列处理系统 |
US9851977B2 (en) * | 2012-12-06 | 2017-12-26 | Kalray | Apparatus and method for combining thread warps with compatible execution masks for simultaneous execution and increased lane utilization |
US8954992B2 (en) | 2013-03-15 | 2015-02-10 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Distributed and scaled-out network switch and packet processing |
US9477999B2 (en) * | 2013-09-20 | 2016-10-25 | The Board Of Trustees Of The Leland Stanford Junior University | Low power programmable image processor |
US9374542B2 (en) | 2014-03-28 | 2016-06-21 | Intel Corporation | Image signal processor with a block checking circuit |
US9684944B2 (en) * | 2015-01-16 | 2017-06-20 | Intel Corporation | Graph-based application programming interface architectures with node-based destination-source mapping for enhanced image processing parallelism |
US9749548B2 (en) | 2015-01-22 | 2017-08-29 | Google Inc. | Virtual linebuffers for image signal processors |
-
2015
- 2015-04-23 US US14/694,828 patent/US9965824B2/en active Active
-
2016
- 2016-04-06 CN CN202110291114.6A patent/CN113132558A/zh active Pending
- 2016-04-06 KR KR1020177028129A patent/KR101973733B1/ko active IP Right Grant
- 2016-04-06 KR KR1020197011226A patent/KR102278658B1/ko active IP Right Grant
- 2016-04-06 DE DE112016001837.1T patent/DE112016001837T5/de active Pending
- 2016-04-06 CN CN201680019775.0A patent/CN107438860B/zh active Active
- 2016-04-06 EP EP16719165.9A patent/EP3286726B1/en active Active
- 2016-04-06 WO PCT/US2016/026221 patent/WO2016171909A1/en active Application Filing
- 2016-04-06 JP JP2017550911A patent/JP6571790B2/ja active Active
- 2016-04-06 EP EP21159716.6A patent/EP3852050A1/en active Pending
-
2017
- 2017-05-18 US US15/599,348 patent/US10417732B2/en active Active
-
2019
- 2019-08-08 JP JP2019146502A patent/JP7202987B2/ja active Active
- 2019-08-22 US US16/547,801 patent/US10719905B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI746126B (zh) * | 2020-08-25 | 2021-11-11 | 創鑫智慧股份有限公司 | 矩陣乘法裝置及其操作方法 |
US11379185B2 (en) | 2020-08-25 | 2022-07-05 | Neuchips Corporation | Matrix multiplication device and operation method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR102278658B1 (ko) | 2021-07-16 |
CN113132558A (zh) | 2021-07-16 |
KR101973733B1 (ko) | 2019-04-29 |
US9965824B2 (en) | 2018-05-08 |
DE112016001837T5 (de) | 2018-03-08 |
JP7202987B2 (ja) | 2023-01-12 |
KR20170125396A (ko) | 2017-11-14 |
JP2019220202A (ja) | 2019-12-26 |
CN107438860A (zh) | 2017-12-05 |
US20160314555A1 (en) | 2016-10-27 |
JP2018513475A (ja) | 2018-05-24 |
US10719905B2 (en) | 2020-07-21 |
US10417732B2 (en) | 2019-09-17 |
US20170256021A1 (en) | 2017-09-07 |
WO2016171909A1 (en) | 2016-10-27 |
KR20190043643A (ko) | 2019-04-26 |
US20190378239A1 (en) | 2019-12-12 |
EP3852050A1 (en) | 2021-07-21 |
EP3286726A1 (en) | 2018-02-28 |
CN107438860B (zh) | 2021-03-23 |
EP3286726B1 (en) | 2021-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6571790B2 (ja) | 高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャ | |
JP6858239B2 (ja) | プログラムコードを、高性能で電力効率の良いプログラマブルな画像処理ハードウェアプラットフォームにマッピングするためのコンパイラ技法 | |
JP6764954B2 (ja) | プログラマブル二次元画像プロセッサ上の畳み込みニューラルネットワーク | |
JP6793228B2 (ja) | 画像プロセッサのためのシート生成部 | |
JP6389571B2 (ja) | 画像プロセッサのための二次元シフトアレイ | |
JP2019507922A (ja) | 画像プロセッサのためのコンパイラ管理メモリ | |
JP2018513476A (ja) | 画像プロセッサのためのラインバッファユニット | |
CN110192220B (zh) | 提高图像处理器运行时效率的程序代码转换 | |
JP6750022B2 (ja) | 画像プロセッサのためのマクロi/oユニット | |
JP6820428B2 (ja) | マルチコア画像プロセッサ上のアプリケーションソフトウェアの構成 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180129 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190326 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190625 |
|
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: 20190709 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190808 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6571790 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |