JP6750022B2 - 画像プロセッサのためのマクロi/oユニット - Google Patents
画像プロセッサのためのマクロi/oユニット Download PDFInfo
- Publication number
- JP6750022B2 JP6750022B2 JP2018539874A JP2018539874A JP6750022B2 JP 6750022 B2 JP6750022 B2 JP 6750022B2 JP 2018539874 A JP2018539874 A JP 2018539874A JP 2018539874 A JP2018539874 A JP 2018539874A JP 6750022 B2 JP6750022 B2 JP 6750022B2
- Authority
- JP
- Japan
- Prior art keywords
- line group
- line
- image
- image processor
- processor
- 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
Classifications
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/006—Details of the interface to the display terminal
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/02—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
-
- 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/32358—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 using picture signal storage, e.g. at transmitter
-
- 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/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/02—Handling of images in compressed format, e.g. JPEG, MPEG
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/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
- H04N2201/3285—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 using picture signal storage, e.g. at transmitter
- H04N2201/329—Storage of less than a complete document page or image frame
- H04N2201/3291—Storage of less than a complete document page or image frame of less than a complete line of data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Memory System (AREA)
Description
この出願は、2016年2月28日に出願された米国仮出願第62/300,880号「画像プロセッサのためのマクロI/Oユニット(“Macro I/O Unit For Image Processor”)」の利益を主張し、その全体をここに引用により援用する。
本発明は、一般に、画像処理に関し、特に、画像プロセッサのためのマクロI/Oユニットに関する。
画像処理は、典型的には、アレイに編成されたピクセル値の処理を含む。ここで、空間的に編成された二次元アレイは、画像の二次元的性質を捕捉する(追加の次元は、時間(例えば二次元画像のシーケンス)およびデータタイプ(例えば色)を含み得る。典型的なケースでは、アレイ化されたピクセル値は、静止画像または動きの画像を捕捉するためにフレームのシーケンスを生成したカメラによって提供される。伝統的な画像プロセッサは、典型的には、2つの極端な側面のいずれかに分類される。
画像プロセッサが記載される。画像プロセッサは、画像プロセッサによる処理のために外部メモリから入力画像データを読み出し、画像プロセッサからの出力画像データを外部メモリに書き込むI/Oユニットを備える。I/Oユニットは、複数の論理チャネルユニットを含む。各論理チャネルユニットは、外部メモリと画像プロセッサ内のそれぞれの作成構成要素または消費構成要素との間に論理チャネルを形成する。各論理チャネルユニットは、再フォーマット回路系およびアドレス指定回路系を利用するように設計される。アドレス指定回路系は、外部メモリに適用されるアドレス指定スキーム、および外部メモリとそれぞれの作成構成要素または消費構成要素との間の画像データの再フォーマットを制御する。再フォーマット回路系は再フォーマットを実行する。
以下の説明および添付の図面は、本発明の実施形態を例示するために使用される。
i.導入
以下の説明は、広く汎用性のあるアプリケーションソフトウェア開発環境を提供する新たな画像処理技術プラットフォームに関する多数の実施形態を記載するものであり、それは改善された電力効率を提供するために、より大きなデータのブロック(例えば、以下にさらに説明するようなライングループおよびシート)を使用する。
a.カーネルの用途および構造
図1は、仮想画像処理環境101と、実際の画像処理ハードウェア103と、仮想処理環境101のために書かれたよりハイレベルのコードを、実際のハードウェア103が物理的に実行するオブジェクトコードに変換するためのコンパイラ102とを含む、画像プロセッサ技術プラットフォームのハイレベル図である。以下でより詳細に説明するように、仮想処理環境101は、アプリケーションの構成プロセスの容易な視覚化のために開発および調整できるアプリケーションの点で、広く汎用性が高い。開発者104によるプログラムコード開発努力が完了すると、コンパイラ102は、仮想処理環境101内で書かれたコードを、実際のハードウェア103に対して対象とされるオブジェクトコードに変換する。
様々な実施形態において、仮想プロセッサの関連する特徴は、それらのメモリモデルである。当該技術分野で理解されるように、プロセッサは、メモリからデータを読み出し、そのデータを操作し、新たなデータをメモリに書き戻す。メモリモデルは、プロセッサが有する、データがメモリ内に編成される方法のパースペクティブまたはビューである。一実施形態では、仮想プロセッサのメモリモデルは、入力アレイ領域および出力アレイ領域の両方を含む。スレッドの入力ピクセル値は入力アレイ領域に格納され、スレッドによって生成された出力ピクセル値は出力アレイ領域に格納される。
a.画像プロセッサハードウェアアーキテクチャおよび動作
図4は、ハードウェアで実現される画像プロセッサのためのアーキテクチャ400の実施形態を示す。画像プロセッサは、例えば、シミュレートされた環境内で仮想プロセッサ用に書かれたプログラムコードを、ハードウェアプロセッサによって実際に実行されるプログラムコードに変換するコンパイラによって対象とされてもよい。図4に示すように、アーキテクチャ400は、複数のラインバッファユニット401_1〜401_Mを含み、それらは、複数のステンシルプロセッサユニット402_1〜402_Nおよび対応するシート生成部ユニット403_1〜403_Nに、ネットワーク404(例えば、ネットワークオンチップ(NOC)(オンチップスイッチネットワーク、オンチップリングネットワークまたは他の種類のネットワークを含む))を介して相互接続される。一実施形態では、どのラインバッファユニットが、ネットワーク404を介してどのシート生成部および対応するステンシルプロセッサに接続してもよい。
図6は、ステンシルプロセッサ600の実施形態を示す。図6において見られるように、ステンシルプロセッサは、データ計算ユニット601、スカラープロセッサ602および関連するメモリ603およびI/Oユニット604を含む。データ計算ユニット601は、実行レーンのアレイ605、二次元シフトアレイ構造606、およびアレイの特定の行または列に関連する別個のランダムアクセスメモリ607を含む。
a.ラインバッファユニット概観
上記におけるセクション1.0での議論から、様々な実施形態において、ハードウェアプラットフォーム用に書かれたプログラムコードは、その命令フォーマットが入力および出力アレイ位置、例えば、X、Y座標を特定するロードおよびストア命令を有する命令セットを含む一意的な仮想コードで書かれる。様々な実施態様において、X、Y座標情報は実際にはハードウェアプラットフォームにプログラミングされ、そのコンポーネントの様々なものによって認識/理解される。これは、例えば、X、Y座標を(例えばコンパイラ内で)異なる情報に変換することとは別である。例えば、ステンシルプロセッサ内の二次元シフトレジスタ構造の場合、X、Y座標情報はレジスタシフト移動に変換される。対照的に、ハードウェアプラットフォームの他の部分は、元はより高い仮想コードレベルで表現されるX、Y座標情報を具体的に受け取り、理解してもよい。
次のライングループの割り当ての一部としてラインバッファインタフェースユニットに提供される更新された構成情報911に関して、公称の場合、ラインバッファユニット900それ自体は、例えば、1つ以上の消費側からなる固定されたセットに供給しているわずか1つの固定された作成側の静的な構成を処理している。この場合、主要な構成情報(例えば、ライングループサイズ、消費側の数など)も静的でありがちであり、ライングループからライングループに変化しない。むしろ、ラインバッファインタフェースユニットに提供される新たな構成情報は、主に新たなライングループ(例えば、メモリ内のライングループの位置など)を識別する。しかしながら、より複雑な潜在的な構成/設計も可能である。これらのうちのいくつかは、この後より詳細に説明される。
上記の議論は、大部分は、「完全ライングループ」モードに主に向けられ、そこにおいては、ライングループは、完全な全ライングループとして言及され、シート生成部とラインバッファユニットとの間で渡される。「仮想的に高い」と呼ばれる別のモードでは、ライングループは、分離した個別のセグメントで完成される全幅の上側部分および下側部分として言及され、シート生成部間で渡される。
図4の議論から、入力画像データを画像プロセッサに供給するために、マクロI/Oユニット405は画像データのフレームをラインバッファユニット401に渡すことを想起されたい。同様に、画像プロセッサから、処理された画像データを、なんであれ画像プロセッサを利用しているシステムリソース(例えば、アプリケーションソフトウェアプログラム、ディスプレイ、カメラなど)に供給するために、画像データの処理された出力フレームが、ラインバッファユニット401からマクロI/Oユニット405に転送される。
上述した様々な画像プロセッサアーキテクチャの特徴は、必ずしも従来の意味での画像処理に限定されず、したがって、画像プロセッサを再特徴付けしてもよい(またはしなくてもよい)他のアプリケーションに適用することができることを指摘することが適切である。例えば、実際のカメラ画像の処理とは対照的に、アニメーションの作成および/または生成および/またはレンダリングにおいて上述した様々な画像プロセッサアーキテクチャの特徴のいずれかが使用される場合、画像プロセッサはグラフィックス処理ユニットとして徳経づけられてもよい。さらに、上述した画像プロセッサアーキテクチャの特徴は、ビデオ処理、視覚処理、画像認識および/または機械学習などの他の技術的用途にも適用することができる。このように適用されて、画像プロセッサは、より汎用的なプロセッサ(例えば、コンピューティングシステムのCPUの一部であるか、またはその一部である)と(例えばコプロセッサとして)一体化されてもよく、またはコンピューティングシステム内のスタンドアロンプロセッサであってもよい。
Claims (15)
- 画像プロセッサであって、
各々が、2次元シフトレジスタアレイ構造をそれぞれ有する1つ以上のステンシルプロセッサと、
シート生成部と、
前記画像プロセッサによる処理のために外部メモリから入力画像データを読み出し、前記画像プロセッサからの出力画像データを前記外部メモリに書き込むように構成されるI/Oユニットとを備え、
前記I/Oユニットは、複数の論理チャネルユニットを含み、
各論理チャネルユニットは、
前記外部メモリに格納されるライングループの一部に対応するアドレスを生成するよう構成されるアドレス指定回路と、
前記外部メモリから読み出された再フォーマットされたバージョンのデータを生成するよう構成される再フォーマット回路とを含み、
各論理チャネルユニットは、前記外部メモリと前記画像プロセッサ内のそれぞれのラインバッファとの間に論理チャネルを形成するように構成され、
各論理チャネルユニットは、前記外部メモリに格納された再フォーマットされたそれぞれのライングループの再フォーマットされた一部を前記画像プロセッサのラインバッファに与えるように構成され、
前記アドレス指定回路を用いて、前記外部メモリに格納された前記ライングループの一部にそれぞれ対応するアドレスを生成することを含み、前記生成することは、前記ライングループと同じ幅を有する前記ライングループの第1の全幅領域に対応するアドレスを生成することと、前記ライングループの複数の後続の領域にそれぞれ対応するアドレスを繰り返し生成することとを含み、
前記複数の後続の領域の各後続の領域は、前記ライングループよりも狭い幅を有し、さらに、
前記再フォーマット回路を用いて、複数の異なるそれぞれの色フォーマットにおけるそれぞれのライングループの各部分の再フォーマットされたバージョンを含む再フォーマットされた画像データを生成することと、
前記再フォーマットされた画像データを前記ラインバッファに与えることとを含み、
前記画像プロセッサの前記シート生成部は、前記ラインバッファから、前記1つ以上の内部のステンシルプロセッサのうちのある内部のステンシルプロセッサの2次元シフトレジスタアレイ構造のそれぞれの異なる空間に、前記ライングループの各後続の領域のそれぞれが異なる再フォーマットされたバージョンを有する複数のシートをロードするように構成される、画像プロセッサ。 - 各論理チャネルユニットは、前記画像プロセッサの前記シート生成部が前記ラインバッファから各後続の領域を繰り返し消費するにつれて、前記複数の後続の領域を繰り返し読み出して前記ラインバッファに与える、請求項1記載の画像プロセッサ。
- 前記シート生成部は、前記ラインバッファから各後続の領域を繰り返し消費するよう構成され、
各々がデータを有する画像データのシートを前記ライングループの前記第1の全幅領域および前記ライングループの後続の領域の両方から生成することと、各生成された画像データのシートを前記画像プロセッサの前記1つ以上の内部のステンシルプロセッサの1つに与えることとを含む、請求項2記載の画像プロセッサ。 - 前記再フォーマット回路は、複数の異なる色フォーマットの各々において前記ライングループの各後続の領域の複数の再フォーマットされたバージョンを生成するように入力キューから繰り返し読み出しを行うように構成される、請求項1記載の画像プロセッサ。
- 各論理チャネルユニットは、ステートマシンを含み、
前記ステートマシンは、各ライングループの各全幅領域と各ライングループの各後続の領域との間における読出の順序付けを制御する、請求項1記載の画像プロセッサ。 - コンピューティングシステムであって、
1つ以上の汎用プロセッサと、
外部メモリと、
前記外部メモリと結合されたメモリコントローラと、
画像プロセッサとを備え、
前記画像プロセッサは、
各々が、2次元シフトレジスタアレイ構造をそれぞれ有する1つ以上のステンシルプロセッサと、
シート生成部と、
前記画像プロセッサによる処理のために前記外部メモリから入力画像データを読み出し、前記画像プロセッサからの出力画像データを前記外部メモリに書き込むように構成されるI/Oユニットとを備え、
前記I/Oユニットは、複数の論理チャネルユニットを含み、
各論理チャネルユニットは、
前記外部メモリに格納されるライングループの一部に対応するアドレスを生成するよう構成されるアドレス指定回路と、
前記外部メモリから読み出された再フォーマットされたバージョンのデータを生成するよう構成される再フォーマット回路とを含み、
各論理チャネルユニットは、前記外部メモリと前記画像プロセッサ内のそれぞれのラインバッファとの間に論理チャネルを形成するように構成され、
各論理チャネルユニットは、前記外部メモリに格納された再フォーマットされたそれぞれのライングループの再フォーマットされた一部を前記画像プロセッサのラインバッファに与えるように構成され、
前記アドレス指定回路を用いて、前記外部メモリに格納された前記ライングループの一部にそれぞれ対応するアドレスを生成することを含み、前記生成することは、前記ライングループと同じ幅を有する前記ライングループの第1の全幅領域に対応するアドレスを生成することと、前記ライングループの複数の後続の領域にそれぞれ対応するアドレスを繰り返し生成することとを含み、
前記複数の後続の領域の各後続の領域は、前記ライングループよりも狭い幅を有し、さらに、
前記再フォーマット回路を用いて、複数の異なるそれぞれの色フォーマットにおけるそれぞれのライングループの各部分の再フォーマットされたバージョンを含む再フォーマットされた画像データを生成することと、
前記再フォーマットされた画像データを前記ラインバッファに与えることとを含み、
前記画像プロセッサの前記シート生成部は、前記ラインバッファから、前記1つ以上の内部のステンシルプロセッサのうちのある内部のステンシルプロセッサの2次元シフトレジスタアレイ構造のそれぞれの異なる空間に、前記ライングループの各後続の領域のそれぞれが異なる再フォーマットされたバージョンを有する複数のシートをロードするように構成される、コンピューティングシステム。 - 各論理チャネルユニットは、前記画像プロセッサの前記シート生成部が前記ラインバッファから各後続の領域を繰り返し消費するにつれて、前記複数の後続の領域を繰り返し読み出して前記ラインバッファに与える、請求項6記載のコンピューティングシステム。
- 前記シート生成部は、前記ラインバッファから各後続の領域を繰り返し消費するよう構成され、
各々がデータを有する画像データのシートを前記ライングループの前記第1の全幅領域および前記ライングループの後続の領域の両方から生成することと、各生成された画像データのシートを前記画像プロセッサの前記1つ以上の内部のステンシルプロセッサの1つに与えることとを含む、請求項7記載のコンピューティングシステム。 - 前記再フォーマット回路は、複数の異なる色フォーマットの各々において前記ライングループの各後続の領域の複数の再フォーマットされたバージョンを生成するように入力キューから繰り返し読み出しを行うように構成される、請求項6記載のコンピューティングシステム。
- 前記外部メモリの少なくとも一部は、前記コンピューティングシステムのシステムメモリ内に設けられる、請求項6記載のコンピューティングシステム。
- 画像プロセッサによって実行される方法であって、
前記画像プロセッサは、2次元シフトレジスタアレイ構造を各々が有する1つ以上の内部のステンシルプロセッサを含み、前記方法は、
前記画像プロセッサのI/Oユニットの複数の論理チャネルユニットのうちのある論理チャネルユニットによって、外部メモリと前記画像プロセッサ内のラインバッファとの間に論理チャネルを形成することと、
前記論理チャネルユニットによって、アドレス指定回路を用いて、前記外部メモリに格納されたライングループの一部にそれぞれ対応するアドレスを生成することとを備え、前記生成することは、前記ライングループと同じ幅を有する前記ライングループの第1の全幅領域に対応するアドレスを生成することと、前記ライングループの複数の後続の領域にそれぞれ対応するアドレスを生成することとを含み、
前記複数の後続の領域の各後続の領域は、前記ライングループよりも狭い幅を有し、前記方法はさらに、
前記論理チャネルユニットの再フォーマット回路を用いて、複数の異なるそれぞれの色フォーマットにおける前記ライングループの各部分の再フォーマットされたバージョンを含む再フォーマットされた画像データを生成することと、
前記再フォーマットされた画像データを前記ラインバッファに与えることと、
前記画像プロセッサのシート生成部の前記ラインバッファから、前記1つ以上のステンシルプロセッサのうちのある内部のステンシルプロセッサの2次元シフトレジスタアレイ構造のそれぞれの異なる空間に、前記ライングループの各後続の領域のそれぞれが異なる再フォーマットされたバージョンを有する複数のシートをロードすることとを備える、方法。 - 各論理チャネルユニットは、前記画像プロセッサの前記シート生成部が前記ラインバッファから各後続の領域を繰り返し消費するにつれて、前記複数の後続の領域を繰り返し読み出して前記ラインバッファに与える、請求項11記載の方法。
- 前記シート生成部によって、前記ラインバッファから各後続の領域を繰り返し消費することをさらに備え、前記繰り返し消費することは、
各々がデータを有する画像データのシートを前記ライングループの前記第1の全幅領域および前記ライングループの後続の領域の両方から生成することと、
各生成された画像データのシートを前記画像プロセッサの前記1つ以上の内部のステンシルプロセッサの1つに与えることとを含む、請求項12記載の方法。 - 前記論理チャネルユニットの前記再フォーマット回路によって、複数の異なる色フォーマットの各々において前記ライングループの各後続の領域の複数の再フォーマットされたバージョンを生成するように、入力キューから繰り返し読み出しを行うことをさらに備える、請求項11記載の方法。
- 各論理チャネルユニットのステートマシンによって、各ライングループの各全幅領域と各ライングループの各後続の領域との間における読出の順序付けを制御することをさらに備える、請求項11記載の方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662300880P | 2016-02-28 | 2016-02-28 | |
US62/300,880 | 2016-02-28 | ||
US15/389,168 | 2016-12-22 | ||
US15/389,168 US10380969B2 (en) | 2016-02-28 | 2016-12-22 | Macro I/O unit for image processor |
PCT/US2016/069215 WO2017146817A1 (en) | 2016-02-28 | 2016-12-29 | Macro i/o unit for image processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019509549A JP2019509549A (ja) | 2019-04-04 |
JP6750022B2 true JP6750022B2 (ja) | 2020-09-02 |
Family
ID=57861271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018539874A Active JP6750022B2 (ja) | 2016-02-28 | 2016-12-29 | 画像プロセッサのためのマクロi/oユニット |
Country Status (9)
Country | Link |
---|---|
US (3) | US10380969B2 (ja) |
EP (1) | EP3420526A1 (ja) |
JP (1) | JP6750022B2 (ja) |
KR (1) | KR102072145B1 (ja) |
CN (1) | CN107133016B (ja) |
DE (2) | DE202016107470U1 (ja) |
GB (2) | GB2551412B (ja) |
TW (3) | TWI650013B (ja) |
WO (1) | WO2017146817A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10503689B2 (en) * | 2017-05-15 | 2019-12-10 | Google Llc | Image processor I/O unit |
US11386644B2 (en) * | 2017-10-17 | 2022-07-12 | Xilinx, Inc. | Image preprocessing for generalized image processing |
KR102502526B1 (ko) * | 2018-04-16 | 2023-02-23 | 에밀 바덴호르스트 | 프로세서 및 프로세서 작동 방법 |
CN110782387B (zh) * | 2018-07-30 | 2023-09-22 | 阿里巴巴(中国)有限公司 | 图像处理方法、装置、图像处理器及电子设备 |
Family Cites Families (88)
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 |
EP0293701B1 (en) | 1987-06-01 | 1994-08-10 | Applied Intelligent Systems, Inc. | Parallel neighborhood processing system and method |
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 |
US5162788A (en) * | 1989-06-16 | 1992-11-10 | Apple Computer, Inc. | Chunky planar data packing apparatus and method for a video memory |
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 | ソニー株式会社 | 画像データ処理装置および画像データ処理方法 |
US5671440A (en) | 1994-08-08 | 1997-09-23 | Eastman Kodak Company | Color image data reorientation and format conversion system |
US5612693A (en) | 1994-12-14 | 1997-03-18 | International Business Machines Corporation | Sliding window data compression using a toroidal bit shift register |
US5736988A (en) * | 1995-12-04 | 1998-04-07 | Silicon Graphics, Inc. | Apparatus and method for accelerated tiled data retrieval |
US5960211A (en) * | 1995-12-15 | 1999-09-28 | Hughes Aircraft | Data formatting method and apparatus for a data processing array |
US6049859A (en) | 1996-01-15 | 2000-04-11 | Siemens Aktiengesellschaft | Image-processing processor |
US5892962A (en) | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
JPH10271299A (ja) * | 1997-03-27 | 1998-10-09 | Ricoh Co Ltd | デジタル複合機 |
US5943040A (en) * | 1997-06-27 | 1999-08-24 | Sun Microsystems, Inc. | Graphical image reformatting |
US6466265B1 (en) | 1998-06-22 | 2002-10-15 | Eastman Kodak Company | Parallel output architectures for CMOS active pixel sensors |
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 |
JP4489305B2 (ja) | 1999-03-16 | 2010-06-23 | 浜松ホトニクス株式会社 | 高速視覚センサ装置 |
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 |
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 |
AU2003221680A1 (en) | 2002-04-09 | 2003-10-27 | The Research Foundation Of State University Of New York | 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 |
JP4284501B2 (ja) | 2003-03-28 | 2009-06-24 | セイコーエプソン株式会社 | 画像データ縮小装置、マイクロコンピュータ及び電子機器 |
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 |
JP2006013701A (ja) | 2004-06-23 | 2006-01-12 | Seiko Epson Corp | 表示コントローラ、電子機器及び画像データ供給方法 |
JP4219887B2 (ja) | 2004-12-28 | 2009-02-04 | 富士通マイクロエレクトロニクス株式会社 | 画像処理装置及び画像処理方法 |
JP4111192B2 (ja) | 2004-12-28 | 2008-07-02 | セイコーエプソン株式会社 | メモリコントローラ、表示コントローラ及びメモリ制御方法 |
US20100122105A1 (en) | 2005-04-28 | 2010-05-13 | 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 |
US8094552B1 (en) * | 2005-11-03 | 2012-01-10 | Seagate Technology Llc | Adaptive buffer for frame based storage communications protocols |
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 |
US7595805B2 (en) | 2006-04-11 | 2009-09-29 | Qualcomm Incorporated | Techniques to facilitate use of small line buffers for processing of small or large images |
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 |
JP4389976B2 (ja) | 2007-06-29 | 2009-12-24 | ブラザー工業株式会社 | 画像処理装置および画像処理プログラム |
US20090015850A1 (en) | 2007-07-13 | 2009-01-15 | Kenneth Edward Smith | Rapid loading of interleaved RGB data into SSE registers |
KR101036596B1 (ko) | 2007-09-05 | 2011-05-24 | 가부시키가이샤 시마쓰세사쿠쇼 | 고체촬상소자 및 그 구동방법 |
JP5461533B2 (ja) | 2008-05-30 | 2014-04-02 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | ローカル及びグローバルのデータ共有 |
US20090319007A1 (en) | 2008-06-20 | 2009-12-24 | Mcnulty Jr James F | Shocking device having a time-based monitoring and recording circuit |
JP4999791B2 (ja) | 2008-06-30 | 2012-08-15 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
JP5339824B2 (ja) | 2008-09-08 | 2013-11-13 | キヤノン株式会社 | 画像形成装置およびその制御方法 |
US8456480B2 (en) | 2009-01-14 | 2013-06-04 | Calos Fund Limited Liability Company | Method for chaining image-processing functions on a SIMD processor |
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 |
US8700877B2 (en) | 2009-09-25 | 2014-04-15 | Nvidia Corporation | Address mapping for a parallel thread processor |
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 |
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 |
US8751771B2 (en) | 2010-09-29 | 2014-06-10 | Nvidia Corporation | Efficient implementation of arrays of structures on SIMT and SIMD architectures |
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 | 株式会社ソシオネクスト | プログラム生成装置、プログラム生成方法、プロセッサ装置及びマルチプロセッサシステム |
JP5884037B2 (ja) | 2011-03-16 | 2016-03-15 | パナソニックIpマネジメント株式会社 | データ処理装置、データ処理方法及びデータ共有システム |
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 |
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 | 晨星半導體股份有限公司 | 影像處理裝置與影像處理方法 |
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 |
US8954992B2 (en) | 2013-03-15 | 2015-02-10 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Distributed and scaled-out network switch and packet processing |
US9098924B2 (en) | 2013-07-15 | 2015-08-04 | Nvidia Corporation | Techniques for optimizing stencil buffers |
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 |
US9785423B2 (en) | 2015-04-23 | 2017-10-10 | Google Inc. | Compiler for translating between a virtual image processor instruction set architecture (ISA) and target hardware having a two-dimensional shift array structure |
US9756268B2 (en) | 2015-04-23 | 2017-09-05 | Google Inc. | Line buffer unit for image processor |
US9965824B2 (en) | 2015-04-23 | 2018-05-08 | Google Llc | Architecture for high performance, power efficient, programmable image processing |
US9769356B2 (en) | 2015-04-23 | 2017-09-19 | Google Inc. | Two dimensional shift array for image processor |
US9772852B2 (en) | 2015-04-23 | 2017-09-26 | Google Inc. | Energy efficient processor core architecture for image processor |
US10095479B2 (en) | 2015-04-23 | 2018-10-09 | Google Llc | Virtual image processor instruction set architecture (ISA) and memory model and exemplary target hardware having a two-dimensional shift array structure |
US10297003B2 (en) * | 2015-09-21 | 2019-05-21 | Qualcomm Incorporated | Efficient saving and restoring of context information for context switches |
-
2016
- 2016-12-22 US US15/389,168 patent/US10380969B2/en active Active
- 2016-12-29 EP EP16829209.2A patent/EP3420526A1/en not_active Withdrawn
- 2016-12-29 DE DE202016107470.3U patent/DE202016107470U1/de active Active
- 2016-12-29 WO PCT/US2016/069215 patent/WO2017146817A1/en active Application Filing
- 2016-12-29 KR KR1020187022065A patent/KR102072145B1/ko active IP Right Grant
- 2016-12-29 DE DE102016125846.6A patent/DE102016125846A1/de active Pending
- 2016-12-29 JP JP2018539874A patent/JP6750022B2/ja active Active
- 2016-12-30 GB GB1622425.5A patent/GB2551412B/en active Active
- 2016-12-30 CN CN201611273166.6A patent/CN107133016B/zh active Active
- 2016-12-30 TW TW105144285A patent/TWI650013B/zh active
- 2016-12-30 TW TW109131928A patent/TWI745084B/zh active
- 2016-12-30 GB GB1910667.3A patent/GB2577959B/en active Active
- 2016-12-30 TW TW107146642A patent/TWI702840B/zh active
-
2017
- 2017-05-18 US US15/599,086 patent/US10504480B2/en active Active
-
2019
- 2019-11-15 US US16/685,388 patent/US10733956B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10504480B2 (en) | 2019-12-10 |
DE202016107470U1 (de) | 2017-06-30 |
TWI702840B (zh) | 2020-08-21 |
DE102016125846A1 (de) | 2017-08-31 |
JP2019509549A (ja) | 2019-04-04 |
CN107133016B (zh) | 2021-03-30 |
KR20180100362A (ko) | 2018-09-10 |
GB201622425D0 (en) | 2017-02-15 |
TW201735650A (zh) | 2017-10-01 |
US10380969B2 (en) | 2019-08-13 |
WO2017146817A1 (en) | 2017-08-31 |
US20200160809A1 (en) | 2020-05-21 |
US20170256230A1 (en) | 2017-09-07 |
GB201910667D0 (en) | 2019-09-11 |
TW201921955A (zh) | 2019-06-01 |
GB2577959B (en) | 2020-10-07 |
EP3420526A1 (en) | 2019-01-02 |
TW202112140A (zh) | 2021-03-16 |
GB2551412A (en) | 2017-12-20 |
TWI650013B (zh) | 2019-02-01 |
GB2551412B (en) | 2019-09-04 |
US20170249921A1 (en) | 2017-08-31 |
CN107133016A (zh) | 2017-09-05 |
KR102072145B1 (ko) | 2020-01-31 |
TWI745084B (zh) | 2021-11-01 |
US10733956B2 (en) | 2020-08-04 |
GB2577959A (en) | 2020-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6793162B2 (ja) | 画像プロセッサのためのラインバッファユニット | |
JP6858239B2 (ja) | プログラムコードを、高性能で電力効率の良いプログラマブルな画像処理ハードウェアプラットフォームにマッピングするためのコンパイラ技法 | |
JP7202987B2 (ja) | 高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャ | |
US10733956B2 (en) | Macro I/O unit for image processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181004 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181004 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190903 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191203 |
|
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: 20200714 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200812 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6750022 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |