JP3731191B2 - Transposition processing method for matrix data - Google Patents
Transposition processing method for matrix data Download PDFInfo
- Publication number
- JP3731191B2 JP3731191B2 JP17859396A JP17859396A JP3731191B2 JP 3731191 B2 JP3731191 B2 JP 3731191B2 JP 17859396 A JP17859396 A JP 17859396A JP 17859396 A JP17859396 A JP 17859396A JP 3731191 B2 JP3731191 B2 JP 3731191B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- writing
- circuit
- reading
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、DCT(離散コサイン変換)回路等に応用されるマトリクス形式データの転置処理方法に関する。
【0002】
【従来の技術】
例えば、MPEG(Moving Picture Experts Group)のような画像圧縮符号化技術においては、画像データをDCT処理する際に頻繁に行列式の演算が行われる。行列式の積を処理する場合には、行方向のデータと列方向のデータの入れ換えが行われる。DCT処理等の直交変換では、各種の演算処理において、マトリクス形式のデータの行方向のデータと列方向のデータを置き換える、いわゆる転置処理が行われる。このような処理は、従来、例えば2組のRAM(ランダム・アクセス・メモリ)を使用し、一方のRAMにマトリクス形式のデータを書き込み、その書込みが終了すると他方のRAMに同様のマトリクス形式のデータを書き込む。そして、他方のRAMにデータを書き込んでいる間に既にデータを書き込んだ一方のRAMから行方向と列方向の変換を行うようにアドレスを制御し読出しをする。これによって、行方向に書き込んだデータを列方向に読み出し転置処理を行うことができる。
【0003】
【発明が解決しようとする課題】
ところで、上記のような従来のマトリクス形式データの転置処理装置には次のような解決すべき課題があった。
行方向にメモリに書き込んだデータを列方向に読み出すためには、書き込みアドレスとは全く異なる読み出しアドレスを生成し、読み出し制御を行わなければならない。従って、RAMにマトリクス形式のデータ書き込み終了後、アドレスカウンタを切り換えて改めてデータの読み出しを行うといった作業になる。この処理を高速化するには2組のRAMを交互に使用する。このため、回路規模が大きくなるという問題があった。
【0004】
また、上記の従来の方法では、行方向にデータを書き込み、列方向にデータを読み出すためには、列方向に読み出すべきデータの書き込みが終るまで読み出しを待たなければならない。従って、読み出し開始が遅れるため、転置RAMの後段での処理も遅れてしまうという問題点があった。
【0005】
【課題を解決するための手段】
本発明は以上の点を解決するため次の構成を採用する。
〈構成1〉
本発明は、書き込み及び読み出し用の各ポートを備えるメモリに対しn×m個のブロックデータをn行×m列(n、m:二以上の整数)のマトリクスに書き込み及び読み出すマトリクス形式データの転置処理方法であって、前記メモリに対し行方向に前記ブロックデータの書き込みを開始し、n行1列目にデータを書き込んだ時点で列方向での読み出しを開始するステップと、前記メモリに対し列方向に次のブロックデータの書き込みを開始し、m列1行目にデータを書き込んだ時点で行方向での読み出しを開始するステップと、
を含むことを特徴とするマトリクス形式データの転置処理方法である。
【0006】
〈説明〉
このメモリのデータ書き込み用のポートとデータ読み出し用のポートとは、互いに独立しており、データ書き込み用アドレスとデータ読み出し用アドレスが別々に供給されて、同時にデータの読み書きができる。マトリクス形式のデータとは、行要素と列要素とを含むデータでその内容は任意である。
メモリにデータが行方向に順に書き込まれたとき、そのデータを列方向に読み出せば、マトリクス形式のデータの行要素と列要素の転置ができる。そこで、制御回路が、その読み出し開始のための最適なタイミングを通知する。
【0007】
一方、メモリ中で既に読み出しを終了したデータ上には、次の一群のデータを上書きして差し支えないが、列方向に読み出しをしている場合に、行方向にデータの書き込みを行うと、まだ読み出されていないデータの上に新たなデータを上書きすることになる。そこで、一群のデータ書き込みを行方向に行った後は、今度は列方向にデータの書き込みを行う。こうしてデータの書き込み方向を交互に変更すると、データの書き込みと読み出しを連続的に行う場合に書き込みアドレスと読み出しアドレスとの衝突もなく、無駄な待ち時間も少なく多ポートメモリを使用したデータの転置処理ができる。
例えば行方向にデータを書き込んでいるとき、最初に読み出すべき1列目のデータが書き込まれてから、読み出しを開始すれば、書き込みと読み出しの速度が同一でもアドレスの衝突が起きない。
【0008】
〈構成2〉
構成1において、前記読み出しの開始後に連続させて同一方向への書き込みを開始することを特徴とする請求項1記載のマトリクス形式データの転置処理方法。
【0011】
〈説明〉
データは1データずつ読み書きされるから、データが読み出されたらすぐに次のデータを同一方向に書き込むようにしても差し支えない。
【0012】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて説明する。
〈具体例〉
図1は、本発明の装置の具体例を示すブロック図である。
この発明では、図に示すようにマトリクス形式のデータを一時格納し転置処理するために、2ポートメモリ1を使用する。2ポートメモリ1のデータ入力端子DIとデータ出力端子DOには、それぞれDCT回路2とDCT回路3が接続されている。DCT回路2及び3はいずれもマトリクス形式のデータの行と列の変換処理を行いながら所定の演算を実行する回路である。この2ポートメモリ1の書き込みアドレス入力端子WAIには書き込みアドレス生成部5の生成した書き込みアドレスWAOが入力する。また、読み出しアドレス入力端子RAIには読み出しアドレス生成部6が生成した読み出しアドレスRAOが入力する。
【0013】
この書き込みアドレス生成部5や読み出しアドレス生成部6の動作制御のために制御回路4が設けられている。この制御回路4には、まず上位装置から書き込み開始時に、書き込みを許可する書き込み許可信号WRが入力する。この信号は制御回路4だけでなく書き込みアドレス生成部5にも入力する。また、転置処理を開始する以前に読み出し許可信号及びRAMに入力するアドレスのリセットを行うために、リセット信号RSが入力する。この信号は制御回路4、書き込みアドレス生成部5及び読み出しアドレス生成部6に入力する。
【0014】
書き込みアドレス生成部5は、所定のアドレスまで書き込みを終了した後、読み出し可能なアドレスに達すると、制御回路4に対して読み出しタイミング信号WVを出力するよう構成されている。また、制御回路4は、後で説明するように、この読み出しタイミング信号を受け入れて読み出しアドレス生成部6に対し読み出し開始を許可する読み出し許可信号RRを出力する。また、読み出しアドレス生成部6は、マトリクス形式の一連のデータ読み出しを終了すると、制御回路4に対し読み出し終了信号RVを出力する。
【0015】
図2には、書き込みアドレス生成部の具体的な結線図を示す。
この書き込みアドレス生成部5は、図に示すようにカウンタ11及びセレクタ12から構成されている。カウンタ11には、リセット信号RSと書き込み許可信号WRが入力するよう構成されている。そして、カウンタ11は図示しないクロック信号によりデータの書き込み毎にアドレス信号生成のためのカウントアップを行う。なお、カウンタ11はアドレス生成のために7ビットの信号をカウントアップしながら出力する。セレクタ12は、カウンタ11の出力を受け入れて2種類のアドレス信号のうちいずれか一方を選択して出力するよう構成されている。即ち、カウンタ11のx0〜x5の6ビットのカウント値にはA0〜A5という記号を付した。また、カウンタ11のx0〜x5の上位3ビットと下位3ビットを入れ換えたカウント値をB0〜B5というように表示した。
【0016】
カウンタ11の出力x6,x5,x4,x3,x2,x1,x0のうちx6は図のようにセレクタ12の選択信号入力端子SA,SBに入力されている。カウンタ11のx5,x4,x3,x2,x1,x0はそれぞれA5及びB2、A4及びB1、A3及びB0、A2及びB5、A1及びB4、A0及びB3に接続されている。セレクタ12の出力WAOは図1に示す2ポートメモリ1の書き込みアドレスである。なお、このセレクタ12からは、X6=0(SA=1,SB=0)のとき、A5,A4,A3,A2,A1,A0つまりx5,x4,x3,x2,x1,x0が出力され、x6=0(SA=0,SB=1)のときB5,B4,B3,B2,B1,B0つまりx2,x1,x0,x5,x4,x3が出力されるように構成されている。
また、カウンタ11の出力x5,x4,x3,x2,x1,x0はアンド回路15によってデコードされ、読み出しタイミング信号WVとされる。
【0017】
図3には、読み出しアドレス生成部6の具体的な結線図を示す。
この読み出しアドレス生成部6もカウンタ13及びセレクタ14から構成されている。そして、この回路も同様にセレクタ14によってカウンタ13の出力と、その上位ビット及び下位ビットを反転した出力を選択して、読み出しアドレスRAOとするように構成されている。即ち、カウンタ13の出力y6,y5,y4,y3,y2,y1,y0のうちy6は図のようにセレクタ14の選択信号入力端子SA,SBに入力されている。カウンタ13のy5,y4,y3,y2,y1,y0はそれぞれA5及びB2、A4及びB1、A3及びB0、A2及びB5、A1及びB4、A0及びB3に接続されている。セレクタ14の出力RAOは2ポートメモリ1の読み出しアドレスである。このセレクタ12からはy6=1(SA=1,SB=0)のとき、A5,A4,A3,A2,A1,A0つまりy5,y4,y3,y2,y1,y0が出力されるように構成されている。
カウンタ13の出力y5,y4,y3,y2,y1,y0はAND回路16によってデコードされ、読み出し終了信号RVとされる。
【0018】
図2に示すAND回路15はx5x4x3x2x1=(111000)2 =(56)10のときのみ“1”を出力し、図3に示すAND回路16はy5y4y3y2y1y0=(111111)2 =(63)10のときのみ“1”を出力する。こうしてAND回路15は、例えば行方向にデータを書き込んだ場合に、列方向の読み出しが可能になったタイミングで読み出しタイミング信号WVを出力し読み出しアドレス制御の出力開始制御を行う。また、AND回路16は、全ての読み出しが終了した後に読み出し終了信号RVを出力して転置処理終了の合図等に利用される。
【0019】
また、セレクタ12は、例えば8×8のマトリクス形式データを書き込む場合に、64個のデータ書き込みを終了すると、それまでA0〜A5のアドレスを出力していた状態からB0〜B5のアドレスを出力する状態に切り換わる。この場合、上位3ビットと下位3ビットを取り替えていることから、行方向にデータを書き込んだ後、これが終了すると次は列方向にデータを書き込むようアドレス信号が出力される。一方、セレクタ14は丁度セレクタ12と反対の動作を行う。即ち、当初行方向への書き込みが行われていた場合には列方向の読み出しアドレスが出力され、その後、列方向にデータ書き込みを行うようになる。その読み出しのためには行方向の読み出しアドレスが出力される。セレクタ12及びセレクタ14はこのような動作を行うために設けられている。
【0020】
図4には、制御回路4の具体的な結線図を示す。
この回路は、書き込み許可信号WRと読み出しタイミング信号WVとを受け入れるANDゲート21と、読み出し終了信号RVを受け入れるNOTゲート22と、ANDゲート21とNOTゲート22の出力を制御するANDゲート23、ORゲート24、ANDゲート25と、フリップフロップ26から構成される。なお、ANDゲート23にはフリップフロップ26の出力とNOTゲート22の出力とが入力する。また、ORゲート24にはANDゲート21とANDゲート23の出力が入力する。更に、ANDゲート25にはORゲート24の出力とNOTゲート27の出力が入力する。このNOTゲート27にはリセット信号RSが入力する。
この回路は図のように構成することによって、フリップフロップ26に格納した信号をもとに、後で説明するようなタイミングで読み出し許可信号を出力する順序回路を構成している。
【0021】
図5を用いて、具体例1の装置の動作の概略を説明する。
この具体例では、例えば8×8個の正方マトリクス形式のブロックデータを2ポートメモリに書き込み、行方向に書き込んだブロックデータは行方向に読み出し、列方向に書き込んだブロックデータは行方向に読み出すようにして転置処理を行う。
まず、図5(1−a)に示すように、8×8のマトリクス状領域にAからBに向かって行方向に1ブロック目のデータの書き込みを開始する。
書き込みが進み、図5(1−a)に示すように、Cの位置、即ちアドレス56の位置まで書き込まれるとき、1ブロック目のデータの読み出しが可能となり、図5(1−b)のようにAからCに向かって列方向に読み出しが開始される。
以降、書き込みと読み出しが並行して行われ、Dの位置まで書き込んで、1ブロック目のデータの書き込みが終了する。このとき1ブロック目の読み出しは、AからCの位置までの一列分終了しており、読み出しは次の列から1ブロック目のデータを読み終るまで継続される。
【0022】
もし2ブロック目のデータの書き込みが続けて開始される場合は、図5(2−a)に示すように、1ブロック目の読み出しと並行して、列方向に書き込みが開始される。このとき、1ブロック目のデータの読み出しは、図5(2−b)のように進んでいるため、読み出しを終えていない1ブロック目のデータは壊されることもなく、また書き込みアドレスと読み出しアドレスが一致してデータが壊されることもない。
1ブロック目のデータの読み出しが終了し、図5(3−a)に示すように2ブロック目のデータの書き込みがBの位置に行われるとき、2ブロック目のデータの読み出しが可能となり、図5(3−b)に示すように、AからBに向かって行方向に読み出しが開始される。
以降、書き込みと読み出しが並行して行われ、図5(4−a)に示すように、2ブロック目のデータの書き込みが終了する。2ブロック目の読み出しは、図5(4−b)に示すようにCの位置まで終了しており、読み出しは次の行から2ブロック目のデータを読み終るまで継続される。
3ブロック目以降も、上記のようにして読み出しと書き込みを並行して行うことができる。
【0023】
図6には、具体例1の更に具体的な動作を説明するためのタイミングチャートを図示した。
図の(a)は、2ポートメモリ1へのデータ書き込み開始から数えた動作サイクルで、(b)は書き込み許可信号WR、(c)は書き込みアドレスWAO、(d)は読み出しタイミング信号WV、(e)は読み出し許可信号RR、(f)は読み出しアドレスRAO、(g)は読み出し終了信号RV、(h)は書き込みデータ、(i)は読み出しデータを表している。
【0024】
まず図1の回路で、リセット信号RSに“1”が入力され、図2に示すカウンタ11,13は“0000000”に、図4の制御回路4のD型フリップフロップ26は“0”にリセットされ、読み出し許可信号RRも“0”とされる。
次に図1に示す2次元DCT回路の1次元目のDCT回路2でデータが処理された後、2ポートメモリ1への書き込み許可信号WRが“1”となり、端子DIから入力したデータの書き込みが行われる。図2のカウンタ11は書き込み許可信号WR=“1”のとき図示しないクロックに同期して1ずつカウントアップを行う。これに応じて書き込みアドレス生成部5から2ポートメモリ1へ書き込みアドレスが0,1,2,3,…と出力され、端子DIに入力されたデータがそのアドレスへ書き込まれる。2ポートメモリ1に56個のデータつまり0〜55のアドレスにデータが書き込まれるまで、読み出しタイミング信号WVと読み出し終了信号RVは“0”が続くため、制御回路4の図4に示したフリップフロップ26の出力Qからは“0”が出力され続け、2ポートメモリ1の読み出し許可信号RRも“0”が出力され続けている。
【0025】
2ポートメモリ1に56個のデータが書き込まれると、サイクル57で図2に示すカウンタ11の出力はx5x4x3x2x1x0=(111000)2 =(56)10となる。この時点で2ポートメモリ1のアドレス0,1,2,…,55まではデータが書き込まれている。
次のデータが1次元目のDCT回路2から出力され書き込み許可信号WRに“1”が入力されると、2ポートメモリ1のアドレス“56”にデータの書き込みを行おうとする。このとき、制御回路4に読み出し許可信号WRと読み出しタイミング信号WVが“1”となって入力されるので、図4に示すフリップフロップ26の入力Dに“1”がセットされる。サイクル58でクロックに同期してその値が受け付けられると、Qから“1”が出力される。
【0026】
制御回路4は一度Dに“1”がセットされQ=“1”となると、リセット信号RSが“1”となるかまたは、WR,WVのどちらかが“0”でかつRVに“1”が入力されない限り“1”を出力し続ける。
フリップフロップ26の出力Qが“1”である限り、2ポートメモリ1の読み出し許可信号RRは“1”であり、読み出しが継続される。2ポートメモリ1はアドレス入力端子RAIにアドレスが入力すると、対応するアドレスからデータが読み出されて端子DOから出力される。
【0027】
図3に示すカウンタ13は読み出し許可信号RR=“1”のときクロックに同期して1ずつカウントアップを行う。これに応じて端子RAOから読み出しアドレスが0,8,16,…と出力される。これで列方向のデータ読み出しがされる。
2ポートメモリ1から63個のデータが読み出された後、制御回路4の入力RVは“1”となる。RRは“1”であるため、次のサイクルで64個目のデータがアドレス63から読み出される。WR,WVが“1”でない場合、フリップフロップ26のD端子には“0”が入力されるため、次のサイクルから2ポートメモリ1の読み出しは中止される。WR,WVが“1”であればD端子には“1”が入力されるので、読み出しは継続される。
【0028】
カウンタ11が64個カウントアップを行った後はx6=“1”となるので2ポートメモリ1への書き込みは0,8,16,…のアドレスの順に行われる。これは列方向の書き込みとなる。カウンタ13が64回カウントアップを行った後はy6=“1”となるので2ポートメモリ1の読み出しは0,1,2,3,…のアドレスの順に行われる。これは行方向の読み出しとなる。
2次元DCT回路では1ブロック64個(8行×8列)のうち8つのデータ(1行または1列分)をまとめて扱い処理を行うので、上記の方法のように、57個目のデータが書き込まれたことを検出すれば続いて58番目以降64番目までのデータを1次元目のDCT回路が出力できることを示しており、データの読み出しを開始することができる。
【0029】
〈具体例1の効果〉
以上のように、メモリに2ポートメモリを使用し、データの書き込みと同時に読み出しを行えるように構成すれば、同一構成のメモリを二重に設ける従来方法よりも回路規模を小さくすることができる。しかも、上記のように書き込みアドレスと読み出しアドレスを制御することによって、データの読み出しと書き込みを同時並行処理することができ、しかも2回以上繰り返してマトリクス状のデータの書き込みと読み出しを行う場合には両者の時間的な遅れを最小限にすることができる。なお、上記の例では8×8マトリクス形式のデータを取り扱った例を示したが、必ずしも正方行列でなく、行方向と列方向のデータ量が異なるようなものにも本発明の適用が可能である。また、このような転置処理のための回路の前後に位置する回路はDCT回路の他、各種の回路とすることができる。
【0030】
〈具体例2〉
図7以下には、具体例2の構成及び動作を説明する。なお、具体例2の全体構成を示すブロックは図1に示したものと全く同様である。そして、具体例2の書き込みアドレス生成部5は、図7に示した構成とされる。また、読み出しアドレス生成部6は図8に示した構成とされる。図7に示す書き込みアドレス生成部のカウンタ11及びセレクタ12と、及びこれらの間の接続や入出力信号は具体例1のものと全く同様である。この具体例2では、次のように読み出しタイミング信号を出力するためのANDゲート群18が設けられている。これらのANDゲート群を以下、それぞれ18−1〜18−8というように表示する。
【0031】
カウンタ11の出力x5,x4,x3,x2,x1,x0は図に示すように、AND回路18−1,18−2,18−3,18−4,18−5,18−6,18−7,18−8に接続されている。
AND回路18−1は、x5x4x3x2x1x0=(000000)2 =(0)10のときのみ“1”を出力する。
AND回路18−2は、x5x4x3x2x1x0=(001000)2 =(8)10のときのみ“1”を出力する。
AND回路18−3は、x5x4x3x2x1x0=(010000)2 =(16)10のときのみ“1”を出力する。
AND回路18−4は、x5x4x3x2x1x0=(011000)2 =(24)10のときのみ“1”を出力する。
AND回路18−5は、x5x4x3x2x1x0=(100000)2 =(32)10のときのみ“1”を出力する。
AND回路18−6は、x5x4x3x2x1x0=(101000)2 =(40)10のときのみ“1”を出力する。
AND回路18−7は、x5x4x3x2x1x0=(110000)2 =(48)10のときのみ“1”を出力する。
AND回路18−8は、x5x4x3x2x1x0=(111000)2 =(56)10のときのみ“1”を出力する。
【0032】
図8に示した読み出しアドレス生成部も具体例1のものと同様にカウンタ13及びセレクタ14の結線がなされている。その入出力信号も変わるところはない。そして、読み出し終了信号を出力するためのANDゲート群19のみが具体例1と異なっている。このANDゲート群はそれぞれ19−1〜19−8と呼ぶ。
カウンタ13の出力y5,y4,y3,y2,y1,y0は図に示すように、AND回路19−1,19−2,19−3,19−4,19−5,19−6,19−7,19−8に接続されている。
AND回路19−1は、y5y4y3y2y1y0=(000000)2 =(0)10のときのみ“1”を出力する。
AND回路19−2は、y5y4y3y2y1y0=(000001)2 =(1)10のときのみ“1”を出力する。
AND回路19−3は、y5y4y3y2y1y0=(000010)2 =(2)10のときのみ“1”を出力する。
【0033】
AND回路19−4は、y5y4y3y2y1y0=(000011)2 =(3)10のときのみ“1”を出力する。
AND回路19−5は、y5y4y3y2y1y0=(000100)2 =(4)10のときのみ“1”を出力する。
AND回路19−6は、y5y4y3y2y1y0=(000101)2 =(5)10のときのみ“1”を出力する。
AND回路19−7は、y5y4y3y2y1y0=(000110)2 =(6)10のときのみ“1”を出力する。
AND回路19−8は、y5y4y3y2y1y0=(111111)2 =(63)10のときのみ“1”を出力する。
【0034】
図9には、具体例2の制御回路の結線図を示す。
この回路には8個の順序回路20A〜20Hが設けられている。その内部結線は具体例1で説明した図4に示す回路と全く同一のものである。そして、これらの順序回路20A〜20Hには、それぞれ図7と図8に示した書き込みアドレス生成部及び読み出しアドレス生成部から読み出しタイミング信号P1〜P8及び書き込みタイミング信号J1〜J8が入力するように構成されている。全ての順序回路20A〜20HのQ出力はORゲート28を介して読み出し許可信号として出力される構成となっている。なお、このように読み出し許可信号は各順序回路20A〜20Hに再入力する構成となっている。
【0035】
以上の回路は次のように動作する。
図10は、具体例2の動作タイミングチャートを示す。
図の(a)は動作サイクル、(b)は書き込み許可信号WR、(c)は読み出し許可信号RR、(d)は書き込みアドレスWAO、(e)は読み出しアドレスRAO、(f)は読み出しタイミング信号WV、(g)は読み出し終了信号RV、(h)は書き込みデータ、(i)は読み出しデータを示している。
【0036】
まず、図1の回路でリセット信号RSを“1”としてカウンタ11,13を“000000”とし、制御回路4の全ての順序回路20A〜20Hのフリップフロップ26を“0”にリセットし、読み出し許可信号RRを“0”とする。
次に、2次元DCT回路の1次元目の回路でデータが処理され、書き込み許可信号がWR=“1”となり、2ポートメモリのアドレス“0”に書き込みが行われる。このとき、カウンタ11,13は“0000000”であるためWV(P1),RV(J1)は“1”となっている。WR=“1”、XV(P1)=“1”であるため順序回路20AのDフリップフロップの入力D=“1”となる。
【0037】
次のサイクル(2)でカウンタ11は1カウントアップし、2ポートメモリ1のアドレス1に書き込みが行われる。また、順序回路20AのQ端子=“1”となり、読み出し許可信号RR=“1”となるので、アドレス“0”が読み出される。このとき、順序回路20AのWV(P1)=“0”、RR=1,RV(J1)=1であり、D=“0”となる。
次のサイクル(3)でカウンタ11は“1”カウントアップし、2ポートメモリ1のアドレス“2”に書き込みが行われる。カウンタ13は“1”カウントアップしてRV(J1)=“0”、RV(J2)=“1”となる。また、RR=“0”となり、読み出しは行われない。
【0038】
以降、WR=“1”でカウンタ11はクロックに同期して1ずつカウントアップし2ポートメモリ1の書き込みアドレスは“3”、“4”、“5”、…と変化すると、
サイクル(10)でRR=“1”となり、2ポートメモリ1のアドレス“8”が読み出され、
サイクル(18)でRR=“1”となり、2ポートメモリ1のアドレス“16”が読み出され、
サイクル(26)でRR=“1”となり、2ポートメモリ1のアドレス“24”が読み出され、
【0039】
サイクル(34)でRR=“1”となり、2ポートメモリ1のアドレス“32”が読み出され、
サイクル(42)でRR=“1”となり、2ポートメモリ1のアドレス“40”が読み出され、
サイクル(50)でRR=“1”となり、2ポートメモリ1のアドレス“48”が読み出され、
サイクル(58)でRR=“1”となり、2ポートメモリ1のアドレス“56”が読み出され、
サイクル(58)では順序回路20HのQ=“1”、RR=“1”、RV(J8)=“0”であり、D=“1”となっているためサイクル(59)以降もRR=“1”となり、RAMのアドレス1,9,…と順に読み出しが続けられる。
【0040】
サイクル(114)で64個目のデータの読み出しを行うとき、RR=“1”でありカウンタ13の出力y5y4y3y2y1y0=(111111)2 =(63)10であるので順序回路20HのRV(J8)=“1”となり、1ブロック(64個)のデータの読み出しが完了する。
【0041】
このとき、次のブロックのデータが2ポートメモリ1に書き込まれていれば、読み出しは次のサイクルからも継続して行われる。以降、新たなブロックのデータが2ポートメモリ1へ、
1つ以上書き込みを終了していれば、1つを読み出すまで順序回路20AのQ=“1”
9つ以上書き込みを終了していれば、2つを読み出すまで順序回路20BのQ=“1”
17個以上書き込みを終了していれば、3つを読み出すまで順序回路20CのQ=“1”
25個以上書き込みを終了していれば、4つを読み出すまで順序回路20DのQ=“1”
33個以上書き込みを終了していれば、5つを読み出すまで順序回路20EのQ=“1”
41個以上書き込みを終了していれば、6つを読み出すまで順序回路20FのQ=“1”
49個以上書き込みを終了していれば、7つを読み出すまで順序回路20GのQ=“1”
57個以上書き込みを終了していれば、64個を読み出すまで順序回路20HのQ=“1”
であるため、RR=“1”となり、データの読み出しが行われる。
【0042】
〈具体例2の効果〉
以上のように、具体例2では具体例1よりも早く行方向の書き込みが行われた後列方向の読み出し開始が行われる。即ち、56個のデータ書き込みが終了した後、初めてデータの読み出しが行われる場合に比べてデータの読み出し開始が早いため、データの書き込みと読み出しとの間の時間遅れをより小さくすることができる。
その他の機能や効果については具体例1と同様である。
【図面の簡単な説明】
【図1】本発明の装置の具体例を示すブロック図である。
【図2】書き込みアドレス生成部の結線図である。
【図3】読み出しアドレス生成部の結線図である。
【図4】制御回路の結線図である。
【図5】具体例1の概略動作説明図である。
【図6】具体例1の動作タイミングチャートである。
【図7】書き込みアドレス生成部の結線図である。
【図8】読み出しアドレス生成部の結線図である。
【図9】具体例2の制御回路結線図である。
【図10】具体例2の動作タイミングチャートである。
【符号の説明】
1 2ポートメモリ
2,3 DCT回路
4 制御回路
5 書き込みアドレス生成部
6 読み出しアドレス生成部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to transposition processing of matrix data applied to a DCT (Discrete Cosine Transform) circuit or the like.MethodAbout.
[0002]
[Prior art]
For example, in an image compression coding technique such as MPEG (Moving Picture Experts Group), determinant calculations are frequently performed when DCT processing is performed on image data. When processing a determinant product, the data in the row direction and the data in the column direction are interchanged. In orthogonal transformation such as DCT processing, so-called transposition processing is performed in various types of arithmetic processing to replace row-direction data and column-direction data of matrix-format data. Conventionally, such processing uses, for example, two sets of RAM (random access memory), writes matrix data in one RAM, and when the writing is completed, the same matrix data in the other RAM. Write. Then, while data is being written in the other RAM, the address is controlled and read out from the one RAM in which the data has already been written so as to perform conversion in the row direction and the column direction. Thereby, data written in the row direction can be read in the column direction and transposed.
[0003]
[Problems to be solved by the invention]
However, the conventional matrix data transposition processing apparatus as described above has the following problems to be solved.
In order to read data written in the memory in the row direction in the column direction, a read address completely different from the write address must be generated and read control must be performed. Therefore, after the matrix data is written to the RAM, the data is read again by switching the address counter. To speed up this process, two sets of RAM are used alternately. Therefore, there is a problem that the circuit scale becomes large.
[0004]
Further, in the above conventional method, in order to write data in the row direction and read data in the column direction, it is necessary to wait until the writing of data to be read in the column direction is completed. Accordingly, since the start of reading is delayed, there is a problem that processing in the subsequent stage of the transposed RAM is also delayed.
[0005]
[Means for Solving the Problems]
The present invention adopts the following configuration in order to solve the above points.
<Configuration 1>
The present invention transposes matrix data for writing / reading n × m block data to / from a matrix of n rows × m columns (n, m: an integer of 2 or more) for a memory having each port for writing and reading. A processing method comprising: starting writing of the block data in the row direction with respect to the memory; starting reading in the column direction when data is written in the nth row and the first column; Starting writing the next block data in the direction, and starting reading in the row direction when the data is written in the m-th column first row;
Is a transposition processing method of matrix format data characterized in that
[0006]
<Explanation>
The data write port and the data read port of this memory are independent of each other, and the data write address and the data read address are supplied separately, and data can be read and written simultaneously. Matrix data is data including row elements and column elements, and the contents thereof are arbitrary.
When data is sequentially written in the row direction in the memory, if the data is read in the column direction, the row elements and the column elements of the matrix data can be transposed. Therefore, the control circuit notifies the optimum timing for starting the reading.
[0007]
On the other hand, the next group of data may be overwritten on the data that has already been read out in the memory, but when data is written in the row direction when data is read in the column direction, New data is overwritten on data that has not been read. Therefore, after writing a group of data in the row direction, data is written in the column direction. When the data writing direction is changed alternately in this way, there is no collision between the write address and the read address when data writing and reading are performed continuously, and there is little wasteful waiting time and data transposition processing using a multi-port memory Can do.
For example, when data is being written in the row direction, if reading is started after the first column of data to be read first is written, address collision does not occur even if the writing and reading speeds are the same.
[0008]
<
In
[0011]
<Explanation>
DeData is read and written one by one, DeDataRead outAs soon as possibleNextDataWrite in the same directionIt doesn't matter.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described using specific examples.
<Concrete example>
FIG. 1 is a block diagram showing a specific example of the apparatus of the present invention.
In the present invention, a two-port memory 1 is used for temporarily storing and transposing data in a matrix format as shown in the figure. A
[0013]
A
[0014]
The write
[0015]
FIG. 2 shows a specific connection diagram of the write address generation unit.
The write
[0016]
Of the outputs x6, x5, x4, x3, x2, x1 and x0 of the counter 11, x6 is inputted to the selection signal input terminals SA and SB of the selector 12 as shown in the figure. X5, x4, x3, x2, x1, x0 of the counter 11 are connected to A5 and B2, A4 and B1, A3 and B0, A2 and B5, A1 and B4, A0 and B3, respectively. The output WAO of the selector 12 is a write address of the 2-port memory 1 shown in FIG. The selector 12 outputs A5, A4, A3, A2, A1, A0, that is, x5, x4, x3, x2, x1, x0 when X6 = 0 (SA = 1, SB = 0), When x6 = 0 (SA = 0, SB = 1), B5, B4, B3, B2, B1, B0, that is, x2, x1, x0, x5, x4, x3 are output.
Further, the outputs x5, x4, x3, x2, x1, x0 of the counter 11 are decoded by the AND
[0017]
FIG. 3 shows a specific connection diagram of the read
The read
The outputs y5, y4, y3, y2, y1, and y0 of the counter 13 are decoded by the AND
[0018]
The AND
[0019]
For example, when writing the data of 8 × 8 matrix format, the selector 12 outputs the addresses B0 to B5 from the state where the addresses A0 to A5 were output until then when the writing of 64 data is completed. Switch to state. In this case, since the upper 3 bits and the lower 3 bits are replaced, after the data is written in the row direction, when this is completed, an address signal is output so as to write the data in the column direction. On the other hand, the selector 14 performs the operation opposite to that of the selector 12. That is, when the writing in the row direction is initially performed, the reading address in the column direction is output, and then the data writing is performed in the column direction. For the reading, a reading address in the row direction is output. The selector 12 and the selector 14 are provided for performing such an operation.
[0020]
FIG. 4 shows a specific connection diagram of the
This circuit includes an AND
By configuring this circuit as shown in the figure, a sequential circuit that outputs a read permission signal at a timing described later based on a signal stored in the flip-
[0021]
The outline of the operation of the apparatus of the specific example 1 will be described with reference to FIG.
In this specific example, for example, 8 × 8 square matrix block data is written to the 2-port memory, the block data written in the row direction is read in the row direction, and the block data written in the column direction is read in the row direction. To perform the transposition process.
First, as shown in FIG. 5 (1-a), data writing of the first block is started in the row direction from A to B in an 8 × 8 matrix area.
As writing progresses, as shown in FIG. 5 (1-a), when data is written up to the position C, that is, the
Thereafter, writing and reading are performed in parallel, writing to the position D is completed, and writing of data in the first block is completed. At this time, the reading of the first block is completed for one column from the position of A to C, and the reading is continued until the reading of the first block of data from the next column is completed.
[0022]
If writing of data in the second block is started, writing is started in the column direction in parallel with reading out of the first block, as shown in FIG. 5 (2-a). At this time, the reading of the data of the first block proceeds as shown in FIG. 5B. Therefore, the data of the first block that has not been read is not destroyed, and the write address and the read address Will not corrupt the data.
When the reading of the data of the first block is completed and the writing of the data of the second block is performed at the position B as shown in FIG. 5 (3-a), the data of the second block can be read. As shown in 5 (3-b), reading is started in the row direction from A to B.
Thereafter, writing and reading are performed in parallel, and writing of data in the second block is completed as shown in FIG. 5 (4-a). The reading of the second block is completed up to the position C as shown in FIG. 5 (4-b), and the reading is continued until the reading of the data of the second block from the next row.
In the third and subsequent blocks, reading and writing can be performed in parallel as described above.
[0023]
FIG. 6 shows a timing chart for explaining a more specific operation of the first specific example.
(A) in the figure is an operation cycle counted from the start of data writing to the 2-port memory 1, (b) is a write permission signal WR, (c) is a write address WAO, (d) is a read timing signal WV, ( e) indicates a read permission signal RR, (f) indicates a read address RAO, (g) indicates a read end signal RV, (h) indicates write data, and (i) indicates read data.
[0024]
First, in the circuit of FIG. 1, “1” is input to the reset signal RS, the counters 11 and 13 shown in FIG. 2 are reset to “0000000”, and the D-type flip-
Next, after the data is processed by the first-
[0025]
When 56 pieces of data are written in the 2-port memory 1, the output of the counter 11 shown in FIG. 2 in cycle 57 is x5x4x3x2x1x0 = (111000)2 = (56)TenIt becomes. At this time, data is written up to
When the next data is output from the first-
[0026]
The
As long as the output Q of the flip-
[0027]
The counter 13 shown in FIG. 3 counts up one by one in synchronization with the clock when the read permission signal RR = “1”. In response to this, read
After 63 pieces of data are read from the 2-port memory 1, the input RV of the
[0028]
After the counter 11 counts up 64, x6 = "1", so that writing to the 2-port memory 1 is performed in the order of
In the two-dimensional DCT circuit, eight data (one row or one column) out of 64 blocks (8 rows × 8 columns) are handled and processed, so the 57th data as in the above method. If it is detected that the first to fourth DCT circuits can output the 58th to 64th data, it is possible to start reading the data.
[0029]
<Effect of specific example 1>
As described above, if a two-port memory is used as a memory so that data can be read out simultaneously with data writing, the circuit scale can be reduced as compared with the conventional method in which two memories having the same configuration are provided. In addition, by controlling the write address and the read address as described above, the data read and write can be processed simultaneously in parallel, and when the matrix data is written and read more than twice. The time delay between them can be minimized. In the above example, an example in which data in an 8 × 8 matrix format is handled has been described. However, the present invention can also be applied to a matrix that is not necessarily a square matrix and has different data amounts in the row direction and the column direction. is there. In addition to the DCT circuit, various circuits can be used as the circuits positioned before and after the circuit for the transposition processing.
[0030]
<Specific example 2>
The configuration and operation of the specific example 2 will be described below with reference to FIG. The block showing the overall configuration of Example 2 is exactly the same as that shown in FIG. The write
[0031]
The outputs x5, x4, x3, x2, x1, x0 of the counter 11 are AND circuits 18-1, 18-2, 18-3, 18-4, 18-5, 18-6, 18- as shown in the figure. 7, 18-8.
The AND circuit 18-1 has x5x4x3x2x1x0 = (000000)2 = (0)Ten“1” is output only when.
The AND circuit 18-2 has x5x4x3x2x1x0 = (001000)2 = (8)Ten“1” is output only when.
The AND circuit 18-3 has x5x4x3x2x1x0 = (010000)2 = (16)Ten“1” is output only when.
The AND circuit 18-4 has x5x4x3x2x1x0 = (011000)2 = (24)Ten“1” is output only when.
The AND circuit 18-5 has x5x4x3x2x1x0 = (100,000).2 = (32)Ten“1” is output only when.
The AND circuit 18-6 is x5x4x3x2x1x0 = (101000)2 = (40)Ten“1” is output only when.
The AND circuit 18-7 has x5x4x3x2x1x0 = (110000)2 = (48)Ten“1” is output only when.
The AND circuit 18-8 has x5x4x3x2x1x0 = (111000)2 = (56)Ten“1” is output only when.
[0032]
The read address generator shown in FIG. 8 is also connected to the counter 13 and the selector 14 in the same manner as in the first specific example. There is no change in the input / output signals. Only the AND
The outputs y5, y4, y3, y2, y1, y0 of the counter 13 are AND circuits 19-1, 19-2, 19-3, 19-4, 19-5, 19-6, 19- as shown in the figure. 7, 19-8.
The AND circuit 19-1 has y5y4y3y2y1y0 = (000000)2 = (0)Ten“1” is output only when.
The AND circuit 19-2 has y5y4y3y2y1y0 = (000001).2 = (1)Ten“1” is output only when.
The AND circuit 19-3 has y5y4y3y2y1y0 = (000010).2 = (2)Ten“1” is output only when.
[0033]
The AND circuit 19-4 has y5y4y3y2y1y0 = (0000011).2 = (3)Ten“1” is output only when.
The AND circuit 19-5 has y5y4y3y2y1y0 = (000100)2 = (4)Ten“1” is output only when.
The AND circuit 19-6 has y5y4y3y2y1y0 = (000101).2 = (5)Ten“1” is output only when.
The AND circuit 19-7 has y5y4y3y2y1y0 = (000110)2 = (6)Ten“1” is output only when.
The AND circuit 19-8 has y5y4y3y2y1y0 = (111111)2 = (63)Ten“1” is output only when.
[0034]
FIG. 9 shows a connection diagram of the control circuit of the second specific example.
In this circuit, eight sequential circuits 20A to 20H are provided. The internal connection is exactly the same as the circuit shown in FIG. The sequential circuits 20A to 20H are configured to receive the read timing signals P1 to P8 and the write timing signals J1 to J8 from the write address generation unit and the read address generation unit illustrated in FIGS. 7 and 8, respectively. Has been. The Q outputs of all the sequential circuits 20A to 20H are output as read permission signals via the
[0035]
The above circuit operates as follows.
FIG. 10 shows an operation timing chart of the second specific example.
(A) is an operation cycle, (b) is a write permission signal WR, (c) is a read permission signal RR, (d) is a write address WAO, (e) is a read address RAO, and (f) is a read timing signal. WV, (g) indicates a read end signal RV, (h) indicates write data, and (i) indicates read data.
[0036]
First, the reset signal RS is set to “1” and the counters 11 and 13 are set to “000000” in the circuit of FIG. The signal RR is set to “0”.
Next, data is processed in the first-dimensional circuit of the two-dimensional DCT circuit, the write permission signal becomes WR = “1”, and writing is performed to the address “0” of the 2-port memory. At this time, since the counters 11 and 13 are “0000000”, WV (P1) and RV (J1) are “1”. Since WR = “1” and XV (P1) = “1”, the input D = “1” of the D flip-flop of the sequential circuit 20A.
[0037]
In the next cycle (2), the counter 11 is incremented by 1 and writing to address 1 of the 2-port memory 1 is performed. Further, since the Q terminal of the sequential circuit 20A = “1” and the read permission signal RR = “1”, the address “0” is read. At this time, WV (P1) = “0” of the sequential circuit 20A, RR = 1, RV (J1) = 1, and D = “0”.
In the next cycle (3), the counter 11 counts up by “1” and writing is performed to the address “2” of the 2-port memory 1. The counter 13 counts up by “1” and RV (J1) = “0” and RV (J2) = “1”. Further, RR = “0”, and no reading is performed.
[0038]
Thereafter, when WR = “1” and the counter 11 counts up one by one in synchronization with the clock, and the write address of the 2-port memory 1 changes to “3”, “4”, “5”,.
In cycle (10), RR = “1” and the address “8” of the 2-port memory 1 is read.
In cycle (18), RR = “1” and the address “16” of the 2-port memory 1 is read.
In cycle (26), RR = “1” and the address “24” of the 2-port memory 1 is read.
[0039]
In cycle (34), RR = "1" and the address "32" of the 2-port memory 1 is read.
In cycle (42), RR = “1” and the address “40” of the 2-port memory 1 is read.
In cycle (50), RR = “1” and the address “48” of the 2-port memory 1 is read.
In cycle (58), RR = "1" and the address "56" of the 2-port memory 1 is read out.
In the cycle (58), Q = “1”, RR = “1”, RV (J8) = “0” of the
[0040]
When the 64th data is read in the cycle (114), RR = "1" and the output of the counter 13 y5y4y3y2y1y0 = (111111)2 = (63)TenTherefore, RV (J8) of the
[0041]
At this time, if the data of the next block is written in the 2-port memory 1, the reading is continued from the next cycle. Thereafter, the new block data is transferred to the 2-port memory 1.
If one or more writing has been completed, Q of sequential circuit 20A is “1” until one is read.
If writing of nine or more has been completed, Q of
If writing of 17 or more has been completed, Q of sequential circuit 20C is “1” until three are read.
If writing of 25 or more has been completed, Q of
If writing of 33 or more has been completed, Q of sequential circuit 20E is “1” until 5 are read.
If writing of 41 or more has been completed, Q of sequential circuit 20F is “1” until 6 are read.
If writing of 49 or more has been completed, Q of sequential circuit 20G is “1” until 7 are read.
If writing of 57 or more has been completed, Q of
Therefore, RR = "1" and data is read out.
[0042]
<Effect of specific example 2>
As described above, in the second specific example, the writing in the row direction is performed earlier than the first specific example, and then the reading in the column direction is started. That is, since the data reading starts earlier than when data reading is performed for the first time after 56 data writing is completed, the time delay between data writing can be further reduced.
Other functions and effects are the same as in the first specific example.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a specific example of an apparatus according to the present invention.
FIG. 2 is a connection diagram of a write address generation unit.
FIG. 3 is a connection diagram of a read address generation unit.
FIG. 4 is a connection diagram of a control circuit.
FIG. 5 is a schematic operation explanatory diagram of a specific example 1;
6 is an operation timing chart of Example 1. FIG.
FIG. 7 is a connection diagram of a write address generation unit.
FIG. 8 is a connection diagram of a read address generation unit.
FIG. 9 is a control circuit connection diagram of a specific example 2;
10 is an operation timing chart of the specific example 2. FIG.
[Explanation of symbols]
1 2-port memory
2,3 DCT circuit
4 Control circuit
5 Write address generator
6 Read address generator
Claims (2)
前記メモリに対し行方向に前記ブロックデータの書き込みを開始し、n行1列目にデータを書き込んだ時点で列方向での読み出しを開始するステップと、
前記メモリに対し列方向に次のブロックデータの書き込みを開始し、m列1行目にデータを書き込んだ時点で行方向での読み出しを開始するステップと、
を含むことを特徴とするマトリクス形式データの転置処理方法。This is a transposition processing method of matrix format data for writing and reading n × m block data to a matrix of n rows × m columns (n, m: an integer of 2 or more) for a memory having each port for writing and reading. And
Starting writing the block data in the row direction to the memory, and starting reading in the column direction when the data is written in the nth row and the first column;
Starting writing next block data in the column direction to the memory, and starting reading in the row direction when the data is written in the m-th column first row;
A transposition processing method for matrix format data, comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17859396A JP3731191B2 (en) | 1996-06-19 | 1996-06-19 | Transposition processing method for matrix data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17859396A JP3731191B2 (en) | 1996-06-19 | 1996-06-19 | Transposition processing method for matrix data |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1011422A JPH1011422A (en) | 1998-01-16 |
JP3731191B2 true JP3731191B2 (en) | 2006-01-05 |
Family
ID=16051180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17859396A Expired - Fee Related JP3731191B2 (en) | 1996-06-19 | 1996-06-19 | Transposition processing method for matrix data |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3731191B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2007010694A1 (en) * | 2005-07-15 | 2009-01-29 | パナソニック株式会社 | Image coding apparatus and image coding method |
KR100826329B1 (en) | 2005-09-22 | 2008-05-02 | 삼성전기주식회사 | An apparatus for transposing data in a round scanning display of 10bit one panel |
-
1996
- 1996-06-19 JP JP17859396A patent/JP3731191B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1011422A (en) | 1998-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS62152050A (en) | Semiconductor memory | |
US6105114A (en) | Two-dimensional array transposition circuit reading two-dimensional array in an order different from that for writing | |
JPS6247786A (en) | Exclusive memory for adjacent image processing | |
CN106846255B (en) | Image rotation realization method and device | |
JP3731191B2 (en) | Transposition processing method for matrix data | |
WO2013094389A1 (en) | Image processing device | |
JP3092526B2 (en) | 2D inverse discrete cosine transform circuit | |
JP2851804B2 (en) | 2D orthogonal transform device | |
JP3288327B2 (en) | Video memory circuit | |
JP2610887B2 (en) | Image data rotation processor | |
JPS62299892A (en) | Access system for character generator memory | |
JP4906007B2 (en) | Encoder system | |
KR950009076B1 (en) | Dual port memory and control method | |
JP2553726B2 (en) | Method and apparatus for rotating image by 90 degrees | |
JPH0268671A (en) | Picture memory | |
JP2000020705A (en) | Parallel image processing processor | |
JP2528998B2 (en) | Scan converter control circuit | |
JP2824976B2 (en) | 2D array data rotation device | |
JPH08305819A (en) | Two-dimensional orthogonal transformation arithmetic unit | |
JPH04360425A (en) | Semiconductor storage device | |
JPH03283189A (en) | Semiconductor memory device | |
JPS63163560A (en) | Information processor | |
JPH0675799A (en) | Memory access device and memory device | |
JPS62102334A (en) | Register saving system | |
JPH03116322A (en) | Matrix transforming device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050314 |
|
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: 20050906 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050930 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081021 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091021 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091021 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091021 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101021 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111021 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111021 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121021 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121021 Year of fee payment: 7 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121021 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121021 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131021 Year of fee payment: 8 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |