JP4213750B2 - アレイ型演算装置 - Google Patents
アレイ型演算装置 Download PDFInfo
- Publication number
- JP4213750B2 JP4213750B2 JP2006531472A JP2006531472A JP4213750B2 JP 4213750 B2 JP4213750 B2 JP 4213750B2 JP 2006531472 A JP2006531472 A JP 2006531472A JP 2006531472 A JP2006531472 A JP 2006531472A JP 4213750 B2 JP4213750 B2 JP 4213750B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- control information
- array
- data
- row
- 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
- 238000004364 calculation method Methods 0.000 claims description 58
- 238000000034 method Methods 0.000 description 69
- 230000015654 memory Effects 0.000 description 45
- 238000013500 data storage Methods 0.000 description 35
- 238000010586 diagram Methods 0.000 description 22
- 230000033001 locomotion Effects 0.000 description 20
- 230000000875 corresponding effect Effects 0.000 description 11
- 230000001276 controlling effect Effects 0.000 description 9
- 101100136062 Mycobacterium tuberculosis (strain ATCC 25618 / H37Rv) PE10 gene Proteins 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 101100062121 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) cyc-1 gene Proteins 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 101100136063 Mycobacterium tuberculosis (strain ATCC 25618 / H37Rv) PE11 gene Proteins 0.000 description 1
- 101150032799 PE15 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002620 method output Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures 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
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
-
- 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/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Image Processing (AREA)
- Multi Processors (AREA)
Description
それに伴い動画像の圧縮化の技術が開発され、MPEG(Moving Picture Experts Group)符号化は、画像の中の動く部分だけを検出して保存することにより高効率圧縮を実現している。
この場合、同じMPEG2エンコーダというアプリケーションであっても、据え置き機器であるDVDレコーダでは、モバイル機器であるカムコーダに比べ、より高画質を保障するアルゴリズムの実行が要求される。
ここで、MPEG符号化について簡単に説明すると、この方式では、現フレームの被写体が過去又は未来のフレームでどの方向にどの程度動いたかを表す動きベクトルと、動きベクトルだけでは表せなかった輝度と色差の変化量とを保存している。
というのは、通常、例えば16×16ピクセルのマクロブロックと呼ばれる単位(図1:対象画像200)で、そのブロックが過去又は未来のフレーム(図1:参照画像100)のどこに移動したのかを1ピクセルずつずらしながら検索し、最も類似度が高い部分を見つけ、動きベクトルを求めるからである。このマクロブロックは、例えば、720×480ドットのフレームの場合1350個となり、そのすべてについて、検索がなされる。
この動きベクトル探索処理は、同様な処理の繰り返しであることから、複数の演算器を1次元方向又は2次元方向に展開した演算装置を使用して処理性能を向上させる技術が開発されている。
現在、一般的な画像処理では1次元方向に展開した演算装置が使用されているが、これは、並列使用できる演算器の個数が少なく、動作周波数の低減、すなわち電圧の低下が充分には実現できない場合が多い。従って、熱及び消費電力の問題から、モバイル機器や家電機器への適用は、並列使用できる演算器の個数がより多く、動作周波数の低減をより図ることができる2次元方向に展開した演算装置(以下、「2次元アレイ型演算装置」という。)を使用する方が望ましい。
その結果、それらの命令をフェッチする先の命令メモリ、及びその命令を解読する為の命令デコーダの規模が大きくなり、ハードウェアの面積増加となり、結果的にLSIのコスト増につながり妥当ではない。
また、命令数が少なくなることにより、実行に必要なハードウェア資源も少なくて済むようになる。
これによりアレイ型演算装置は、PEの演算結果を後続のPEに伝達することができ、複数PEの演算結果を用いた処理を一度に行うことが出来るので、処理速度を改善することが出来るようになる。
これにより、1つの制御情報を生成することで、全てのPEの動作に影響を与えることが出来るので、同じPEアレイを使用して、様々な処理を行うことが出来るようになる。
これにより、PEごとに実行する際に使用するデータを変更することが出来るので、より柔軟な処理を行うことが出来るようになる。
これにより、演算を実行しないPEへの電源供給を行なわないようにすることが出来るので、消費電力を減らすことが出来るようになる。
<概要>
本発明に係るアレイ型演算装置は、2次元アレイ型演算装置であり、命令メモリ、及び命令デコーダの数は減らした上で、アレイ型に配列された演算器を制御等するソフトウェアの命令長を抑えることにより、命令メモリ、及び命令デコーダの規模の拡大を抑えようとするものである。
また、図3(b)に示すような1次元アレイ型演算装置においても、同様の課題が発生する。
しかし、この方法であっても、全てのPEに対して1つの命令で指示を出すには、命令長が長くなりすぎ現実的ではないため、例えば、図3(b)に示すように行(又は列)単位で命令を発行している。
それとともに、例えばMPEG符号化処理のアルゴリズムの変更などが容易に出来る柔軟性をも実現する。
本実施形態の2次元アレイ型演算装置は、MPEG符号化処理における動きベクトル探索処理を行うものである。
<動きベクトル探索>
図1を用いて、動きベクトル探索処理について簡単に説明する。
対象画面20は、現在の符号化対象フレームであり、対象画像200は、いわゆるマクロブロックである。
また、参照画面10は、動きベクトルを算出するための過去又は未来のフレームであり、参照画像100は、対象画像200の類似部分を検索する範囲である。
図2は、参照画像100と対象画像200との構成を表す図である。
図2(a)は、参照画像100であり、左上のピクセルを「R(0,0)」とし、xy座標系でピクセルの位置を表すものとする。また、図2(b)は、対象画像200であり、図2(a)と同様に、左上のピクセルを「T(0,0)」と表すものとする。
<構成>
以下、図4及び図5を用いて、本発明にかかる2次元のアレイ型演算装置1000の構成を説明する。
この図4では、アレイ型演算装置1000のほかに、プログラムカウンタ1001、命令メモリ1002、命令発行部1003、プログラム記憶部1004及びメモリキャッシュ1005を記載している。
これらの各機能部及び各PE等は、伝送するビット数に応じた本数のデータ信号線で接続されているものとする。
プログラムカウンタ1001が指す命令を、命令メモリ1002にフェッチし、命令発行部1003は、命令メモリ1002の命令をデコードし、アレイ型演算装置1000全体に共通の命令である制御信号を発行する。
次に、アレイ型演算装置1000の構成について説明する。
このアレイ型演算装置1000は、5行×6列の2次元に配列された30個のPE(PE00等)で成るPEアレイ1100と、制御情報生成部3000及び命令生成部(3100〜3500)で構成される。
ここで、本アレイ型演算装置1000の特徴は2つある。1つは、外部の命令発行部1003から入力される1つの命令(Inst0)で30個のPEを制御するために、以下に説明する制御情報生成部3000と各行への命令(Inst00〜Inst40)を生成する命令生成部(3100等)を有する点である。また、もう1つは、各PEが行方向だけでなく、列方向にもバス1009で連結されデータを送受信できるようになっている点である。
図5は、アレイ型演算装置1000の構成の詳細を表す図である。ここでは、説明の便宜上、一部のPE等のみを記載している。
アレイ型演算装置1000は、複数のPE2000、制御情報生成部3000、複数の命令生成部(3100等)及び加算部1200で構成される。
制御情報生成部3000は、カウンタ記憶部3010を有し、ここには、カウンタを記憶しておく。このカウンタの値に応じて制御情報を生成する。このカウンタ記憶部3010には、生成した最新の制御情報も記憶しておくものとする。
命令生成部3100は、命令発行部1003から発行された命令情報と、制御情報生成部3000から発行された制御情報とを受け取り、PEアレイ1100の1行分のPE(PE00〜PE05)の演算処理を制御する命令を生成する。
ここで命令を生成する際には、制御情報生成部3000から受取った制御情報を基に自分用の制御情報を作成し、作成した制御情報を基にPE用の命令を作成する。または、制御情報を送り出す前に作成する。つまり、受取った制御情報と送り出す制御情報とが、異なるということである。
またさらに、命令生成部3100は制御情報記憶部3110を有し、制御情報生成部3000から受信した制御情報を記憶する。新たな制御情報を記憶する前に、ここに記憶しておいた制御情報を命令生成部3200に送信し、命令生成部3200は、受取った制御情報を基に命令を生成することになる。
また、命令生成部(3200〜3500)は、命令生成部3100と同様に、各制御情報記憶部(3210、3310等)に制御情報を記憶し、順次記憶する制御情報を送っていく。
PE00(2000)は、演算部2100、対象データ記憶部2200、参照データ記憶部2300及び相関記憶部2400で構成される。
対象データ記憶部2200は、対象画像200の1ピクセルのデータを記憶する。具体的には、30個のPE(図4参照)はそれぞれ、対象画像200の30個のピクセル(図2(b)参照)のデータを記憶する。
参照データ記憶部2300は、参照画像100の1ピクセル(図2(a)参照)のデータを記憶する。
但し、対象データ記憶部2200はPEごとに異なるピクセルのデータを記憶していたが、参照データ記憶部2300はPEの列ごとに異なる点で相違する。すなわち、同じ列のPEの参照データ記憶部2300は同じデータを記憶している。
例えば、PE00とPE10の参照データ記憶部2300は、ピクセル「R00」のデータを記憶するが、PE01とPE11の参照データ記憶部2300は、ピクセル「R10」のデータを記憶する。
相関記憶部2400は、自PEの演算部2100の結果データのほか、1つ前の行のPEから渡された受信データを記憶する。また、記憶しているデータを次の行のPEに送信する機能も有する(バス1009参照)。この詳細は、図8を用いて、後で説明する。
次に、本アレイ型演算装置1000での、相関値を求める方法を、制御情報等の各データの流れを示して説明し、その後、アレイ型演算装置1000処理の流れを説明する。
次に、図6〜図8を用いて、アレイ型演算装置1000が対象画像200と参照画像100との相関を求める手順について説明する。図では、便宜上、「T(0,0)」は「T00」等と記載している(以下の図で、同様)。
ここでは、PEアレイ1100への参照画像100の供給の方法、制御情報の伝達方法及び相関記憶部2400の内容の遷移のそれぞれについて、図を用いて説明する。
図6は、参照画像100をPEアレイ1100へ供給する方法を示す図である。
PEアレイ1100は、図2(b)の対象画像200をアレイ型演算装置1000のPEアレイ上に配置したものである。具体的には、対象データ記憶部2200に記憶している(図5参照)。
例えば、サイクル「Cyc 0」101に参照画像100の最初のライン(R00〜R50)を供給した場合、PEアレイ1100に列単位で同じ参照データが供給される。具体的には、参照データ記憶部2300に記憶される(図5及び図7参照)。
<制御情報の伝達方法>
図7は、制御情報を命令生成部(3100等)に供給する方法を示す図である。
図では、制御情報生成部3000が生成する制御情報を「token0」「token1」等と表し、PE及び命令生成部(3100等)では、各記憶部と、その内容を表しているものとする。また、点線矢印は、記憶部の内容の送出を示している。
次に、「Cycle 1」では、制御情報生成部3000で生成された制御情報「token1」が、命令生成部3100の制御情報記憶部3110に記憶され、命令生成部3200の制御情報記憶部3120には、命令生成部3100の制御情報記憶部3110に記憶されていた制御情報「token0」が記憶される。
この制御情報「token0」等と命令発行部1003が発行した命令「Inst0」等とを基に、命令生成部(3100等)はPEアレイの各行に送る命令を生成することになる。
尚、PEの相関記憶部2400の「result」は、演算結果を表し、詳細は以下に説明する。
図8は各PEの相関記憶部2400に記憶されている内容の遷移を示す図である。
ここでは、各PEの相関記憶部2400に記憶されている内容を、時系列に順次、次の行のPEの相関記憶部2400に送出していく様子を記載している。
また、1列のPEの相関記憶部2400のみを記載している。各列ごとの動作は同じだからである。また、図7のPEアレイの1列目のPEの相関記憶部2400の内容を記載している。
相関記憶部2400の内容は、2種類のデータが含まれている。1つは自PEの演算部2100の演算結果データ2410であり、もう1つは、1つ前の行のPEから送られた受信データ2420である。
「Cycle 0」において、「PE00」の相関記憶部2400の演算結果データ2410には「T(0,0)+R(0,0)」が記憶され、受信データ2420には何も記憶されていない。前行のPEは存在しないからである。
また、「PE01」の相関記憶部2400の演算結果データ2410には「T(0,1)+R(0,1)」が記憶され、受信データ2420には「Cycle 0」時の「PE00」の相関記憶部2400の演算結果データ2410と受信データ2420との合計が記憶される。
すると、最後の行のPE、ここではPE20、から送出される演算結果データ2410と受信データ2420との合計は、対象画像と参照画像の1行分の相関値2401となる。
その次のサイクルで最後の行のPEから送出される相関値の合計は、対象画像と1ピクセルずれた参照画像の相関値2402となる。
具体的には、「T(0,0)」「T(0,1)」「T(0,2)」と「R(0,1)」「R(0,2)」「R(0,3)」との相関値である。
本説明では、1列分について説明したが、各行の出力を合計することにより対象画面と参照画面の相関値が求まる。
<アレイ型演算装置の処理の流れ>
図9〜図13を用いて、アレイ型演算装置1000の動作について説明する。
まず、図9は、アレイ型演算装置1000で対象画像200と参照画像100との相関を求める処理を示すフローチャートである。参照画像100の中で、1つのマクロブロック、すなわち対象画像200と最も相関の高い位置を、参照画像100を1ピクセルずつずらしながら求める。
制御情報生成部3000のカウンタ記憶部3010に値をセットする(ステップS110)。ここでセットする値は、参照画像100の行数である。例えば、「8」をセットする。
例えば、「R00」「R10」〜「R50」を供給する場合には(図6参照)、メモリキャッシュ1005に記憶されている「R00」のピクセルデータのアドレスをロードする。記憶されていない場合は、メモリキャッシュに読込む処理を行う。
この「exec_array」の実行で、参照画像100の1行と対象画像200の全行との相関が取られることになる。例えば、図6の第0サイクル101で供給される参照データとPEアレイ1100上の対象画像200とが演算される。
参照画像100の最終行まで演算していなければ(ステップS150:NO)、レジスタ0に次の行のアドレス、例えば、「R01」のピクセルデータのアドレスをセットして、処理を繰り返す(ステップS120からステップS140)。
参照画像100の最終行まで演算を終了したら(ステップS150:YES)、次列に移り、演算を行なう(ステップS110〜ステップS150)。
参照画像100の最終列まで演算したら(ステップS160)処理を終了する。
これで、1マイクロブロックである対象画像200の演算が終了することになり、演算結果の出力(ステップS140)で出力された相関が最も強い場所から動きベクトルを算出する。
図10は、「exec_array」の処理を示すフローチャートである。
まず、制御情報生成部3000は、新しい制御情報(トークン)を生成し、命令生成部(3100等)は記憶している制御情報を次の命令生成部に送る(ステップS210)。
制御情報を受取った命令生成部は、命令発行部1003から発行された「exec_array」命令と、制御情報記憶部(3110等)に記憶する制御情報とから、命令を生成し、該当する行のPEに送信する(ステップS220)。
これらの3つの処理は、1サイクルずつずれながら並行して行われる。
図11を用いて、PEの処理について説明する。
ステップS210の制御情報生成部3000の処理と、ステップ230の命令生成部(3100等)の詳細は、図12を用いて、後で説明する。
命令生成部(3100等)から送られた命令が、実行するという命令であれば(ステップS300:実行)、メモリキャッシュ1005から、レジスタ0の指す先を参照して各PEの参照データ記憶部2300に該当する参照データを読込む(ステップS305)。具体的には、命令発行部1003が命令デコード時に該当するデータを書き込んでおいたPEアレイの各列に対応したメモリから、データが読込まれる。
その後、演算結果データと受信データ2420を加算して次行のPEに送り、データを受取った次行のPEは、自PE内の受信データ2420に記憶する。
次に、図12を用いて、制御情報生成部3000の処理と、命令生成部(3100等)の処理について説明する。これらの処理は、同じサイクルで実行される。
まず、図12(a)を用いて、制御情報生成部3000の処理について説明する。図12(a)は、制御情報生成部の処理を示すフローチャートである。
カウンタ記憶部3010に記憶されているカウンタ「Counter」(図9:ステップS110参照)の値が「0」の場合(ステップS410:==0)には、「Invalid」トークンを生成し(ステップS412)、カウンタ「Counter」の値が「0」でないの場合(ステップS410:≠0)には、「Valid」トークンを生成する(ステップS411)。生成したトークンは、命令生成部3100に送り、制御情報記憶部3110に記憶させる。
次に、図12(b)を用いて、命令生成部(3100等)の処理について説明する。命令生成部(3100等)のそれぞれは、以下説明する処理と同様の処理を行う。
図12(b)は、命令生成部の処理を示すフローチャートである。
受信したトークンを基に、PEに実行させる命令を生成する。
トークンが「Valid」の場合(ステップS470:Valid)は「exec_array」命令を実行する命令を生成し(ステップS471)、「Invalid」の場合(ステップS470:Invalid)は「exec_array」命令を実行しないキャンセル命令を生成する(ステップS472)。
生成した演算命令は、各PEに送られ、トークンは制御情報記憶部3110に記憶する。
以下に、制御情報生成部3000が作成したトークンとPEの実行の関係について説明する。
横軸に時間軸をサイクル単位で示しており、制御情報生成部3000の動作、及びPEアレイ1100の第1行〜第5行の動作を示している。
ここで、○は、命令の基となったトークンであり、ここではカウンタ記憶部3010又は各制御情報記憶部(3110等)が記憶しているトークンを表し、「val」はValidを、「Iv」はInvalidをあらわすものとする。すなわち、「val」の行のPEは演算を実行し、「Iv」の行のPEは演算を実行しない。
下部の表は、演算結果(5200、5210)であり、対象画像と参照画像の相関を取ったピクセルを示している。
サイクル「Cyc=-1」の時、Counter5100は「8」であることから、「Value」トークンが作成される。このとき、PEは、何も行わない。
すなわち、PEアレイ1100の第1行に配置された対象画像200の第1行のデータ「T00」「T10」「T20」「T30」「T40」「T50」と、PEアレイに対して供給された参照画像100の第1行のデータ「R00」「R10」「R20」「R30」「R40」「R50」との間で差分絶対値を求める演算が行われ、その結果は、バスを通じて、第2行の演算要素に受け渡される(図6、図7参照)。
同様に、サイクル「Cyc=1」の時は、PEアレイの第1行のPEと第2行のPEとが実行される。
すなわち、PEアレイの第1行に配置された、対象画像の第1行のデータ「T00」「T10」「T20」「T30」「T40」「T50」と、参照画像の第2行のデータ「R01」「R11」「R21」「R31」「R41」「R51」との間で差分絶対値を求める演算が行われ、その結果は、演算要素からの出力バスを通じて、第2行のPEに受け渡される。同サイクルにおいて、PEアレイの第2行に配置された、対象画像の第2行のデータ「T01」「T11」「T21」「T31」「T41」「T51」と、参照画像の第2行の画像データ「R01」「R11」「R21」「R31」「R41」「R51」との間で差分絶対値を求める演算が行われ、その結果と、前サイクルの前行の演算結果の和が、演算要素からの出力バスを通じて、第3行のPEに受け渡される。
また、サイクル「Cyc=7」以降は、Counter5100は「0」であり、「Invalid」トークンが作成される。サイクル「Cyc=8」の時は、「Invalid」トークンがPEアレイ第1行のPEに移動している。従って、PEアレイの第2行〜第5行のPEのみが実行される。
次に、図14は、プログラムの例を示す図である。
例えば、トークン「Invalid」の場合は、「exec_array」は「nop」、すなわち実行は行なわず、「Valid」の場合は「exec」、すなわち実行するを示している。
また、「exec_array r0」は、レジスタ0の指す先の参照データで演算を行なう指示である。
<実施形態2>
本実施形態は、あるタイミングの相関の強さの評価値が所定値以上であった場合、以後の演算を不要なものとしてキャンセルする点が、実施形態1と異なる。
具体的には、演算結果6100が、ある値以上の相関の強さを持っていると判定された場合、実際にはSADの値がある一定値以下であった場合には、「Cyc 6」以降の演算をキャンセルする。
「Cyc n」からは、別の対象画像の演算が始まる。
次に、図16は、プログラムの例を示す図である。
プログラム命令リスト5300などは、実施形態1と同じもので実行が可能である(図14参照)。
<実施形態3>
<概要>
本実施形態は、実施形態1と同じ演算を行なうが、実行速度を速めたものである点が異なる。
本実施形態は、この演算を行なっていないPEにも演算を行なわせようとするものである。
図に示すように、参照画像の1列目との演算はサイクル「Cyc ‐1」〜「Cyc 12」に行われる点は実施形態1(図13参照)と同じであるが、2行目との演算はサイクル「Cyc8」から始まる点が異なる。
このような動作を実施させるためには、「Cyc 9」から「Cyc 11」までは、参照画像の1行目と2行目のデータをえり分けて各PEの参照データ記憶部に読込む必要がある。
以下、本実施形態3の構成等を説明する。
<構成>
図17は、実施形態3のアレイ型演算装置1000の構成の詳細を表す図である。
メモリキャッシュ0(1006)とメモリキャッシュ1(1007)は、両方とも参照データ記憶部2300につながっており、各PEは、どちらからデータを読込むかを選択できるものとする。
次に、図18〜図21を用いて、本実施形態のアレイ型演算装置1000の処理について説明する。基本的な処理の流れは実施形態1(図9〜図12)と同じであるので、相違点を中心に説明する。
図18は、アレイ型演算装置1000で対象画像200と参照画像100との相関を求める処理を示すフローチャートである。この処理において、実施形態1での処理(図9参照)と異なる点は、2つのカウンタをセットする点と、参照画像のデータを2行分使用する点である。
制御情報生成部3000のカウンタ記憶部3010に値をセットする(ステップS501)。ここでは、「Counter0」に参照画像100の行数「8」をセットし、「Counter1」の「0」をセットする。この場合、「Counter0」がアクティブカウンタとなる。尚、「Counter1」に「8」がセットされた場合は、「Counter1」がアクティブカウンタとなる。
同時に2行分のデータを必要とする場合があるからであり、一方の行を演算している途中で他方の行のロードを開始する、という処理を交互に繰り返すことになる(図22参照)。
参照画像100の最終列まで演算したら(ステップS160)処理を終了する。
図19は、「exec_array」の処理を示すフローチャートであり、処理内容は、実施形態1とほぼ同じである(図10参照)が、PEの処理(ステップS503)が異なる。
この処理で、実施形態1での処理(図11参照)と異なる点は、各PEの参照データ記憶部2300に参照データを読込む場合に、メモリキャッシュ0またはメモリキャッシュ1から読込む点である。例えば、図22で、サイクル「Cyc9」〜「Cyc 11」までは、参照画像2行分のデータが必要となり、PEアレイの各行ごとにどちらのデータを読込むかを指定する必要がある。
どちらのメモリキャッシュからデータを読むかは、命令生成部から渡される命令で指示されている。この命令については、図21を用いて後で説明する。
図21は、制御情報生成部3000の処理と、命令生成部(3100等)の処理について説明する。
まず、図21(a)を用いて、制御情報生成部3000の処理について説明する。図21(a)は、実施形態3の制御情報生成部3000の処理を示すフローチャートである。
制御情報生成部3000は、2つのカウンタを使用して制御情報であるトークンの生成を行う。
ここでは、制御情報生成部3000でのトークンの生成について説明する。
「Counter0」と「Counter1」の2つのカウンタの値によって、トークンを生成する(ステップS510)。
「Counter0」が「≠0」の場合には、「Valid,sel0」トークンを(ステップS512)、「Counter1」が「≠0」の場合には、「Valid,sel1」トークンを生成する(ステップS513)。尚、「Counter0」と「Counter1」とが共に「≠0」の場合は、エラーとする。
トークン作成後に、「≠0」であったカウンタ、すなわちアクティブカウンタの値を1減算する(ステップS520)。
命令生成部(3100等)は、実施形態1と同様、それぞれは同様の処理を行う。
まず、制御情報記憶部3110に記憶しているトークンを次の命令生成部に送信し(ステップS550)、前の命令生成部又は制御情報生成部からトークンを受信する(ステップS560)。
トークンが「Invalid」の場合は「exec_array」命令を実行しない命令を生成し(ステップS571)、「Valid,sel0」の場合は「data_sel0」を使用して「exec_array」命令を実行する命令を生成し(ステップS572)、「Valid,sel1」の場合は「data_sel1」を使用して「exec_array」命令を実行する命令を生成する(ステップS573)。
以下に、制御情報生成部3000が作成したトークンとPEの実行の関係について説明する。
図22は、トークンとPEの動作を時間軸上にあらわした図である。
従って、例えば、サイクル「Cyc 10」では、1行目と2行目のPEは、「Valid,sel1」トークンで生成された命令を実行し、4行目と5行目のPEは、「Valid,sel0」トークンで生成された命令を実行する。尚、3行目のPEは実行を行なわず、各PEの相関記憶部2400がクリアされる。順次、PEがキャンセルされることで(7100)、参照画像の列の区切りとなる。
プログラム命令リスト7300には、プログラム命令7301ごとの動作7302について記載している。また、制御情報(トークン)の値に応じての動作を示している。
例えば、トークン「Invalid」7303の場合は、「exec_array」は「nop」、すなわち実行は行なわず、「Valid,sel0」7304の場合は「data_sel0を使用して実行」することを示し、「Valid,sel1」7305の場合は「data_sel1を使用して実行」することを示している。
具体的には、レジスタ0に[addr]が示すアドレスをロードし、レジスタ1には[addr]+offset が示すアドレスを同時にロードする。このoffsetは、ある行データのアドレスとの差分値であり、予め与えられているものであっても、適時生成するものであってもよい。予め与えられている例として、参照画像において、ある列の最後の行データと、次列の最初の行データとのアドレスの差がある。
<実施形態4>
<概要>
本実施形態は、対象画像200の全てのピクセルを用いて参照画像との相関を求めるのではなく、一定の間引きをして評価を行うものである。
ピクセルを間引く際の有効な間引き方として、市松模様に間引く手法が知られている。
本実施形態では、対象画像を市松模様に間引いて、すなわち、格子状に1つおきのピクセルを用いて相関を求める。
本実施形態では、対象画像8200と対象画像8210との2つを、PEアレイ1100上に配置、すなわち、PEの対象データ記憶部2200に記憶する。この対象画像8200と対象画像8210は、同じものである。
市松模様型に間引くことによって、2つの横6画素、縦5画素を同時にマッピングすることができる。
一方、参照画像100の方は、2行分(8010、8020)を、それぞれ奇数番目と偶数番目の参照データをまとめて、2つの参照画像(8011、8021)を作成する。
参照データ8010からは2段の参照データ8011が、参照データ8020からは2段の参照データ8021が作成され、それぞれ合わせて、奇数番目の参照データ8100と偶数番目の参照データ8101を作成する。
従って、参照データ2つ分を一度に演算するので、簡易な制御回路によって、処理時間および消費電力を大幅に削減できることになる。
尚、本実施形態のアレイ型演算装置1000の構成は、実施形態3のものと同じである(図17参照)。
次に、図25〜図28を用いて、本実施形態のアレイ型演算装置1000の処理について説明する。基本的な処理の流れは実施形態1(図9〜図11)と同じであるので、相違点を中心に説明する。
図25は、アレイ型演算装置1000で対象画像200と参照画像100との相関を求める処理を示すフローチャートである。この処理において、実施形態1での処理(図9参照)と異なる点は、PEにセットする対象データが間引いたものである点と、参照データ2行分を奇数番目と偶数番目とに分けてメモリキャッシュ0とメモリキャッシュ1との2つにセットする点である。
例えば、対象画像200を市松模様状に間引いた対象画像である図24の対象画像(8201、8011)をセットする。
制御情報生成部3000のカウンタ記憶部3010に値をセットする(ステップS110)。例えば、「Counter」に「8」をセットする。
例えば、図24の参照データ8100のアドレスをレジスタ0に、参照データ8101のアドレスをレジスタ1にロードする。
その後、「exec_array」の実行を行い(ステップS130)、演算結果を出力する(ステップS140)。 参照画像100の最終行まで演算処理を繰り返す(ステップS120からステップS150)。
図26は、「exec_array」の処理を示すフローチャートであり、処理内容は、実施形態1とほぼ同じである(図10参照)が、PEの処理(ステップS603)が異なる。
図27を用いて、PEの処理について説明する。図27は、PEの処理を示すフローチャートである。
例えば、図29で、PEアレイ1100の1行目のPEには、「T01」「T20」「T40」〜の対象データがセットされているので、「R0y」「R2y」「R4y」〜の参照データと演算し、PEアレイ1100の2行目のPEには、「T11」「T31」「T51」〜の対象データがセットされているので、「R1y」「R3y」「R5y」〜の参照データと演算をする必要があるからである。
どちらのメモリキャッシュからデータを読むかは、命令生成部から渡される命令で指示されている。この命令については、図28を用いて後で説明する。
図28は、制御情報生成部3000の処理と、命令生成部(3100等)の処理について説明する。
まず、図28(a)を用いて、制御情報生成部3000の処理について説明する。図28(a)は、実施形態4の制御情報生成部3000の処理を示すフローチャートである。
カウンタ「Counter」の値によって、トークンを生成する(ステップS610)。
制御情報生成部3000では、「Counter」が「==0」の場合には、「Invalid」トークンを生成し(ステップS611)、「Counter」が「≠0」の場合には、「Valid,sel0」トークンを生成する(ステップS612)。
トークン作成後に、「Counter」の値を1減算する(ステップS620)。
次に、図28(b)を用いて、命令生成部(3100等)の処理について説明する。図28(b)は、命令生成部(3100等)の処理を示すフローチャートである。
命令生成部(3100等)は、実施形態1と同様、それぞれは同様の処理を行う。
受信したトークンを基に、PEに実行させる命令を生成する。
トークンが「Invalid」の場合(ステップS670)は「exec_array」命令を実行しない命令を生成し(ステップS671)、「Valid,sel0」の場合は「data_sel0」を使用して「exec_array」命令を実行する命令を生成し(ステップS672)、「Valid,sel1」の場合は「data_sel1」を使用して「exec_array」命令を実行する命令を生成する(ステップS673)。
生成した演算命令は、各PEに送られ(ステップS685)、トークンは制御情報記憶部3110に記憶する(ステップS690)。
図29は、トークンとPEの動作を時間軸上にあらわした図である。
制御情報生成部3000で発行されるValidトークンは、「Valid,sel0」であるが、PEアレイの各行のPEでは、「Valid,sel0」と「Valid,sel1」とのどちらかを基に生成された命令が渡ることになる。
すなわち、1行目のPEと3行目のPEと5行目のPEには「Valid,sel0」、2行目のPEと4行目のPEには「Valid,sel1」トークンで生成された命令を実行する。
プログラム命令リスト8600には、プログラム命令8601ごとの動作8602について記載している。また、制御情報(トークン)の値に応じての動作を示している。
例えば、トークン「Invalid」8603の場合は、「exec_array」は「nop」、すなわち実行は行なわず、「Valid,sel0」8604の場合は「data_sel0を使用して実行」することを示し、「Valid,sel1」8605の場合は「data_sel1を使用して実行」することを示している。
「exec_array r0 r1」8701と「exec_array r0 r1」8702は、命令は同じであるが、どちらのレジスタを使用するかは、トークンによる。
<補足>
以上、本発明に係るアレイ型演算装置について実施形態に基づいて説明したが、この実行装置を部分的に変形することもでき、本発明は上述の実施形態に限られないことは勿論である。即ち、
(1)実施形態では、PEアレイの各PEは、行方向に隣接され、行単位に命令生成部を設けて動作させることとしているが、行方向だけでなく、列方向、斜めを含め隣接する各PEを接続して命令生成部を設けてもよい。
(2)実施形態では、PEアレイはハードウェアで実現しているが、動的に再構成可能なハードウェアを用いて実現してもよい。ここで動的に再構成可能なハードウェアとは、ハードウェアの各ロジックを接続するプログラム可能な配線に、 構成情報を与えることで,ハードウェアの論理構造を動的に変更可能なものとする。
(3)実施形態4では、参照データの変換は、トークンを反転させることで行っているが、固定的に、変換回路が偶数位置か奇数位置かを示す情報を持ってもよい。すなわち、PEアレイの行ごとに読込むレジスタを固定しておく。
200 対象画像
1000 アレイ型演算装置
1001 プログラムカウンタ
1002 命令メモリ
1003 命令発行部
1004 プログラム記憶部
1005 メモリキャッシュ
1006 メモリキャッシュ0
1007 メモリキャッシュ1
1009 バス
1100 PEアレイ
1200 加算部
2000 PE
2100 演算部
2200 対象データ記憶部
2300 参照データ記憶部
2400 相関記憶部
2410 演算結果データ
2420 受信データ
3000 制御情報生成部
3010 カウンタ記憶部
3110、3210、3310 制御情報記憶部
5201、5211、6100 演算結果
5300、7300、8600 プログラム命令リスト
Claims (6)
- 順序付けられた複数のプロセッサエレメントで構成されたプロセッサアレイと、
1サイクル毎に、1個の命令を取得する命令取得手段と、
1サイクル毎に、第1順位のプロセッサエレメントの動作を制御する為の動作制御情報を作成し、作成した動作制御情報と前記命令取得手段で取得した1個の命令とに基づき、第1順位のプロセッサエレメントに対する命令を生成する手段と、
1サイクル毎に、次順位以降のプロセッサエレメントの動作を制御する為の動作制御情報を、前順位のプロセッサエレメントの動作を制御する為に作成した動作制御情報を基に作成し、作成した動作制御情報と前記命令取得手段で取得した1個の命令とに基づき、前記次順位以降のプロセッサエレメントに対する命令を生成する手段と
を備えることを特徴とするアレイ型演算装置。 - 前記プロセッサアレイは、信号線で連結された複数のプロセッサエレメントで構成され、
1サイクル毎に、各プロセッサエレメントの演算結果を、前記信号線を介して次順位のプロセッサエレメントに伝達する
ことを特徴とする請求項1記載のアレイ型演算装置。 - 前記アレイ型演算装置は、更に、1サイクル毎に、基本制御情報を生成する基本制御情報生成手段を備え、
第1順位のプロセッサエレメントの動作を制御する為の動作制御情報は、前記基本制御情報生成手段で生成された基本制御情報を基に作成される
ことを特徴とする請求項1記載のアレイ型演算装置。 - 前記プロセッサエレメントは、それぞれ、複数種類のデータを取得するデータ取得手段を備え、
前記動作制御情報は、各プロセッサエレメントが命令を実行する際に使用するデータの種類を指定する指定情報を含み、
前記各プロセッサエレメントは、実行に際して、前記指定情報に応じて取得したデータを使用する
ことを特徴とする請求項1記載のアレイ型演算装置。 - 前記動作制御情報は、前記命令取得手段で取得した1個の命令を実行するか否かを指定する情報であって、
前記動作制御情報が実行する旨の指示である場合には、前記プロセッサエレメントは前記命令を実行し、前記動作制御情報が実行しない旨の指示である場合には、該当するプロセッサエレメントへの電力供給を抑止する
ことを特徴とする請求項1記載のアレイ型演算装置。 - 信号線で連結されたN個のプロセッサエレメントをM行有した、M行×N列の2次元アレイ構造のプロセッサアレイであって、各プロセッサエレメントの演算結果を、次行のプロセッサエレメントに伝達可能に接続されたプロセッサアレイと、
1サイクル毎に、基本制御情報を生成する基本制御情報生成手段と、
1サイクル毎に、1個の命令を取得する命令取得手段と、
1サイクル毎に、最初の行のプロセッサエレメントの動作を制御する為の動作制御情報を前記基本制御情報生成手段で生成された基本制御情報を基に作成し、作成した動作制御情報と前記命令取得手段で取得した1個の命令とに基づき、最初の行に対する命令を生成する手段と、
1サイクル毎に、2〜M行のプロセッサエレメントの動作を制御する為の動作制御情報を前行のプロセッサエレメントの動作を制御する為に作成した動作制御情報を基に作成し、作成した動作制御情報と前記命令取得手段で取得した1個の命令とに基づき、前記2〜M行のプロセッサエレメントに対する命令を生成する手段とを備え、
前記プロセッサアレイのそれぞれの行に配列されているN個の前記プロセッサエレメントは、当該行に対する命令を実行する
ことを特徴とするアレイ型演算装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004227927 | 2004-08-04 | ||
JP2004227927 | 2004-08-04 | ||
PCT/JP2005/014077 WO2006013839A1 (ja) | 2004-08-04 | 2005-08-02 | アレイ型演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2006013839A1 JPWO2006013839A1 (ja) | 2008-05-01 |
JP4213750B2 true JP4213750B2 (ja) | 2009-01-21 |
Family
ID=35787124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006531472A Active JP4213750B2 (ja) | 2004-08-04 | 2005-08-02 | アレイ型演算装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7606996B2 (ja) |
JP (1) | JP4213750B2 (ja) |
CN (1) | CN100458762C (ja) |
WO (1) | WO2006013839A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9965824B2 (en) * | 2015-04-23 | 2018-05-08 | Google Llc | Architecture for high performance, power efficient, programmable image processing |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01295335A (ja) | 1988-05-23 | 1989-11-29 | Fujitsu Ltd | 負荷分散方式 |
JPH0218687A (ja) | 1988-07-06 | 1990-01-22 | Nec Software Ltd | パイプラインプロセッサ制御方式 |
JPH03268054A (ja) | 1990-03-19 | 1991-11-28 | Fujitsu Ltd | 高速並列処理システム |
JPH07104845B2 (ja) | 1990-09-11 | 1995-11-13 | 松下電送株式会社 | 並列処理装置 |
US5768561A (en) * | 1992-06-30 | 1998-06-16 | Discovision Associates | Tokens-based adaptive video processing arrangement |
US5659785A (en) | 1995-02-10 | 1997-08-19 | International Business Machines Corporation | Array processor communication architecture with broadcast processor instructions |
JPH08297650A (ja) * | 1995-04-25 | 1996-11-12 | Nippon Steel Corp | アレイプロセッサ |
US7082516B1 (en) * | 2000-09-28 | 2006-07-25 | Intel Corporation | Aligning instructions using a variable width alignment engine having an intelligent buffer refill mechanism |
-
2005
- 2005-08-02 US US11/572,701 patent/US7606996B2/en active Active
- 2005-08-02 CN CNB2005800263326A patent/CN100458762C/zh not_active Expired - Fee Related
- 2005-08-02 WO PCT/JP2005/014077 patent/WO2006013839A1/ja active Application Filing
- 2005-08-02 JP JP2006531472A patent/JP4213750B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US20080282061A1 (en) | 2008-11-13 |
JPWO2006013839A1 (ja) | 2008-05-01 |
WO2006013839A1 (ja) | 2006-02-09 |
CN101010671A (zh) | 2007-08-01 |
CN100458762C (zh) | 2009-02-04 |
US7606996B2 (en) | 2009-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011035655A (ja) | フレームレート変換装置、およびそれを搭載した表示装置 | |
US7598984B2 (en) | Image signal processing circuit | |
US20070041662A1 (en) | Efficient scaling of image data | |
JP4213750B2 (ja) | アレイ型演算装置 | |
TWI634436B (zh) | 緩衝裝置及卷積運算裝置與方法 | |
WO1999063751A1 (en) | Low-power parallel processor and imager integrated circuit | |
JP4625903B2 (ja) | 画像処理プロセッサ | |
JP5182285B2 (ja) | デコード方法及びデコード装置 | |
JP4695124B2 (ja) | 動画像符号化における動き探索装置 | |
JP2009015637A (ja) | 演算ユニット及び画像フィルタリング装置 | |
JPH11196425A (ja) | 動きベクトル検出装置 | |
JP2010108284A (ja) | 画像処理プロセッサ | |
US9277168B2 (en) | Subframe level latency de-interlacing method and apparatus | |
JP4419608B2 (ja) | 動画像符号化装置 | |
JP4264666B2 (ja) | 画像処理装置および方法、並びにプログラム | |
JP2007329858A (ja) | 動画像表示装置、動画像表示方法及びプログラム | |
JP2012123465A (ja) | データ処理装置 | |
US20130094586A1 (en) | Direct Memory Access With On-The-Fly Generation of Frame Information For Unrestricted Motion Vectors | |
US20060007235A1 (en) | Method of accessing frame data and data accessing device thereof | |
JP2004080295A (ja) | 動きベクトル検出装置および動きベクトル検出方法 | |
JP2000310985A (ja) | バッファ制御装置及び半導体集積回路 | |
CN117097850A (zh) | 视频流处理系统和视频流处理方法 | |
JP3352558B2 (ja) | 信号処理装置 | |
JP2005020521A (ja) | 撮像装置及びこの撮像装置を備える携帯型電話機 | |
JP2003304505A (ja) | 映像信号出力装置、および映像信号出力方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080526 |
|
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: 20081007 |
|
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: 20081030 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111107 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4213750 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121107 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131107 Year of fee payment: 5 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S131 | Request for trust registration of transfer of right |
Free format text: JAPANESE INTERMEDIATE CODE: R313135 |
|
SZ02 | Written request for trust registration |
Free format text: JAPANESE INTERMEDIATE CODE: R313Z02 |
|
S131 | Request for trust registration of transfer of right |
Free format text: JAPANESE INTERMEDIATE CODE: R313135 |
|
SZ02 | Written request for trust registration |
Free format text: JAPANESE INTERMEDIATE CODE: R313Z02 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S131 | Request for trust registration of transfer of right |
Free format text: JAPANESE INTERMEDIATE CODE: R313135 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |