JP6793228B2 - 画像プロセッサのためのシート生成部 - Google Patents
画像プロセッサのためのシート生成部 Download PDFInfo
- Publication number
- JP6793228B2 JP6793228B2 JP2019136231A JP2019136231A JP6793228B2 JP 6793228 B2 JP6793228 B2 JP 6793228B2 JP 2019136231 A JP2019136231 A JP 2019136231A JP 2019136231 A JP2019136231 A JP 2019136231A JP 6793228 B2 JP6793228 B2 JP 6793228B2
- Authority
- JP
- Japan
- Prior art keywords
- sheet
- image data
- stencil
- computing device
- line group
- 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
- 230000015654 memory Effects 0.000 claims description 45
- 238000012545 processing Methods 0.000 claims description 38
- 239000000872 buffer Substances 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 description 19
- 238000004458 analytical method Methods 0.000 description 12
- 125000001475 halogen functional group Chemical group 0.000 description 12
- 238000013461 design Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 7
- 238000013459 approach Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000009471 action Effects 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
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002245 particle Substances 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
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000005039 memory span Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000000007 visual effect Effects 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41F—PRINTING MACHINES OR PRESSES
- B41F15/00—Screen printers
- B41F15/08—Machines
- B41F15/0804—Machines for printing sheets
-
- 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
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
-
- 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/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Mechanical Engineering (AREA)
- Image Processing (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
本発明は、一般に、画像処理に関し、特に、画像プロセッサのシート生成部に関する。
画像処理は、典型的には、アレイに編成されたピクセル値の処理を含む。ここで、空間的に編成された二次元アレイは、画像の二次元的性質を捕捉する(追加の次元は、時間(例えば二次元画像のシーケンス)およびデータタイプ(例えば色)を含み得る。典型的なケースでは、アレイ化されたピクセル値は、静止画像または動きの画像を捕捉するためにフレームのシーケンスを生成したカメラによって提供される。伝統的な画像プロセッサは、典型的には、2つの極端な側面のいずれかに分類される。
シート生成部回路が記載される。シート生成部は、画像データのフレームから複数の行のデータを含む画像データのライングループを受け取るための電子回路系を含む。複数の行は、複数の近隣の重なり合うステンシルを包含するよう数が十分である。電子回路系はライングループをより小さなサイズにされたシートに解析する。電子回路系はプロセッサのアレイに結合される二次元シフトアレイ構造を有するデータ計算ユニットにシートをロードする。
たシートに解析するための手段も含む。装置は、プロセッサのアレイに結合される二次元シフトアレイ構造にシートをロードするための手段も含む。装置は、プロセッサのアレイ上でプログラムコードを実行して、複数の近隣の重なり合うステンシルをシートについて処理するための手段も含む。
以下の説明および添付の図面は、本発明の実施形態を例示するために使用される。
a.画像プロセッサハードウェアアーキテクチャおよび動作
図1は、ハードウェアで実現される画像プロセッサのためのアーキテクチャ100の実施形態を示す。画像プロセッサは、例えば、シミュレートされた環境内で仮想プロセッサ用に書かれたプログラムコードを、ハードウェアプロセッサによって実際に実行されるプログラムコードに変換するコンパイラによって対象とされてもよい。図1に示すように、アーキテクチャ100は、複数のラインバッファユニット101_1〜101_Mを含み、それらは、複数のステンシルプロセッサユニット102_1〜102_Nおよび対応するシート生成部ユニット103_1〜103_Nに、ネットワーク104(例えば、ネットワークオンチップ(NOC)(オンチップスイッチネットワーク、オンチップリングネットワークまたは他の種類のネットワークを含む))を介して相互接続される。一実施形態では、どのラインバッファユニットが、ネットワーク104を介してどのシート生成部および対応するステンシルプロセッサに接続してもよい。
して特定のシート生成部に渡す。ある完全な(full)単数のライングループを、例えば、フレームの複数の連続した完全な行または列のデータで構成することができる(簡単にするために、本明細書では主に連続した行と称する)。シート生成部は、画像データのライングループを「シート」と呼ばれる画像データのより小さな領域にさらに解析し、そのシートを対応するステンシルプロセッサに提示する。
うに設計されてもよいことを認識することが適切である。
ンシルは単に右に移動し続ける。
図3aは、ステンシルプロセッサ300の実施形態を示す。図3aにおいて見られるように、ステンシルプロセッサは、データ計算ユニット301、スカラープロセッサ302および関連するメモリ303およびI/Oユニット304を含む。データ計算ユニット301は、実行レーンのアレイ305、二次元シフトアレイ構造306、およびアレイの特定の行または列に関連する別個のランダムアクセスメモリ307を含む。
をフェッチおよびデコードする論理回路系を含むことができる。MIMDのようなアプローチに関しては、ここでは集中プログラム制御アプローチが主に記載されているが、より分散型のアプローチが様々な代替実施形態(例えば、アレイ305の各実行レーン内のプログラムコードおよびプログラムコントローラを含む)において実施されてもよい。
の「領域」に割り当てられてもよい。簡略化のために、アプリケーションの残りの部分は、主に、行および/または列に基づく割り当てスキームを指す)。ここで、実行レーンのカーネル動作が、それが(一部の画像処理ルーチンが必要とする場合がある)二次元シフトレジスタアレイ406の外にあるピクセル値を処理することを必要とする場合、画像データの面は、ハロー領域409からランダムアクセスメモリ407にさらにこぼれ出ることができる。例えば、ハードウェアが実行レーンアレイの右端の実行レーンの右側にわずか4つの記憶素子のハロー領域を含む場合の6X6ステンシルを考える。この場合、ステンシルを完全に処理するために、データをハロー409の右端からさらに右側にシフトする必要があるであろう。ハロー領域409の外側にシフトされたデータは、ランダムアクセスメモリ407にこぼれ出る。ランダムアクセスメモリ407および図3のステンシルプロセッサの他の適用例を以下でさらに説明する。
る。図5dで見られるように、図5cについて上述したのと同じプロセスが繰り返され、結果のR1に対して、今度は上側実行レーンにおける値A+B+C、および下側実行レーンにおけるF+G+H値を含ませるようにする。この時点で、両方の実行レーンはそれらのそれぞれのステンシルの上側の行を処理している。(左側に存在する場合には)実行レーンアレイの左側でハロー領域に、またはハロー領域が存在しない場合にはランダムアクセスメモリにこぼれ出ることは、実行レーンアレイの左側には存在しないことに注目されたい。
がその内容がシフトアウトされて同じサイクルでシフトインされる内容で置き換えられるのが一般的であるかもしれないが、マルチプレクサ構成603,604は、同じサイクル中に同じレジスタファイル内で異なるシフトソースおよびシフトターゲットレジスタを可能にする。
図7〜図12は、シート生成部の特別な考察および/または動作に関する。上述したように、シート生成部は、対応するステンシルプロセッサによる処理のために情報のシート
を生成する役割を担う。プロセッサ全体の設計に幅広い汎用性/プログラマビリティを課すために、シート生成部は、ある状況では、受け取られたライングループから適切なセクションを解析するだけでなく、入力シートを準備する際に追加の動作を実行する必要があり得る。
I半シートおよびLO半シートを生成する。HI半シートは、正しいアレイ位置において各データ項目の上位8ビットを含む。LO半シートは、正しいアレイ位置において各データ項目の下位8ビットを含む。次いで、両方のシートをステンシルプロセッサにロードし、16ビット演算が行われることを実行レーンハードウェアに(例えば、プログラムコードの即値を介して)通知することによって、16ビット演算が実行される。ここでは、ほんの1つの可能な動作モードとして、HIシートおよびLOシートの両方が、各実行レーンレジスタファイルの2つの異なるレジスタにロードされる。
上述した様々な画像プロセッサアーキテクチャの特徴は、必ずしも従来の意味での画像処理に限定されず、したがって、画像プロセッサを再特徴付けしてもよい(またはしなくてもよい)他のアプリケーションに適用することができることを指摘することが適切である。例えば、実際のカメラ画像の処理とは対照的に、アニメーションの作成および/または生成および/またはレンダリングにおいて上述した様々な画像プロセッサアーキテクチャの特徴のいずれかが使用される場合、画像プロセッサはグラフィックス処理ユニットとして徳経づけられてもよい。さらに、上述した画像プロセッサアーキテクチャの特徴は、ビデオ処理、視覚処理、画像認識および/または機械学習などの他の技術的用途にも適用することができる。このように適用されて、画像プロセッサは、より汎用的なプロセッサ(例えば、コンピューティングシステムのCPUの一部であるか、またはその一部である)と(例えばコプロセッサとして)一体化されてもよく、またはコンピューティングシステム内のスタンドアロンプロセッサであってもよい。
Claims (20)
- コンピューティングデバイスであって、
1以上のステンシルプロセッサを備え、各ステンシルプロセッサは、処理要素の二次元アレイを使用して画像データのステンシルに対して1以上のカーネル関数を実行するように構成され、各ステンシルは画像の二次元領域であり、
前記コンピューティングデバイスは、構成レジスタ空間とプログラムメモリとを含むシート生成部をさらに備え、前記構成レジスタ空間は、ライングループサイズを含む前記シート生成部のプログラマブルな設定を記憶するように構成され、前記プログラムメモリは、前記構成レジスタ空間に記憶される前記プログラマブルな設定を参照するプログラムコードを記憶するように構成され、
前記シート生成部は、
入力ラインバッファからデータをロードするためのコマンドを受け取り、
前記プログラムメモリ内の前記プログラムコードを実行して、前記入力ラインバッファから、前記構成レジスタ空間内の前記プログラマブルな設定の前記ライングループサイズによって定義されるサイズを有する入力ライングループを取得し、
前記プログラムメモリ内の前記プログラムコードを実行して、前記入力ライングループから複数の最初の画像データのシートを生成し、
前記複数の最初の画像データのシートを、前記1以上のステンシルプロセッサの第1のステンシルプロセッサに出力し、
前記1以上のステンシルプロセッサは、各最初のシートにおける画像データのステンシルに対して1以上のカーネル関数を実行してそれぞれの処理された画像データのシートを生成し、
各最初の画像データのシートは、前記第1のステンシルプロセッサの前記処理要素の二次元アレイにおける処理要素と少なくとも同数のピクセルを有し、前記入力ライングループは、画像データのフレームからの複数の行のデータを含み、
前記シート生成部はさらに、
前記第1のステンシルプロセッサの前記処理要素の二次元アレイがそれぞれ前記複数の最初の画像データのシートを操作することによって計算された複数の処理された画像データのシートを受け取り、
前記処理されたシートを出力ライングループに追加し、
前記出力ライングループを前記コンピューティングデバイスの出力ラインバッファに書き込み、
前記出力ライングループは前記複数の処理されたシートを含む、コンピューティングデバイス。 - 前記コンピューティングデバイスは複数のシート生成部を含み、前記1以上のステンシルプロセッサの各ステンシルプロセッサはそれぞれの専用のシート生成部を有する、請求項1に記載のコンピューティングデバイス。
- 前記複数のシート生成部の各シート生成部は、前記コンピューティングデバイスの複数のラインバッファのうちのいずれかに対して読み書きし、
前記複数のラインバッファは、前記入力ラインバッファおよび前記出力ラインバッファを含む、請求項2に記載のコンピューティングデバイス。 - 前記シート生成部は、前記入力ラインバッファから第1のライングループの画像データを取得し、
前記第1のライングループの画像データは、前記シート生成部が1以上の出力ラインバッファに書き込む第2のライングループの画像データよりも大きい、請求項1〜3のいずれか1項に記載のコンピューティングデバイス。 - 各最初の画像データのシートは、複数の重なり合うステンシルのデータを含む、請求項1〜4のいずれか1項に記載のコンピューティングデバイス。
- 前記第1のステンシルプロセッサのメモリは、二次元シフトレジスタアレイを含む、請求項1〜5のいずれか1項に記載のコンピューティングデバイス。
- 各ステンシルプロセッサは複数のレジスタ層を有し、前記シート生成部は、前記複数のレジスタ層の各々に対して別々のシートを生成し、各別々のシートを前記複数のレジスタ層の異なるレジスタ層に格納する、請求項1〜6のいずれか1項に記載のコンピューティングデバイス。
- 前記シート生成部は、入力画像データの複数チャネルの各チャネルに対して、または多次元データ構成の各コンポーネントに対して、別々のシートを生成する、請求項7に記載のコンピューティングデバイス。
- 前記画像データのビット幅は、前記第1のステンシルプロセッサのレジスタのビット幅よりも大きく、
前記シート生成部は、画像データの上位ビット部分を有する第1のシートと前記画像データの下位ビット部分を有する第2のシートとを生成し、前記第1のシートを前記第1のステンシルプロセッサの第1のレジスタ層に格納し、前記第2のシートを前記第1のステンシルプロセッサの第2のレジスタ層に格納する、請求項7に記載のコンピューティングデバイス。 - 前記シート生成部は、前記入力ラインバッファから受け取られる前記入力ライングループ内において各データ値の複数のインスタンスをコピーすることによって、アップサンプリングされた画像データを有するアップサンプリングされたシートを生成する、請求項1〜9のいずれか1項に記載のコンピューティングデバイス。
- 前記シート生成部は、前記出力ラインバッファに与えられる前記出力ライングループに各データ値の複数のインスタンスを書き込むことによって、ダウンサンプリングされた画像データを生成する、請求項1〜10のいずれか1項に記載のコンピューティングデバイス。
- 前記コマンドは、前記コンピューティングデバイスのスカラープロセッサによって発行される、請求項1〜11のいずれか1項に記載のコンピューティングデバイス。
- 前記シート生成部の前記プログラマブルな設定は、シートのそれぞれのサイズをさらに含み、前記複数の最初の画像データのシートの各々は、前記プログラマブルな設定によって定義される前記サイズを有する、請求項1〜12のいずれか1項に記載のコンピューティングデバイス。
- 方法であって、
シート生成部が、入力ラインバッファからデータをロードするためのコマンドを受け取ることを備え、前記シート生成部は、構成レジスタ空間とプログラムメモリとを含み、前記構成レジスタ空間は、ライングループサイズを含む前記シート生成部のプログラマブルな設定を記憶するように構成され、前記プログラムメモリは、前記構成レジスタ空間に記憶される前記プログラマブルな設定を参照するプログラムコードを記憶するように構成され、前記方法はさらに、
前記シート生成部が、前記プログラムメモリ内の前記プログラムコードを実行して、前記入力ラインバッファから、前記構成レジスタ空間内の前記プログラマブルな設定の前記ライングループサイズによって定義されるサイズを有する入力ライングループを取得することと、
前記シート生成部が、前記プログラムメモリ内の前記プログラムコードを実行して、前記入力ライングループから複数の最初の画像データのシートを生成することと、
前記シート生成部が、前記複数の最初の画像データのシートを、前記入力ライングループから、コンピューティングデバイスの1以上のステンシルプロセッサの第1のステンシルプロセッサに出力することとを含み、
各最初の画像データのシートは、前記第1のステンシルプロセッサの処理要素の二次元アレイにおける処理要素と少なくとも同数のピクセルを有し、前記入力ライングループは、画像データのフレームからの複数の行のデータを含み、前記方法はさらに、
前記第1のステンシルプロセッサが、前記複数の最初の画像データのシートの各最初のシートの画像データのステンシルに対して、前記処理要素の二次元アレイを使用して、1以上のカーネル関数を実行することを含み、各ステンシルは画像データの二次元領域であり、前記方法はさらに、
前記シート生成部が、前記第1のステンシルプロセッサの前記処理要素の二次元アレイによって計算された複数の処理された画像データのシートを受け取ることと、
前記シート生成部が、前記処理されたシートを出力ライングループに追加することと、
前記シート生成部が、前記出力ライングループを前記コンピューティングデバイスの出力ラインバッファに書き込むこととを含み、前記出力ライングループは前記複数の処理されたシートを含む、方法。 - 前記コンピューティングデバイスは複数のシート生成部を含み、前記1以上のステンシルプロセッサの各ステンシルプロセッサはそれぞれの専用のシート生成部を有する、請求項14に記載の方法。
- 前記複数のシート生成部の各シート生成部は、前記コンピューティングデバイスの複数のラインバッファのうちのいずれかに対して読み書きし、
前記複数のラインバッファは、前記入力ラインバッファおよび前記出力ラインバッファを含む、請求項15に記載の方法。 - 前記シート生成部は、前記入力ラインバッファから、第1のライングループの画像データを取得し、
前記第1のライングループの画像データは、前記シート生成部が1以上の出力ラインバッファに書き込む第2のライングループの画像データよりも大きい、請求項14〜16のいずれか1項に記載の方法。 - 各最初の画像データのシートは、複数の重なり合うステンシルのデータを含む、請求項14〜17のいずれか1項に記載の方法。
- 前記第1のステンシルプロセッサのメモリは、二次元シフトレジスタアレイを含む、請求項14〜18のいずれか1項に記載の方法。
- 請求項14〜19のいずれか1項に記載の方法をコンピューティングデバイスに実行させる、プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/694,806 US10291813B2 (en) | 2015-04-23 | 2015-04-23 | Sheet generator for image processor |
US14/694,806 | 2015-04-23 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017550906A Division JP6563512B2 (ja) | 2015-04-23 | 2016-04-04 | 画像プロセッサのためのシート生成部 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019215887A JP2019215887A (ja) | 2019-12-19 |
JP6793228B2 true JP6793228B2 (ja) | 2020-12-02 |
Family
ID=55858888
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017550906A Active JP6563512B2 (ja) | 2015-04-23 | 2016-04-04 | 画像プロセッサのためのシート生成部 |
JP2019136231A Active JP6793228B2 (ja) | 2015-04-23 | 2019-07-24 | 画像プロセッサのためのシート生成部 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017550906A Active JP6563512B2 (ja) | 2015-04-23 | 2016-04-04 | 画像プロセッサのためのシート生成部 |
Country Status (7)
Country | Link |
---|---|
US (4) | US10291813B2 (ja) |
EP (1) | EP3286725B1 (ja) |
JP (2) | JP6563512B2 (ja) |
KR (2) | KR102146515B1 (ja) |
CN (2) | CN107438861B (ja) |
DE (1) | DE112016001835T5 (ja) |
WO (1) | WO2016171882A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10291813B2 (en) * | 2015-04-23 | 2019-05-14 | Google Llc | Sheet generator for image processor |
US10313641B2 (en) | 2015-12-04 | 2019-06-04 | Google Llc | Shift register with reduced wiring complexity |
US9830150B2 (en) | 2015-12-04 | 2017-11-28 | Google Llc | Multi-functional execution lane for image processor |
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 |
US10546211B2 (en) | 2016-07-01 | 2020-01-28 | Google Llc | Convolutional neural network on programmable two dimensional image processor |
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 |
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 |
US20180005059A1 (en) | 2016-07-01 | 2018-01-04 | Google Inc. | Statistics Operations On Two Dimensional Image Processor |
KR20180012439A (ko) * | 2016-07-27 | 2018-02-06 | 삼성전자주식회사 | 회선 신경망에서 가속기 및 이의 동작 방법 |
US10789202B2 (en) * | 2017-05-12 | 2020-09-29 | Google Llc | Image processor with configurable number of active cores and supporting internal network |
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 |
US10552939B1 (en) | 2019-02-12 | 2020-02-04 | Google Llc | Image processor complex transfer functions |
Family Cites Families (93)
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 |
US4835712A (en) | 1986-04-14 | 1989-05-30 | Pixar | Methods and apparatus for imaging volume data with shading |
JP2554255B2 (ja) | 1987-03-23 | 1996-11-13 | 旭光学工業株式会社 | フイルタリング装置 |
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 |
JP3573755B2 (ja) | 1996-01-15 | 2004-10-06 | シーメンス アクチエンゲゼルシヤフト | 画像処理プロセッサ |
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 |
US6661421B1 (en) | 1998-05-21 | 2003-12-09 | Mitsubishi Electric & Electronics Usa, Inc. | Methods for operation of semiconductor memory |
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 |
EP1164544B1 (en) | 1999-03-16 | 2011-11-02 | Hamamatsu Photonics K.K. | High-speed vision sensor |
US7792298B2 (en) | 1999-06-30 | 2010-09-07 | Silverbrook Research Pty Ltd | Method of using a mobile device to authenticate a printed token and output an image associated with the token |
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 |
JP2004013873A (ja) | 2002-06-03 | 2004-01-15 | Sony Corp | 画像処理装置 |
AU2003286131A1 (en) | 2002-08-07 | 2004-03-19 | Pact Xpp Technologies Ag | Method and device for processing data |
GB2398446B (en) | 2003-02-12 | 2006-06-07 | Snell & Wilcox Ltd | Image processing |
US20060044576A1 (en) | 2004-07-30 | 2006-03-02 | Kabushiki Kaisha Toshiba | Apparatus for image processing |
US7667764B2 (en) | 2004-06-04 | 2010-02-23 | Konica Minolta Holdings, Inc. | Image sensing apparatus |
KR100614647B1 (ko) * | 2004-07-02 | 2006-08-22 | 삼성전자주식회사 | 디블록킹 필터에서의 효과적인 에지 필터링 연산을 위한레지스터 어레이 구조 |
JP4219887B2 (ja) | 2004-12-28 | 2009-02-04 | 富士通マイクロエレクトロニクス株式会社 | 画像処理装置及び画像処理方法 |
ATE504043T1 (de) | 2005-04-28 | 2011-04-15 | Univ Edinburgh | Umkonfigurierbares anweisungs-zellen-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 |
JP2007304803A (ja) | 2006-05-10 | 2007-11-22 | Fuji Xerox Co Ltd | 画像処理装置 |
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 | ブラザー工業株式会社 | 画像処理装置および画像処理プログラム |
JP2009021459A (ja) | 2007-07-13 | 2009-01-29 | Fuji Xerox Co Ltd | 面発光型半導体レーザの駆動方法および光伝送モジュール |
JP4844853B2 (ja) | 2007-09-05 | 2011-12-28 | 国立大学法人東北大学 | 固体撮像素子及びその駆動方法 |
JP4917561B2 (ja) | 2008-03-18 | 2012-04-18 | 株式会社リコー | 画像処理装置 |
CN102047241B (zh) | 2008-05-30 | 2014-03-12 | 先进微装置公司 | 本地与全局数据共享 |
US8098894B2 (en) | 2008-06-20 | 2012-01-17 | Yahoo! Inc. | Mobile imaging device as navigator |
JP4999791B2 (ja) | 2008-06-30 | 2012-08-15 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
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 |
WO2010093828A1 (en) * | 2009-02-11 | 2010-08-19 | Quartics, Inc. | Front end processor with extendable data path |
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 | 画像処理装置、画像処理回路、及び画像処理方法 |
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 |
CN101968851B (zh) * | 2010-09-09 | 2012-08-08 | 西安电子科技大学 | 基于字典学习上采样的医学影像处理方法 |
US8508612B2 (en) | 2010-09-30 | 2013-08-13 | Apple Inc. | Image signal processor line buffer configuration for processing ram image data |
US8736695B2 (en) * | 2010-11-12 | 2014-05-27 | Qualcomm Incorporated | Parallel image processing using multiple processors |
CN102572207B (zh) * | 2010-12-30 | 2014-05-14 | 无锡华润矽科微电子有限公司 | 一种适于jpeg图像的颜色空间转换方法 |
US8797323B2 (en) | 2011-01-18 | 2014-08-05 | Intel Corporation | Shadowing dynamic volumetric media |
WO2012105174A1 (ja) | 2011-01-31 | 2012-08-09 | パナソニック株式会社 | プログラム生成装置、プログラム生成方法、プロセッサ装置及びマルチプロセッサシステム |
US9092267B2 (en) | 2011-06-20 | 2015-07-28 | Qualcomm Incorporated | Memory sharing in graphics processing unit |
US20130027416A1 (en) | 2011-07-25 | 2013-01-31 | Karthikeyan Vaithianathan | Gather method and apparatus for media processing accelerators |
US9641866B2 (en) | 2011-08-18 | 2017-05-02 | Qualcomm Incorporated | Applying partition-based filters |
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 | 晨星半導體股份有限公司 | 影像處理裝置與影像處理方法 |
CN102685439A (zh) * | 2012-05-28 | 2012-09-19 | 上海海事大学 | 一种使用fpga实现图像数据传输控制的装置及方法 |
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 |
US9378181B2 (en) | 2012-11-09 | 2016-06-28 | Intel Corporation | Scalable computing array |
CN103179408B (zh) * | 2012-11-27 | 2016-01-06 | 上海高清数字科技产业有限公司 | 一种解决色度上采样错误的系统和方法 |
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 |
US9058673B2 (en) | 2013-03-15 | 2015-06-16 | Oracle International Corporation | Image mosaicking using a virtual grid |
US9477999B2 (en) * | 2013-09-20 | 2016-10-25 | The Board Of Trustees Of The Leland Stanford Junior University | Low power programmable image processor |
US9589175B1 (en) * | 2014-09-30 | 2017-03-07 | Amazon Technologies, Inc. | Analyzing integral images with respect to Haar features |
US9818166B2 (en) | 2015-01-16 | 2017-11-14 | Intel Corporation | Graph-based application programming interface architectures with producer/consumer nodes for enhanced image processing parallelism |
US9749548B2 (en) | 2015-01-22 | 2017-08-29 | Google Inc. | Virtual linebuffers for image signal processors |
US10291813B2 (en) * | 2015-04-23 | 2019-05-14 | Google Llc | Sheet generator for image processor |
US10310998B2 (en) * | 2015-06-30 | 2019-06-04 | Microsoft Technology Licensing, Llc | Direct memory access with filtering |
-
2015
- 2015-04-23 US US14/694,806 patent/US10291813B2/en active Active
-
2016
- 2016-04-04 JP JP2017550906A patent/JP6563512B2/ja active Active
- 2016-04-04 KR KR1020207005068A patent/KR102146515B1/ko active IP Right Grant
- 2016-04-04 DE DE112016001835.5T patent/DE112016001835T5/de active Pending
- 2016-04-04 EP EP16719164.2A patent/EP3286725B1/en active Active
- 2016-04-04 CN CN201680019786.9A patent/CN107438861B/zh active Active
- 2016-04-04 KR KR1020177028006A patent/KR20170125393A/ko not_active Application Discontinuation
- 2016-04-04 CN CN202110171547.8A patent/CN112967169B/zh active Active
- 2016-04-04 WO PCT/US2016/025895 patent/WO2016171882A1/en active Application Filing
-
2017
- 2017-05-18 US US15/598,933 patent/US10284744B2/en active Active
-
2019
- 2019-03-04 US US16/291,047 patent/US10560598B2/en active Active
- 2019-07-24 JP JP2019136231A patent/JP6793228B2/ja active Active
-
2020
- 2020-02-10 US US16/786,359 patent/US11140293B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20200021003A (ko) | 2020-02-26 |
US20170257515A1 (en) | 2017-09-07 |
EP3286725A1 (en) | 2018-02-28 |
CN107438861B (zh) | 2021-02-26 |
CN112967169B (zh) | 2022-06-03 |
KR20170125393A (ko) | 2017-11-14 |
CN107438861A (zh) | 2017-12-05 |
US20160316094A1 (en) | 2016-10-27 |
DE112016001835T5 (de) | 2018-02-15 |
EP3286725B1 (en) | 2021-10-06 |
JP6563512B2 (ja) | 2019-08-21 |
US10560598B2 (en) | 2020-02-11 |
US11140293B2 (en) | 2021-10-05 |
JP2019215887A (ja) | 2019-12-19 |
US10284744B2 (en) | 2019-05-07 |
US10291813B2 (en) | 2019-05-14 |
JP2018513474A (ja) | 2018-05-24 |
US20190208075A1 (en) | 2019-07-04 |
CN112967169A (zh) | 2021-06-15 |
WO2016171882A1 (en) | 2016-10-27 |
US20200186667A1 (en) | 2020-06-11 |
KR102146515B1 (ko) | 2020-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6793228B2 (ja) | 画像プロセッサのためのシート生成部 | |
JP7202987B2 (ja) | 高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャ | |
JP6858239B2 (ja) | プログラムコードを、高性能で電力効率の良いプログラマブルな画像処理ハードウェアプラットフォームにマッピングするためのコンパイラ技法 | |
JP6764954B2 (ja) | プログラマブル二次元画像プロセッサ上の畳み込みニューラルネットワーク | |
JP6764904B2 (ja) | 画像プロセッサのための二次元シフトアレイ | |
JP6967570B2 (ja) | 画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャ | |
JP6726752B2 (ja) | 画像プロセッサのためのコンパイラ管理メモリ | |
JP6775088B2 (ja) | 画像プロセッサランタイム効率を向上するためのプログラムコード変形 | |
KR20190135034A (ko) | 라인 버퍼 유닛 당 메모리 할당 결정 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190822 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190822 |
|
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: 20201013 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201109 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6793228 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |