JP2008165756A - ローカル・レジスタを有する処理要素のアレイ - Google Patents

ローカル・レジスタを有する処理要素のアレイ Download PDF

Info

Publication number
JP2008165756A
JP2008165756A JP2007308198A JP2007308198A JP2008165756A JP 2008165756 A JP2008165756 A JP 2008165756A JP 2007308198 A JP2007308198 A JP 2007308198A JP 2007308198 A JP2007308198 A JP 2007308198A JP 2008165756 A JP2008165756 A JP 2008165756A
Authority
JP
Japan
Prior art keywords
array
register
registers
processing element
input data
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.)
Granted
Application number
JP2007308198A
Other languages
English (en)
Other versions
JP2008165756A5 (ja
JP5131830B2 (ja
Inventor
Malte Borsum
ボルズム マルテ
Klaus Gaedke
ガエドケ クラウス
Marco Georgi
ゲオルギ マルコ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2008165756A publication Critical patent/JP2008165756A/ja
Publication of JP2008165756A5 publication Critical patent/JP2008165756A5/ja
Application granted granted Critical
Publication of JP5131830B2 publication Critical patent/JP5131830B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】 ローカル・レジスタを有する処理要素のアレイを提供すること。
【解決手段】 特殊化された画像処理回路が、通常、単一命令複数データ(SIMD)アーキテクチャとして超並列方式でハードウェア中に実装される。公知の実装形態は一般に、処理要素とメモリ・サブシステムとの間の接続パスが長く複雑であり、その結果、最大動作周波数が制限されるという難点がある。最適化された画像処理用アーキテクチャは、2次元構造に配列された処理要素(PE00,...,PE77)を有し、各処理要素は、複数の参照ピクセルを含むローカル・ストレージ(X0,...,X8)を有するが、参照ピクセルは参照画像中の近隣ではない。そうではなく、参照ピクセルは参照画像の異なるブロックに属し、これは種々の符号化方式で様々である場合がある。
【選択図】 図5

Description

本発明は、入力データのためのローカル・レジスタを有する処理要素のアレイに関する。
動き推定(ME)は、非常に多くの処理力を必要とする時間クリティカルな適用例の一例である。従って通常、特殊化された回路が、単一命令複数データ(SIMD、single instruction multiple data)アーキテクチャとして超並列方式でハードウェア中に実装される。これらのアーキテクチャは、例えば現ピクチャのピクセルを参照ピクセルと比較するために、計算される1つの値につき、普通は1つの処理要素(PE)を有する。通常、前ピクチャ中の対応するピクセル、およびその近隣が、参照ピクセルとしての働きをする。より一般化された見方では、任意の1次元、2次元、または多次元データ・セットが、処理への入力としての働きをする。MEのためのPEは、現ピクセル、およびメモリに記憶されたいくつかの参照ピクセルにアクセスすることができる。ピクセルは通常、大きい画像メモリから、より速くアクセスできるより小さい動作用メモリにコピーされる。大きい画像メモリは遅いので、このコピー操作は比較的長くかかる。動作用メモリはいくつかのブロックを含み、これらのブロックは、利用される符号化方式に従って、現ブロックを予測するための参照としての働きをすることができる。ブロックはしばしば、16×16、8×8、または4×4ピクセルを含む正方形構造を有する。
通常、ピクセル・ブロックに対するPEの結果は、現ブロックと特定の参照ブロックとの類似性の尺度を計算するために蓄積され、後続の回路が、最も類似する参照ブロックを決定し、このブロックに基づいて現ブロックを符号化する。
従って、PEは、現ブロックと比較して相対的に大きい動作用メモリ全体に分散するいくつかの参照ピクセルへのアクセスを有する必要がある。冗長ピクセル記憶を防止すべきである場合、複雑な接続回路を含むアーキテクチャが必要とされる。例えば、US2003/0174252号は、ピクセル値をメモリ・サブシステムからPEに振り分けるために、プログラム可能なクロスバー・スイッチを使用する。ビット・マスクが、どのピクセル・データにPEからアクセスできるかを制御する。クロスバー・スイッチは一般に、深い階層に多数のマルチプレクサ要素を含み、このことは、より高い動作周波数の場合に不利である。
通常、ME回路は、ハードウェア、例えばASIC中に実装される。しかし、公知の実装形態は一般に、PEとメモリ・サブシステムとの間の接続パスが長く複雑であり、その結果、最大動作周波数が制限されるという難点がある。従って、最適化されたアーキテクチャが望ましい。
US2003/0174252号
本発明は、PEとそのそれぞれのメモリ・サブシステムとの間の時間クリティカルな信号パスを最適化するアーキテクチャを提供する。従来技術の実装形態で、これらの信号パスは2つの異なる機能、すなわち参照ピクセルを整理し直すこと(遅い)および整理し直された参照ピクセルをPEと接続すること(速い必要がある)を、実現することが認識されている。本発明による最適化は、原則的に、この2つの機能を大きく分けることによって達成される。
本発明の一態様は、複数のディジタル処理要素のアレイである。ディジタル処理要素は、ディジタル入力データを処理してディジタル出力データを提供するためのハードウェア構造であり、アレイは1つまたは複数の次元を有する。各ディジタル処理要素は、入力データを保持するための複数のレジスタを関連付けており、入力データは、(例えば最初に)ロード・モードで外部データ・ソースからロードすることができる。ディジタル処理要素の複数のレジスタはそれぞれ、切換え可能な接続を介して、アレイの各次元における2つの近隣処理要素に関連する少なくとも2つのレジスタに接続される。切換え可能な接続は、種々のシフト・レジスタ動作モードに切り換えることができる。アレイの境界にある処理要素に関連するレジスタは、アレイの反対側の境界にある処理要素に関連するレジスタに接続される。
本発明の一実施形態では、シフト・レジスタ・モードは、複数のサブモードを含む。サブモードは、アレイの各次元の各方向へのシフトを可能にする。例えば、1次元では、「右」および「左」への異なるサブモードが可能であり、少なくとも2次元では、「北」「南」「東」「西」が可能である。
本発明の一実施形態では、第2のレジスタ群がシフト・レジスタ・モードにある間に、第1のレジスタ群をロード・モードに切り換えることができる。本発明の一実施形態では、「ショート・シフト・レジスタ」モードという別のモードは、アレイの境界にない処理要素に関連するレジスタが、アレイの境界のうちの1つにある処理要素に関連するレジスタに接続されることを含む。従って、アレイのいくつかのPEのみのローカル・レジスタがシフト・レジスタとして配列され、他のローカル・レジスタは使用されず、例えばロードすることができる。これは、ロードが1クロック・サイクルよりも長くかかる場合に有利である。
本発明の一実施形態では、アレイはクロック信号によって動作させられ、PEによる処理は、シフト・レジスタ・モードでのシフトと同じクロック・サイクルで実施される。
本発明の一実施形態では、入力データは、1つまたは複数の次元で、ある順序で配列され、特定の処理要素に関連する複数のレジスタに記憶されている入力データは、この順序に従った近隣ではない。
本発明の一実施形態では、入力データは隣接データ・ブロックに配列され、処理要素に関連する複数のレジスタは、異なるブロックからの入力データを記憶するためのものである(すなわち、各レジスタは異なるブロックからのデータを記憶する)。
本発明の一実施形態によるアーキテクチャでは、複数のPEが2次元構造に配列され、各PEはローカル・ストレージを有する。各PEのローカル・ストレージは、複数の参照値、例えばピクセルを含み、これらの参照値は、入力データ・フィールド中、例えば参照画像中で近隣ではない。そうではなく、参照ピクセルは、参照画像の異なるブロックに属し、これは種々の符号化方式で様々である場合がある。画定された検索領域に応じて、参照ピクセルのうちの1つは、現ピクセルに直接に対応するものとすることができる。すなわちこの参照ピクセルは、現ピクセルが現画像中で有する座標と同じ座標を、参照画像中で有する。他の参照ピクセルは、例えば参照画像中の近隣ブロックまたはマクロブロックからのものとすることができる。これらは、8×8ピクセルよりも大きいブロック・サイズに使用される。
2次元アレイ構造では、各PEはその直接の近隣に接続され、従って、ピクセル値を任意の近隣PEとの間でシフトすることができ、これは、本発明のこの実施形態で2次元シフト・レジスタを実現する。これにより、現ブロックを複数の参照ブロックにわたってシフトすることができる。
さらに、本発明の一実施形態では、各PEのメモリ・サブシステムは、参照ピクセル・ロード領域としての働きをする拡張領域、すなわち、現ピクセルと比較される現在の実行の中にはないが次の実行の中にあるピクセルのための記憶領域を含む。これにより、ピクセルを主画像メモリから比較的低速でロードすることができる。というのは、拡張領域への書込みと、メモリの主検索領域の処理/シフトが干渉しないからである。このようなモードでは、主検索領域を別個にシフトすることができる。このロード機能により、参照ブロックを、他のデータの処理と同時に任意の方式で拡張することが可能である。
本発明の有利な実施形態は、従属請求項、後続の記述、および図に開示する。
本発明の例示的な実施形態を、添付の図面を参照しながら述べる。
動き推定では、前のフィールド/フレーム中で所与のブロックに最もよく合致する位置が検索される。これを達成するには、所与のブロックを検索領域中の多くの位置と比較しなければならない。必要な処理速度を達成するために、1ピクセルあたり1つのPEを有する並列ハードウェアが使用される。これは、図1に示すように、PEの2次元アレイまたはグリッドとして実現することができる。本発明のこの実施形態では、各PEは9つの特別なレジスタX,...,Xを有し、各レジスタは参照ピクセル値を保持する。例えば、1つのレジスタXは、参照画像の対応ブロックの対応ピクセルを保持し、3つのレジスタX、X、Xは、8×16、16×8、16×16のようなより大きいブロック・サイズに使用することのできる、参照画像の近隣ブロックの対応ピクセルを保持し、5つのレジスタX、X、X、X、Xは、後述するように16×16ブロックX−X−X−Xの中へまたは中からシフトされるピクセルをバッファリングするのに使用される。近隣参照ブロックは、例えば東X、南X、および東南Xと呼ばれるブロックである。さらに、1つのレジスタRが、検索すべき現ピクセルを保持する。加えて、いくつかの他のレジスタR〜Rも、この目的に利用可能とすることができる。これらのレジスタはすべて、PE中でローカルに利用可能である。従って、PE内におけるこれらのレジスタおよび処理ユニットの間の接続構造は、非常に単純である。さらに、現ブロックが8×8よりも大きい場合、各PEは、例えば現ブロックのさらに3つのピクセルを保持する他のレジスタR、R、Rを有することができる。これは、例えば8×16、16×8、または16×16ブロックに対するブロック・マッチングを可能にする。
上述した構造は、各PEがローカルに記憶した単一ピクセルがどこから来たものであるかを考えたとき、よりよく理解される。図2に、参照画像の24×24ピクセルの領域を示す。各ピクセルはPEグリッド中にローカルに記憶される。参照画像の主検索領域は、この例では4つの8×8ブロックからなる。例えば、主検索領域の各ブロックの左上角は、PE00中のレジスタX、X、X、X中にローカルに記憶される。同様にして、他の参照ピクセルも、他のPEに振り分けられる。
動き推定プロセス中に、現ブロックと参照ブロックとの類似性の尺度、例えば差分絶対値和(SAD、sum of absolute differences)が決定される。特定のPEについての8×8ブロックの現ピクセルがローカル・レジスタRに記憶されている場合、PEは差分絶対値|R−X|を計算し、高性能のプロセッサ、例えば累算器が、すべてのPEのSADを、SAD=Σ|R−X|として計算する。別の例では、8×16ブロックの現ピクセルが、ローカル・レジスタRおよびRに記憶されている。PEは、PEハードウェアに応じて1つまたは複数のステップで差分絶対値|R−X|および|R−X|を計算し、累算器はSAD=Σ(|R−X|+|R−X|)を計算する。このタイプの検索では、近隣参照ブロックのピクセルがPE中でローカルに利用可能であることが有利である。従って、上述した、各PEが現在値のための4つのレジスタR,...,Rを有する8×8PEのグリッドは、8×8データのブロックを処理する適用例に向けて最適化されているが、現在使用されているMEアルゴリズムの場合のように、8×16、16×8、または16×16データのブロックも扱うことができる。他の適用例では、PEの数、および/または1PEあたりのレジスタ数を変更するのが有利な場合がある。
MEでは、SADが記憶され、検索領域が移動され、SAD計算が繰り返される。最小限のSADを有するブロックが決定され、このブロックは最終的に、動きベクトルを決定するための参照ブロックとして選択される。検索領域の移動は一般に、検索領域と参照領域とを相互に対して相対的にシフトすることによって行われる。これは普通、複雑なプロセスだが、本発明のアーキテクチャを使用すればずっと容易である。本発明の一態様によれば、より大きい検索(または参照)領域がシフトされ、より小さい現領域は、すべての位置が終わるまで一定に保たれる。従って、R〜Rレジスタ中の現在値は各PEごとに同じままであり、「特別な」レジスタ(X,...,X)中の値が変更される。
本発明の一態様によれば、これらの「特別な」レジスタ(X,...,X)は、北、東、南、または西のシフトを可能にする2次元シフト・レジスタを実現する切換え可能な接続によって、近隣PEの対応する「特別な」レジスタに接続される。PEはこれらのレジスタ(X,...,X)を介してその値を近隣PEに通信することができるので、これらのレジスタを本明細書では通信レジスタと呼ぶ。切換え可能な接続は、典型的にはマルチプレクサを使用する。マルチプレクサは単純であって例えば6:1であり、短いワイヤを介して近隣PEに接続される。このため、高周波数の動作が可能である。PEの1つまたは複数の処理ステップが完了して、現ブロックが検索領域中の次の位置に移動されることになるとき、各PEのピクセルは単に、PEグリッドのすべてのマルチプレクサを相応に制御することによって、その近隣PEに(現在使用されている方向に)シフトされる。明らかに、検索方向を変更するのは非常に容易である。すなわち、異なるマルチプレクサ制御によって変更する。境界PEの近隣マッピングについては後述する。
このように、PE間で検索データをやり取りするための効率的な方法を提供するシフト・レジスタが得られる。このシフト・レジスタにより、検索領域をピクセル単位で動かすことができる。例えば、「北」方向のシフト操作は、特定のPE、例えばPE11のピクセルを、その北の近隣PE01の対応レジスタにシフトすることになる。検索領域の外にシフトされるピクセルは、グリッドの反対側に入力される(これは「循環」とも呼ばれるが、本明細書では「シフト」という用語を使用する)。例えば、「北」シフトでは、PE01からのピクセルはPE71にシフトされる。同じことが逆に「南」シフト、さらには「東」および「西」シフトにも当てはまる。従って、すべてのPEの通信レジスタは、2次元リング・バッファをなす。しかし、この構造は、8×8ブロックのため複雑である。これは図2で見ることができ、図2はまた、シフト方向に応じた可能なリング・バッファの構造も示している。例えば、すべてのブロックにわたって「東」(=右)シフトに構成されたとき、一番上のピクセル・ラインを保持する1つのリング・バッファは、PE00〜PE07のすべてのXレジスタを含み、さらに、同じPEのすべてのXレジスタを含み、次いで、同じPEのすべてのXレジスタを含む。図3に示すように、このラインの最後のレジスタPE07Xは、最初のレジスタPE00Xに接続され、これはリング構造をなす。検索領域の他のラインも相応に配列され、同じことが列にも当てはまる。
1つの検索中に、検索領域は、例えば行の順序でまたは蛇行走査順序で、8×8ブロック内のすべての可能な位置にわたって移動される。例えば、「南」方向への7回のシフト操作の後には、PE00X,PE10X,...,PE70Xの内容は、PE70X,PE00X,...,PE60Xに移動されている。蛇行走査順序を使用する場合、次いで「東」シフトが続き、それによりPE70X,PE00X,...,PE60Xの内容は、次のSADを計算するためにPE71X,PE01X,...,PE61Xに移動され、次いで8回の「北」シフト、もう1回の「東」シフトなどが続くことを意味し得る。最初のライン/列は、7回のシフトしか必要としない。というのは、最初の計算はデータがロードされる間にすでに行われたものとすることができるからである。他のタイプの蛇行走査が、他のアルゴリズム、例えば(7×E)−S−(8×W)−S−(8×E)−S−...または(7×N)−W−(8×S)−W−(8×N)−W−...を使用することもできる(例えば、Eは1回の「東」シフトおよびPE計算、などとする)。参照画像の現在使用されていない部分は、拡張レジスタX、X、X、X、X中にシフトされ、この部分は後でシフトして戻すことができる。他のタイプの走査順序、例えば中央ブロックから開始する螺旋走査を使用してもよい。有利なことに、提案する構造を使用してこれが可能である。というのは、PEの各レジスタが同等であり、従って例えば検索領域内で検索すべき8×8ソース・ブロックをRレジスタに記憶することができるが、利用される検索戦略に応じて例えばその代わりにRレジスタに記憶することもできるからである。同様に、拡張領域は、例えば螺旋走査で必要とされる場合があるように、上側または左側にあってもよい。というのもやはり、PE内の通信レジスタX〜Xが同等の構造を有するからである。
このアーキテクチャの特有の利点の1つは、通信レジスタのうちの4つまでしか現検索位置として使用されないので、検索領域サイズの制限なしでグリッドまたはアレイをエッジで拡張できることである。図2に示したように、これらは各PEのX、X、X、Xレジスタである。例えば16×16ブロックを処理する場合、各PEは、次のシフトの前に4つの計算、すなわち|R−X|、|R−X|、|R−X|、|R−X|を実施する。これらの計算には4サイクルを必要とする場合がある。次いで、対応する拡張領域に有効データが事前にロードされていると仮定して、前述のようにシフトが適用される。
例えば、「東」または「西」シフトの場合は、右の拡張領域(通信レジスタXおよびX)は事前にロードされていなければならず、「北」または「南」シフトの場合は、下の拡張領域(通信レジスタXおよびX)は事前にロードされていなければならない。8回のシフトの後、それぞれの拡張領域の通信レジスタは、最初に主検索領域にあったデータのみを保持している。蛇行走査順序が使用される場合、これらのデータはシフトされて戻されることになる。検索領域の拡張には、しかし、新しい拡張領域データを主画像メモリからロードするために過去の時間(4×8サイクル)が使用された場合がある。これは有利である。というのは、このロードは特定時点での主画像メモリへのアクセスを必要とせず、これらの32サイクル中の任意の時点で行うことができるからである。これにより、主画像メモリが遅いかまたは非常にビジーであるときもまた、MEのシームレスな操作が可能である。主画像メモリからの新しいデータは、中間バッファに収集し、8回目と9回目のシフトの間に単一ステップで拡張領域の通信レジスタにコピーすることができる。
本発明によるアーキテクチャはまた、他のタイプの処理、特に、例えば2次元フィルタリングなどの画像処理にも有利である。PEの数、および/または1PEあたりの通信レジスタの数は、実際の適用例に従って様々である場合がある。何れの場合でも、PEは、種々のタイプのシフト・レジスタに動的に接続できるローカル・レジスタ(通信レジスタ)を有し、シフト・レジスタは、リング・バッファとして働く。すなわちシフト時にデータを失わない。このレジスタ構造を使用すると、大きい入力データ・フィールドのソースに絶えずアクセスする必要なしに、この入力データ・フィールドに作用することが可能である。これは、現在の操作ステップの入力データを、次の操作ステップで別のPEまたは同じPE中で再び使用するためにシフトすることによって達成される。従って、ある意味では、PEをそれらの現在の中間結果と共に入力データに沿って移動するのではなく、入力データがPEに沿って移動される。
図4に、図3でも強調表示されているPE43の特定の通信レジスタXの回路を、例示的に、また原則的にのみ示す。このレジスタPE43Xは、マルチプレクサMX43Xを介して、PE43のローカル・レジスタ、ならびにその近隣すなわち南方向のPE53X、西方向のPE42X、北方向のPE33X、および東方向のPE44Xに接続される。制御信号CTRLによって制御されるマルチプレクサ位置に応じて、値はそれぞれの方向にシフトされる。さらに、現在値を保持するために、すなわちシフトが実施されないときに、1つのマルチプレクサ位置が必要とされる。制御信号CTRLは、一実施形態では、すべての通信レジスタおよびPEに対して同じである。別の実施形態では、図2の24×24レジスタの一部のみをシフトすることが可能であり、従って、PEアレイの異なる部分に対して異なる制御信号が使用される。例えば、東または西のシフトの場合、下の拡張領域は使用されないので、これはシフトする必要がない場合がある。8×8ブロック・モードでは、ブロックの1つのラインまたは1つの列をシフトすれば十分である。この場合は「ショート・シフト・レジスタ」モードが使用され、このモードでは、アレイの境界にない処理要素に関連するレジスタが、アレイの境界のうちの1つにある処理要素に関連するレジスタに接続される(このモードは図4では見られない)。
図4にはさらに、PEの実際の処理ユニットPU43を、別のマルチプレクサMX43Xを介してそのローカル通信レジスタの何れかに接続できることが示してある。この接続は、現モードに応じて切り換えられる。例えば、ソース・ブロックが8×8ブロック・モードで左上角に位置決定される場合は、Xのみであり、16×16ブロック・モードでは、X、X、X、およびXである。しかし、すべてのレジスタX,...,Xは等価なので、ソース・ブロックはどこにでも位置決定することができる。一般的な16×16マクロブロックを構築するのに1PEあたり4つの通信レジスタしか必要でないので、検索領域を拡張するために新しいデータをメモリからロードするのに使用することのできる1つの行または列がある。例として、1つのブロックを循環させるのには8サイクルかかるが、新しい行または列をロードするのには3サイクルしかかからない。従って、余分なサイクルを必要とせずに検索領域を無限サイズまで動的に拡張することができる。
図4に示すように、PEの9つの通信レジスタはそれぞれ、PEの外に4つの接続しか有さない。すべての接続は、PEの直接の近隣に対してローカルであり、従って短い。信号パスはレジスタから来ており、ターゲット・レジスタ中で終わる前に小さいマルチプレクサのみを有する。従って、オンチップ実装形態のためのルーティングおよびタイミング・クロージャは比較的容易である。
さらに、PEがそれらの近隣に接続され、境界が回り込むので、境界において余分なサイクルは必要ない。例えば、PE07Xの「東」近隣はPE00Xであり、その「北」近隣はPE77Xである。
図5の上部に、図1からのPEアレイPE00,...,PE77を示し、第2層に、PEの通信レジスタPE00〜X,...,PE77〜Xを示し、第3層に、図2の右下角に対応する入力データ・フィールドの一部を示す。9つの通信レジスタは異なるブロックからのピクセル・データを保持するので、これらのピクセルは参照画像中で近隣ではないが、9つの現ブロックの粗い表現の一種である。原則的に、このアーキテクチャは、複数ブロック・データ構造を単一ブロック・データ構造に、例えば3×3ブロックの参照領域を単一ブロックのPEにマッピングする。通信レジスタ間の相互接続は、図5には示されていない。
実際の実装形態では、処理はシフトと同じサイクルで実施することができる。従って、8×8ブロック・モードで処理を前述のように1サイクルで実施することができる場合、データを継続的にシフトすると同時にPEによって処理することができる。
本発明によるPE構造のプログラミングは、シフト・モードを選択するコマンド、異なるシフト・モードに対する異なるコマンド、データを外部(中間)メモリから拡張領域のうちの1つにロードするコマンドなど、単純だが特殊化されたコマンドを必要とする。
本発明によるアーキテクチャはまた、例えば1次元フィルタリングにも有利である。入力データが行に配列されている場合、例えば画像データの単一のピクセル・ラインに配列されている場合は、これらをn個の連続する値のグループに編成することができる。通常のように1つのPEに1つのレジスタが関連するのではなく、各PEに複数のレジスタが接続されている。PEのこれらのレジスタはそれぞれ、入力データの異なるグループからのデータを記憶する。PEは、マルチプレクサを介して、その各入力レジスタに連続的に接続され、それぞれの出力値を計算する。次いで、値は近隣PEにシフトされる。異なるPEが異なるデータ・セットに対して異なる操作を実施してもよく、あるいは同じタイプの操作を実施してもよい。本発明による構造は、種々の処理方式を扱うように切換えまたは構成ができるので、例えば短縮されたデータ・ロード時間、入力データのための短い接続(これは高速回路に有利である)、およびフレキシビリティを提供する。
本発明は、入力データ・アレイに作用するあらゆる種類の処理構造に、しかも2次元または多次元入力データ・フィールドにさえも有利であり、特に、常に同じタイプの計算が実施される場合に有利である。
以下に他の実施例を例示する。
(1)複数のディジタル処理要素(PE00,...,PE77)のアレイであって、ディジタル処理要素は、ディジタル入力データを処理してディジタル出力データを提供するためのハードウェア構造であり、前記アレイは1つまたは複数の次元を有することができ、
各ディジタル処理要素は、入力データを保持するための複数のレジスタ(X,...,X)を関連付けており、前記入力データはロード・モードで外部データ・ソースからロードすることができ、
ディジタル処理要素の前記複数のレジスタ(X,...,X)はそれぞれ、切換え可能な接続を介して、前記アレイの各次元における2つの近隣処理要素に関連する前記レジスタのうちの少なくとも2つに接続され、前記切換え可能な接続はシフト・レジスタ動作モードに切り換えることができ、前記アレイの境界にある処理要素に関連するレジスタは、前記アレイの反対側の境界にある処理要素に関連するレジスタに接続されるアレイ。
(2)前記シフト・レジスタ・モードは複数のサブモードを含み、前記サブモードは前記アレイの各次元の各方向へのシフトを可能にする、(1)に記載のアレイ。
(3)第2のレジスタ群が前記シフト・レジスタ・モードにある間に、第1のレジスタ群を前記ロード・モードに切り換えることができる、(1)または(2)に記載のアレイ。
(4)「ショート・シフト・レジスタ」モードという別のモードで、前記アレイの境界にない処理要素に関連するレジスタが、前記アレイの境界のうちの1つにある処理要素に関連するレジスタに接続される、(1)から(3)のうちの一項に記載のアレイ。
(5)各処理要素は現データを保持するための少なくとも1つの第2のレジスタ(R)を有し、前記第1のレジスタが前記シフト・レジスタ・モードにあるときに前記第2のレジスタの内容はシフトされない、(1)から(4)のうちの一項に記載のアレイ。
(6)前記アレイはクロック信号によって動作させられ、前記処理要素による前記処理は前記シフト・レジスタ・モードでの前記シフトと同じクロック・サイクルで実施される、(1)から(5)のうちの一項に記載のアレイ。
(7)処理要素の前記アレイは1次元あたり8つの処理要素を含む2次元を有し、各処理要素は入力データを保持するために9つの前記レジスタ(X,...,X)を有する、(1)から(6)のうちの一項に記載のアレイ。
(8)前記入力データは、1つまたは複数の次元で、ある順序で配列され、処理要素の前記複数のレジスタに記憶されている入力データは前記順序に従った近隣ではない、(1)から(7)のうちの一項に記載のアレイ。
(9)前記入力データは隣接データ・ブロックに配列され、処理要素に関連する前記複数のレジスタ(X,...,X)は、異なるブロックからの入力データを記憶するためのものである、(8)に記載のアレイ。
(10)前記ディジタル入力データおよびディジタル出力データは複数ビットの値である、(1)から(9)のうちの一項に記載のアレイ。
(11)前記複数ビットの値は画像のピクセル値である、(10)に記載のアレイ。
8×8のPEアレイを示す図である。 PEのローカル・メモリを示す図である。 主検索領域と、拡張領域と、PEへの関連ピクセルの割当てとの構造を示す図である。 境界PEと非境界PEとに対する例示的な近隣を示す図である。 特定の通信レジスタの回路を示す図である。 PEと、それらの通信レジスタと、入力データ・フィールド領域との構造を示す図である。
符号の説明
PE00〜PE77 処理要素
〜X レジスタ
〜R レジスタ
MX43 マルチプレクサ
MX43X マルチプレクサ
MX44X マルチプレクサ
PU43 処理ユニット

Claims (11)

  1. 複数のディジタル処理要素のアレイであって、ディジタル処理要素は、ディジタル入力データを処理してディジタル出力データを提供するためのハードウェア構造であり、前記アレイは1つまたは複数の次元を有することができ、
    各ディジタル処理要素は、入力データを保持するための複数のレジスタを関連付けており、前記入力データはロード・モードで外部データ・ソースからロードすることができ、
    ディジタル処理要素の前記複数のレジスタはそれぞれ、切換え可能な接続を介して、前記アレイの各次元における2つの近隣処理要素に関連する前記レジスタのうちの少なくとも2つに接続され、前記切換え可能な接続はシフト・レジスタ動作モードに切り換えることができ、前記アレイの境界にある処理要素に関連するレジスタは、前記アレイの反対側の境界にある処理要素に関連するレジスタに接続される、前記アレイ。
  2. 前記シフト・レジスタ・モードは複数のサブモードを含み、前記サブモードは前記アレイの各次元の各方向へのシフトを可能にする、請求項1に記載のアレイ。
  3. 第2のレジスタ群が前記シフト・レジスタ・モードにある間に、第1のレジスタ群を前記ロード・モードに切り換えることができる、請求項1または2に記載のアレイ。
  4. 「ショート・シフト・レジスタ」モードという別のモードで、前記アレイの境界にない処理要素に関連するレジスタが、前記アレイの境界のうちの1つにある処理要素に関連するレジスタに接続される、請求項1から3のうちの一項に記載のアレイ。
  5. 各処理要素は現データを保持するための少なくとも1つの第2のレジスタを有し、前記第1のレジスタが前記シフト・レジスタ・モードにあるときに前記第2のレジスタの内容はシフトされない、請求項1から4のうちの一項に記載のアレイ。
  6. 前記アレイはクロック信号によって動作させられ、前記処理要素による前記処理は前記シフト・レジスタ・モードでの前記シフトと同じクロック・サイクルで実施される、請求項1から5のうちの一項に記載のアレイ。
  7. 処理要素の前記アレイは1次元あたり8つの処理要素を含む2次元を有し、各処理要素は入力データを保持するために9つの前記レジスタを有する、請求項1から6のうちの一項に記載のアレイ。
  8. 前記入力データは、1つまたは複数の次元で、ある順序で配列され、処理要素の前記複数のレジスタに記憶されている入力データは前記順序に従った近隣ではない、請求項1から7のうちの一項に記載のアレイ。
  9. 前記入力データは隣接データ・ブロックに配列され、処理要素に関連する前記複数のレジスタは、異なるブロックからの入力データを記憶するためのものである、請求項8に記載のアレイ。
  10. 前記ディジタル入力データおよびディジタル出力データは複数ビットの値である、請求項1から9のうちの一項に記載のアレイ。
  11. 前記複数ビットの値は画像のピクセル値である、請求項10に記載のアレイ。
JP2007308198A 2006-12-01 2007-11-29 ローカル・レジスタを有する処理要素のアレイ Expired - Fee Related JP5131830B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06301200.9 2006-12-01
EP06301200A EP1927949A1 (en) 2006-12-01 2006-12-01 Array of processing elements with local registers

Publications (3)

Publication Number Publication Date
JP2008165756A true JP2008165756A (ja) 2008-07-17
JP2008165756A5 JP2008165756A5 (ja) 2011-01-20
JP5131830B2 JP5131830B2 (ja) 2013-01-30

Family

ID=37907631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007308198A Expired - Fee Related JP5131830B2 (ja) 2006-12-01 2007-11-29 ローカル・レジスタを有する処理要素のアレイ

Country Status (4)

Country Link
US (1) US7941634B2 (ja)
EP (1) EP1927949A1 (ja)
JP (1) JP5131830B2 (ja)
CN (1) CN101202914B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190028454A (ko) * 2016-07-01 2019-03-18 구글 엘엘씨 2차원 실행 레인 어레이 및 2차원 시프트 레지스터를 갖는 이미지 프로세서상의 블록 연산을 위한 코어 프로세서
JP2019507922A (ja) * 2016-02-26 2019-03-22 グーグル エルエルシー 画像プロセッサのためのコンパイラ管理メモリ
JP2019220202A (ja) * 2015-04-23 2019-12-26 グーグル エルエルシー 高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャ

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7321623B2 (en) * 2002-10-01 2008-01-22 Avocent Corporation Video compression system
US9560371B2 (en) * 2003-07-30 2017-01-31 Avocent Corporation Video compression system
US7457461B2 (en) * 2004-06-25 2008-11-25 Avocent Corporation Video compression noise immunity
US8718147B2 (en) * 2006-02-17 2014-05-06 Avocent Huntsville Corporation Video compression algorithm
TW200814780A (en) * 2006-04-28 2008-03-16 Avocent Corp DVC delta commands
US10298834B2 (en) 2006-12-01 2019-05-21 Google Llc Video refocusing
GB201007406D0 (en) * 2010-05-04 2010-06-16 Aspex Semiconductor Ltd Block motion estimation
WO2013106210A1 (en) * 2012-01-10 2013-07-18 Intel Corporation Electronic apparatus having parallel memory banks
US9858649B2 (en) 2015-09-30 2018-01-02 Lytro, Inc. Depth-based image blurring
US10334151B2 (en) 2013-04-22 2019-06-25 Google Llc Phase detection autofocus using subaperture images
US9749548B2 (en) 2015-01-22 2017-08-29 Google Inc. Virtual linebuffers for image signal processors
US10440407B2 (en) 2017-05-09 2019-10-08 Google Llc Adaptive control for immersive experience delivery
US10567464B2 (en) 2015-04-15 2020-02-18 Google Llc Video compression with adaptive view-dependent lighting removal
US10419737B2 (en) 2015-04-15 2019-09-17 Google Llc Data structures and delivery methods for expediting virtual reality playback
US10341632B2 (en) 2015-04-15 2019-07-02 Google Llc. Spatial random access enabled video system with a three-dimensional viewing volume
US10444931B2 (en) 2017-05-09 2019-10-15 Google Llc Vantage generation and interactive playback
US10565734B2 (en) 2015-04-15 2020-02-18 Google Llc Video capture, processing, calibration, computational fiber artifact removal, and light-field pipeline
US10469873B2 (en) 2015-04-15 2019-11-05 Google Llc Encoding and decoding virtual reality video
US11328446B2 (en) 2015-04-15 2022-05-10 Google Llc Combining light-field data with active depth data for depth map generation
US10412373B2 (en) 2015-04-15 2019-09-10 Google Llc Image capture for virtual reality displays
US10275898B1 (en) 2015-04-15 2019-04-30 Google Llc Wedge-based light-field video capture
US10546424B2 (en) 2015-04-15 2020-01-28 Google Llc Layered content delivery for virtual and augmented reality experiences
US10540818B2 (en) 2015-04-15 2020-01-21 Google Llc Stereo image generation and interactive playback
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
US9769356B2 (en) 2015-04-23 2017-09-19 Google Inc. Two dimensional shift array 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
US9772852B2 (en) 2015-04-23 2017-09-26 Google Inc. Energy efficient processor core architecture for image processor
US10291813B2 (en) 2015-04-23 2019-05-14 Google Llc Sheet generator for image processor
US9979909B2 (en) 2015-07-24 2018-05-22 Lytro, Inc. Automatic lens flare detection and correction for light-field images
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
US10380969B2 (en) 2016-02-28 2019-08-13 Google Llc Macro I/O unit for image processor
US10275892B2 (en) 2016-06-09 2019-04-30 Google Llc Multi-view scene segmentation and propagation
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
US20180005059A1 (en) 2016-07-01 2018-01-04 Google Inc. Statistics Operations On Two Dimensional Image Processor
US10679361B2 (en) 2016-12-05 2020-06-09 Google Llc Multi-view rotoscope contour propagation
US10594945B2 (en) 2017-04-03 2020-03-17 Google Llc Generating dolly zoom effect using light field image data
US10474227B2 (en) 2017-05-09 2019-11-12 Google Llc Generation of virtual reality with 6 degrees of freedom from limited viewer data
US10354399B2 (en) 2017-05-25 2019-07-16 Google Llc Multi-view back-projection to a light-field
US10545215B2 (en) 2017-09-13 2020-01-28 Google Llc 4D camera tracking and optical stabilization
US10965862B2 (en) 2018-01-18 2021-03-30 Google Llc Multi-camera navigation interface
US20200210517A1 (en) 2018-12-27 2020-07-02 Intel Corporation Systems and methods to accelerate multiplication of sparse matrices

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH032989A (ja) * 1989-05-30 1991-01-09 Fujitsu Ltd 高速通信機構を持った並列計算機
JPH06113290A (ja) * 1992-08-13 1994-04-22 Mitsubishi Electric Corp 動きベクトル検出装置
JPH08140094A (ja) * 1994-11-10 1996-05-31 Graphics Commun Lab:Kk 動きベクトル探索装置
JP2001273273A (ja) * 2000-02-28 2001-10-05 Internatl Business Mach Corp <Ibm> マルチプロセッシング・エンジン環境用のレジスタ・パイプ
US6356945B1 (en) * 1991-09-20 2002-03-12 Venson M. Shaw Method and apparatus including system architecture for multimedia communications
JP2002527826A (ja) * 1998-10-09 2002-08-27 ボプス インコーポレイテッド マンアレイpe−peスイッチ制御方法及びその装置
JP2005209207A (ja) * 2004-01-21 2005-08-04 Thomson Licensing Sa アレイプロセッサにおいてデータを管理するための方法、およびアレイプロセッサ

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3544973A (en) * 1968-03-13 1970-12-01 Westinghouse Electric Corp Variable structure computer
US4380046A (en) * 1979-05-21 1983-04-12 Nasa Massively parallel processor computer
US4811413A (en) * 1987-10-22 1989-03-07 International Business Machines Corp. System of reconfigurable pipelines of generalized neighborhood function morphic image processors
US5179714A (en) * 1988-10-07 1993-01-12 Martin Marietta Corporation Parallel bit serial data processor
WO1994009595A1 (en) * 1991-09-20 1994-04-28 Shaw Venson M Method and apparatus including system architecture for multimedia communications
DE4322343C2 (de) 1992-07-06 1996-10-02 Mitsubishi Electric Corp Mittel zum Erfassen eines Bewegungsvektors und Verfahren zum Bestimmen eines Bewegungsvektors
US5428804A (en) * 1992-12-18 1995-06-27 Xerox Corporation Edge crossing circuitry for SIMD architecture
CN1075646C (zh) * 1996-01-19 2001-11-28 张胤微 一种高速乘法器
US6118901A (en) 1997-10-31 2000-09-12 National Science Council Array architecture with data-rings for 3-step hierarchical search block matching algorithm
DE10005911A1 (de) * 2000-02-10 2001-08-16 Philips Corp Intellectual Pty Steuereinheit für ein Endgerät eines digitalen schnurlosen Telekommunikationssystems sowie Verfahren für eine solche Steuereinheit
US6754801B1 (en) * 2000-08-22 2004-06-22 Micron Technology, Inc. Method and apparatus for a shift register based interconnection for a massively parallel processor array
US6928593B1 (en) * 2000-09-18 2005-08-09 Intel Corporation Memory module and memory component built-in self test
US6596979B2 (en) * 2001-02-20 2003-07-22 Syscan Technology (Shenzhen) Co., Limited Method and apparatus for scanning colors using multiple arrays of photodetectors
DE60237256D1 (de) * 2001-03-14 2010-09-23 Ricoh Kk Lichtemissionsmodulation mit einem effektiven Verfahren zur Erzeugung von Grautönen in einem Bild
US7072395B2 (en) 2001-07-20 2006-07-04 Ess Technology, Inc. Memory control apparatus and efficient search pattern for block-matching motion estimation
KR100451584B1 (ko) * 2001-12-20 2004-10-08 엘지전자 주식회사 웨이블릿 변환과 움직임 추정을 이용한 동영상 부호화 및복호화 장치
US7483420B1 (en) * 2004-03-08 2009-01-27 Altera Corporation DSP circuitry for supporting multi-channel applications by selectively shifting data through registers
CN100372317C (zh) * 2005-05-13 2008-02-27 清华大学 10g网络性能测试仪流量接收、抓取和统计电路组件
US7539845B1 (en) * 2006-04-14 2009-05-26 Tilera Corporation Coupling integrated circuits in a parallel processing environment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH032989A (ja) * 1989-05-30 1991-01-09 Fujitsu Ltd 高速通信機構を持った並列計算機
US6356945B1 (en) * 1991-09-20 2002-03-12 Venson M. Shaw Method and apparatus including system architecture for multimedia communications
JPH06113290A (ja) * 1992-08-13 1994-04-22 Mitsubishi Electric Corp 動きベクトル検出装置
JPH08140094A (ja) * 1994-11-10 1996-05-31 Graphics Commun Lab:Kk 動きベクトル探索装置
JP2002527826A (ja) * 1998-10-09 2002-08-27 ボプス インコーポレイテッド マンアレイpe−peスイッチ制御方法及びその装置
JP2001273273A (ja) * 2000-02-28 2001-10-05 Internatl Business Mach Corp <Ibm> マルチプロセッシング・エンジン環境用のレジスタ・パイプ
JP2005209207A (ja) * 2004-01-21 2005-08-04 Thomson Licensing Sa アレイプロセッサにおいてデータを管理するための方法、およびアレイプロセッサ

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019220202A (ja) * 2015-04-23 2019-12-26 グーグル エルエルシー 高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャ
JP2019507922A (ja) * 2016-02-26 2019-03-22 グーグル エルエルシー 画像プロセッサのためのコンパイラ管理メモリ
US10685422B2 (en) 2016-02-26 2020-06-16 Google Llc Compiler managed memory for image processor
KR20190028454A (ko) * 2016-07-01 2019-03-18 구글 엘엘씨 2차원 실행 레인 어레이 및 2차원 시프트 레지스터를 갖는 이미지 프로세서상의 블록 연산을 위한 코어 프로세서
JP2019519863A (ja) * 2016-07-01 2019-07-11 グーグル エルエルシー 二次元実行レーンアレイおよび二次元シフトレジスタを有する画像プロセッサ上でのブロック処理のためのコアプロセス
KR102232723B1 (ko) * 2016-07-01 2021-03-26 구글 엘엘씨 2차원 실행 레인 어레이 및 2차원 시프트 레지스터를 갖는 이미지 프로세서상의 블록 연산을 위한 코어 프로세서

Also Published As

Publication number Publication date
CN101202914A (zh) 2008-06-18
US7941634B2 (en) 2011-05-10
US20080133881A1 (en) 2008-06-05
EP1927949A1 (en) 2008-06-04
CN101202914B (zh) 2012-01-11
JP5131830B2 (ja) 2013-01-30

Similar Documents

Publication Publication Date Title
JP5131830B2 (ja) ローカル・レジスタを有する処理要素のアレイ
US20200150958A1 (en) Processor and control method for processor
US8799623B2 (en) Hierarchical reconfigurable computer architecture
EP3884404A1 (en) Spatial locality transform of matrices
KR102335955B1 (ko) 컨볼루션 신경망 시스템 및 그것의 동작 방법
EP1120747A2 (en) Motion estimator
US7549036B2 (en) Management of access to data from memory
JP2007536628A (ja) Simdアレープロセッサ用のビットシリアル処理要素
JP4484756B2 (ja) リコンフィギュラブル回路および処理装置
KR100280854B1 (ko) 데이타 처리 장치 및 데이타 처리 방법
US4747154A (en) Image data expanding and/or contracting method and apparatus
WO2022110386A1 (zh) 数据处理方法及人工智能处理器
EP1792258B1 (en) Interconnections in simd processor architectures
EP0773502B1 (en) Two-dimensional associative processor and data transfer method
JP4531398B2 (ja) メモリアドレス技術に関する改良
US5659714A (en) Data processor including memory for associating data elements of two-dimensional array which are numbered in spiral order with element numbers thereof
EP1927950A1 (en) Array of processing elements with local registers
JP2005531843A (ja) アレイプロセッサにおける除算
CN112712457A (zh) 数据处理方法以及人工智能处理器
JP6385962B2 (ja) 埋込み再構成可能コンピューティングのためのスイッチングファブリック
WO2006120620A2 (en) Image processing circuit with block accessible buffer memory
JP4258671B2 (ja) 集積回路及びその回路設定生成方法
CN118069968A (en) Matrix transposition method, transposition module and chip
JP2004145493A (ja) マッチング演算回路
JP4562679B2 (ja) データフローグラフ生成装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110928

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111222

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120418

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120711

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121005

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: 20121031

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121101

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5131830

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees