JP3866455B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP3866455B2
JP3866455B2 JP24344599A JP24344599A JP3866455B2 JP 3866455 B2 JP3866455 B2 JP 3866455B2 JP 24344599 A JP24344599 A JP 24344599A JP 24344599 A JP24344599 A JP 24344599A JP 3866455 B2 JP3866455 B2 JP 3866455B2
Authority
JP
Japan
Prior art keywords
data
cache
address
stored
table 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.)
Expired - Fee Related
Application number
JP24344599A
Other languages
English (en)
Other versions
JP2001067266A (ja
Inventor
正直 中原
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP24344599A priority Critical patent/JP3866455B2/ja
Publication of JP2001067266A publication Critical patent/JP2001067266A/ja
Application granted granted Critical
Publication of JP3866455B2 publication Critical patent/JP3866455B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置に関し、特に、テーブルデータに対するキャッシュ機能を備えた画像処理装置に関する。
【0002】
【従来の技術】
画像処理装置、特に二次元画像(2Dグラフィック)を処理する装置には、主メモリに比して十分に高速なキャッシュメモリを備えたものがある。この画像処理装置では、主メモリから一旦読み出して使用したテーブルデータの一部をキャッシュメモリに複写しておき、この複写データが再度必要になったときに、キャッシュメモリから読み出すことによって、画像生成や画像変更等の処理を高速化している。
【0003】
図20は、上記従来の画像処理装置で扱う画像の状態を模式的に示す図である。ここで、ゲーム等の背景を作成する際の最小単位をピクセルと呼び、このピクセルを集合させて或る大きさの画像(例えば、16ピクセル×16ライン)としたものをキャラクタと呼ぶ。キャラクタには、反転、輝度などの装飾情報が含まれる。また、キャラクタにコードを付したキャラクタデータをマトリックス状に配列したものをキャラクタテーブルと呼ぶ。キャラクタテーブルには、例えば、32×32、32×64、32×128、64×16、64×32、64×64、128×16、128×32などのキャラクタ数を備えるものが一般的に利用されている。背景画像は、キャラクタテーブルの一部、又は全部を組み合わせることによって作成される。
【0004】
例えば、図21に示すように、同一アドレスデータが画面上で繰り返される画像変化に乏しい背景の場合には、キャラクタテーブル(スクリーンテーブル)におけるテーブルアドレス“00”、“01”、“02”を繰り返し用いることで足りる。この場合、テーブルアドレスが“00”、“01”、“02”の3つのアドレスで足りるので、キャラクタテーブル自体が小さくできる。
【0005】
一方、図22に示すように、同一アドレスデータが繰り返されない画像の場合には、テーブルアドレスを連続するように割り付けることにより、読出し時の効率を上げ、また、表現力向上のために、ラインスクロール、分割スクロール等のスクロールを用いて背景画像に変化を与える。
【0006】
図23は、ラインスクロールによる画像変化を模式的に示す図である。例えば、同図のaに示す画像をラインスクロールすると同図のbに示す通りであるが、同図のcに示すように縦1ライン単位でキャラクタテーブルの読込みアドレスを変化させ(水平スクロール量を変化させ)ることにより、画面に表示される画像は同図のdに示すように変化する。
【0007】
図24は、分割スクロールによる画像変化を模式的に示す図である。例えば、画面を横方向(水平方向)、縦方向(垂直方向)、或いは、水平及び垂直方向に分割し、分割した単位毎にキャラクタテーブルの読込みアドレスを変更する。この分割スクロールによると、画像の中心部のみ読込みアドレスを変更することで、画像Bとして示すように、周囲が文字で囲まれた中心部の電車の画像のみをスクロールさせる演出が可能になる。
【0008】
近年では、高速動作するデータキャッシュ回路を用いることで、出力画像の大型化や複雑な組合わせによる画面表示を実現しつつ描画速度を向上させることが要請されている。図25は、この要請に応えるためのデータキャッシュ回路を備えた画像処理装置の概略構成を示すブロック図である。
【0009】
画像処理装置は、データキャッシュ回路を構成する、キャッシュコントローラ3とテーブルデータキャッシュメモリ(以下、単にキャッシュメモリとも呼ぶ)4とタグメモリ8とを有する。データキャッシュ回路には、入力側に外部メモリ1とテーブルアドレス演算回路2とが接続され、出力側にROMコントローラ9が接続される。ROMコントローラ9には、画像データROM10からの画像データが入力され、ROMコントローラ9からラインバッファ11にデータが出力される。画像処理装置は更に、水平同期信号(H-Sync)と垂直同期信号(V-Sync)とをカウントするH/Vカウンタ(図示せず)を有する。
【0010】
図26は、図25の画像処理装置の作動を示すフローチャートである。まず、ステップS1でH/Vカウンタを初期化した後、V-Syncが入力されると(ステップS2)、タグメモリ8の内容を初期化し(ステップS3)、H-Syncの入力を待つ(ステップS4)。
【0011】
H-Syncが入力されると、ステップS5で、スクロールや分割画面などを考慮してテーブルアドレスを計算し、ステップS6で、算出したテーブルアドレスがタグメモリ8に記憶されているか否かをチェックする。このチェックでは、まず、タグメモリ8の記憶内容とテーブルアドレスとを比較し、双方が等しいときには、タグメモリ8の記憶内容に対応するキャッシュメモリ4内のテーブルデータを読み出して出力する(ステップS7)。ステップS10では、読み出されたテーブルデータに基づいて、ROMコントローラ9でROMアドレスを計算し、画像データROM10から画像を読み出し、例えば、キャラクタサイズが16ピクセル×16ラインの場合に16ピクセル×1ラインをラインバッファ11に出力する。
【0012】
一方、タグメモリ8の記憶内容とテーブルアドレスとが異なるときには、キャッシュメモリ4の各アドレスを検索し、空きアドレスに対応するタグメモリ8にテーブルアドレスを記憶し(ステップS8)、このテーブルアドレスに対応するテーブルデータを外部メモリ1から読み出す(ステップS9)。
【0013】
ステップS11では、Hカウンタに一定値16を加算したときの値が160未満で、画面の最大横サイズに達していなければ、ステップS5に戻ってテーブルアドレス演算から繰り返す。一方、Hカウンタの値が160以上で、最大横サイズに達した場合には、Hカウンタを初期化し、Vカウンタに1を加算する。次いで、Vカウンタの値が64未満で、画面の最大縦サイズに達していなければ、ステップS3に戻ってタグメモリ8の初期化から繰り返す。一方、最大縦サイズ以上になった場合には、1フレームの画像表示を終了する。
【0014】
【発明が解決しようとする課題】
ところで、上記従来の画像処理装置では、図21のように同じテーブルアドレスが繰り返し用いられる場合には効率良くキャッシュヒットするので、処理効率が上がる。しかし、図22に示すように、異なるテーブルアドレスが連続し、同じテーブルアドレスが繰り返し使用されないような場合には、キャッシュヒットの効率が大幅に低下する。また、1ラインの処理が終了する毎にタグメモリ8を初期化し、キャッシュメモリ4にテーブルデータを新たに読み込むので、1ライン毎の横方向にはキャッシュ効果が期待できても、縦方向には期待できないという問題があった。
【0015】
本発明は、上記に鑑み、異なるテーブルデータが続けて読み出されるような画像処理においても効率の良いキャッシュヒットが期待でき、画像処理の一層の高速化が図れる画像処理装置を提供することを目的とする。
【0016】
本発明は更に、上記目的を達成した上で、画面の縦方向においても効率の良いキャッシュヒットが期待できる画像処理装置を提供することを目的とする。
【0017】
【課題を解決するための手段】
複数のテーブルデータが記憶された主メモリと、
前記主メモリから読み出されたテーブルデータを記憶するキャッシュメモリと、
所要のテーブルデータの読出し時に前記キャッシュメモリの記憶データにヒットしないときには、前記所要のテーブルデータを前記主メモリから読み出して前記キャッシュメモリに記憶すると共に、前記所要のテーブルデータにアドレスが後続する所定数のテーブルデータを前記主メモリから読み出して、前記キャッシュメモリに候補データとして記憶する制御手段とを備え、
前記制御手段が、前記キャッシュアドレスに空きがないときには、前記候補データに前記所要のテーブルデータを上書きする上書き手段を有することを特徴とする。
【0018】
本発明の画像処理装置では、異なるテーブルデータが続けて読み出されるような画像処理においても、ミスヒットする度に主メモリから、ヒットしたテーブルデータに後続する候補データを読み出してキャッシュメモリに記憶するので、その後引き続いて候補データが読み出される場合にはこの候補データが利用でき、キャッシュヒットの確率が高まる。この結果、主メモリに対するアクセス回数が減少し、画像処理がより高速化する。
【0019】
ここで、本発明の画像処理装置では、所要のテーブルデータが前記キャッシュメモリのキャッシュアドレスの昇順又は降順に記憶され、前記候補データがキャッシュアドレスの降順又は昇順に記憶されることが好ましい。これにより、所要のテーブルデータと候補データとの記憶処理が円滑になる。
【0020】
また、前記制御手段が、前記キャッシュメモリに記憶されたテーブルデータの有効/無効を示す有効データフラグを備え、所要のテーブルデータの読出し時にヒットしたときには、該ヒットしたテーブルデータを前記キャッシュメモリから読み出すと共に該読み出したテーブルデータに対応するキャッシュアドレスに前記有効データフラグをセットすることも好ましい態様である。
【0021】
この場合、タグメモリの初期化に代えて、有効データフラグをライン単位で初期化するので、以前の処理ラインに関するキャッシュメモリの記憶内容をそのまま保持することができる。このため、次のラインに処理が進んでも、所要のテーブルデータのテーブルアドレスを前回の記憶内容と比較することにより、縦方向でのキャッシュ効果も期待できるようになる。また、キャッシュメモリに空きが無い場合でも、有効フラグがセットされていないキャッシュアドレスから優先的にテーブルデータを上書きできるので、キャッシュデータの特別な破棄アルゴリズムが不要になる。
【0022】
更に、前記制御手段が、1ライン分のテーブルデータの処理毎に、セットされた前記有効データフラグを初期化することが好ましい。これにより、1ラインの処理において書き換え可能なキャッシュアドレスを認識することができる。
【0023】
更に、前記制御手段は、前記キャッシュメモリのキャッシュアドレスに前記候補データが書き込まれたか否かを示す候補データフラグを備えることが好ましい。この場合、連続的に読み出されるテーブルデータをどのキャッシュアドレスに記憶するかを、候補データフラグのセット/リセットをみることによって判断することができ、候補データフラグがセットされていないキャッシュアドレスに候補データを円滑に記憶することができる。
【0024】
また、前記制御手段が、1ライン分のテーブルデータの処理毎に、セットされた前記候補データフラグを初期化することも好ましい態様である。これにより、例えば、全てのキャッシュアドレスに候補データフラグがセットされるときには候補データを無効とする制御の場合、次のラインの処理時に、候補データフラグが初期化されたキャッシュアドレスに候補データが円滑に記憶できる。
【0025】
【発明の実施の形態】
以下、図面を参照し、本発明の実施形態例に基づいて本発明を更に詳細に説明する。図1は、本発明の一実施形態例における画像処理装置の概略構成を示すブロック図である。画像処理装置15は、データキャッシュ回路14と、データキャッシュ回路14に接続された外部メモリ1、テーブルアドレス演算回路2、ROMコントローラ9、画像データROM10及びラインバッファ11とを有する。
【0026】
データキャッシュ回路14は、キャッシュコントローラ3と、テーブルデータキャッシュメモリ4と、空きアドレス保持メモリ5と、有効データフラグ6と、候補データフラグ7と、タグメモリ8とを有する。
【0027】
外部メモリ1には、画像データROM10のアドレスや、反転、重ね合わせ方法などの装飾情報を含む多数のテーブルデータが記憶されている。外部メモリ1は、テーブルアドレス演算回路2によって演算された水平スクロール、垂直スクロール、分割スクロール処理を行った結果のテーブルアドレスと、そのテーブルアドレスに対応するテーブルデータとをキャッシュコントローラ3に出力する。
【0028】
テーブルアドレス演算回路2は、外部メモリ1内のテーブルアドレスを演算して出力する機能を有し、複数のキャラクタテーブルの組み合わせや、水平/垂直スクロール、分割スクロールなどの処理後のテーブルアドレスを演算して出力する。
【0029】
キャッシュコントローラ3は、有効データフラグ6、候補データフラグ7の内容に従ってテーブルアドレスをタグメモリ8に記憶し、或いは、テーブルデータをキャッシュメモリ4に記憶する。この場合に、タグメモリ8及びキャッシュメモリ4の記憶先の空きアドレスを、データの種類に基づいて、アドレスを降順又は昇順に検索して、空きアドレス保持メモリ5に記憶する。また、キャッシュコントローラ3は、キャッシュのヒット又はミスヒットに従って、キャッシュコントローラ3を通過する外部メモリ1からのテーブルデータ、又は、キャッシュメモリ4からのテーブルデータを選択し、ROMコントローラ9に出力する。
【0030】
テーブルデータキャッシュメモリ4は、SDRAM等で構成され、外部メモリ1から読み込んだテーブルデータを記憶する多数のテーブルアドレスを有する。空きアドレス保持メモリ5は、タグメモリ8のどのアドレスが空いているかを記憶する。保管された空きアドレスは、連続的に読み出されたテーブルデータ(候補データ)のテーブルアドレスをタグメモリ8に記憶する際に使用される。
【0031】
有効データフラグ6は、キャッシュメモリ4内で空いているキャッシュアドレスの有無を表すもので、キャッシュアドレス数に対応するbit数で構成される。例えば、キャッシュメモリ4が16bit×20wordであれば、有効データフラグ6は、キャッシュアドレス数20に対応して20bitとなる。
【0032】
候補データフラグ7は、外部メモリ1から連続的に読み出されたテーブルデータが、キャッシュメモリ4のキャッシュアドレスに候補データとして書き込まれたか否かを示す。タグメモリ8は、テーブルデータキャッシュメモリ4に記憶されたテーブルデータに対応するテーブルアドレスを記憶する。
【0033】
ROMコントローラ9は、テーブルデータに付されたキャラクタコードに基づいて、対応する画像データを画像データROM10から読み出し、ラインバッファ11に出力する。画像データROM10は、背景の基本となる、或る単位の大きさ(例えば、16ピクセル×16ライン)の画像データを記憶している。ラインバッファ11は、H-Syncに同期して表示する1ライン分の画像データを記憶するメモリである。
【0034】
図2は、上記実施形態例の画像処理装置15の全体の作動を示すフローチャート、図3は、画面表示途中の処理ラインを模式的に示す図、図4は、図3の処理ライン303を全て終了したときのキャッシュメモリの記憶内容等を示す対応表である。
【0035】
図3に示す例では、現在処理している処理ライン303では表示画面の横方向にテーブルデータ1、0、0、5、8が連続し、次の処理ライン304では横方向にテーブルデータ1、3、0、5、8が連続している。処理ライン303と304との間のテーブルデータの縦方向でのズレは、垂直スクロールしてずれた状況を示す。また、図3の処理の開始時には、タグメモリ8及びキャッシュメモリ4の記憶内容は全て空として考える。
【0036】
まず、1ラインの処理に先立って、図2のステップS15でH/Vカウンタを初期化し、ステップS16でタグメモリ8を初期化し、ステップS17でV-Syncの入力を待つ。V-Syncの入力後、ステップS18では、有効データフラグ6と候補データフラグ7とを初期化する。
【0037】
次いで、ステップS19でH-Syncの入力を待ち、H-Syncが入力されれば、ステップS20で、テーブルデータ“1”(図3)に対応するテーブルアドレス“1”をテーブルアドレス演算回路2(図1)で演算し、出力する。ステップS21では、空きアドレス保持メモリ5をキャッシュコントローラ3でチェックし、演算されたテーブルアドレス“1”がタグメモリ8に記憶されているか否かをみる。この場合、タグメモリ8の記憶内容は全て空なので、ステップS23に進み、バースト読出し期間を開始する。このバースト読出しでは、目的とするテーブルデータを含む最大4ワード(4テーブルデータ)を一度に読み出す。
【0038】
まず、ステップS24で、連続読出しを行う4ワードの内の最初の1ワード、つまり、目的とするテーブルデータが“1”であるか否かを判定する。その結果、テーブルデータ“1”であれば、ステップS25で、テーブルデータ“1”を外部メモリ1から読み出し、ステップS26で、有効データフラグ6がセットされていないキャッシュメモリ4の空きアドレスを昇順に(図4の“0”から)検索する。
【0039】
更に、ステップS27で、有効データフラグ6がセットされていない最小キャッシュアドレス“0”に有効データフラグ6及び候補データフラグ7をセットし、テーブルアドレス“1”をタグメモリ8に記憶し、このテーブルアドレス“1”に対応して外部メモリ1から読み出したテーブルデータ“1”をROMコントローラ9に出力すると共に、キャッシュメモリ4のキャッシュアドレス“0”に記憶(複写)する。更に、ステップS33で、バースト読出し期間を終了するか否かを判定する。この場合、テーブルデータ“1”がキャッシュヒットしていないので、残り3ワードの読出しのため、ステップS24に戻ってバースト読出し期間を続行する。
【0040】
ステップS24で、今度は最初の1ワードではないので、ステップS28に進み、テーブルデータ“1”に連続するテーブルデータ“2”、“3”、“4”を外部メモリ1から連続して読み出す。次いで、ステップS40で、読み出したテーブルデータ“2”〜“4”は既に読み出されているか否かを判定する。この場合、テーブルデータ“2”〜“4”は今回初めて読み出されたので、ステップS29に進み、候補データフラグ7がセットされていないキャッシュメモリ4の空きアドレスを降順に(図4の“9”から)検索する。
【0041】
現在、キャッシュアドレス“0”以外ではステップS18で有効データフラグ6及び候補データフラグ7の双方が初期化されたままなので、キャッシュアドレス“9”、“8”、“7”にテーブルデータ“2”、“3”、“4”を順次に記憶し、対応するタグメモリ8にテーブルアドレス“2”、“3”、“4”を順次に記憶し、キャッシュアドレス“9”、“8、”、“7”に候補データフラグ7のみをセットしておく。但し、この記憶は、候補データフラグ7がセットされていないキャッシュアドレスが存在する場合にのみ行われ、全てのキャッシュアドレスに候補データフラグ7がセットされている場合には、読み込んだテーブルデータはキャッシュメモリ4に書き込まずに無効とする(ステップS32)。更に、ステップS33でバースト読出し期間を終了し、ステップS35に進む。
【0042】
ステップS35では、キャッシュメモリ4から読み出したテーブルデータ“1”に基づいて、ROMコントローラ9でROMアドレスを計算し、画像データROM10から画像データ(例えば、16ピクセル×1ライン)を読み出しラインバッファ11に出力する。更に、ステップS36で、16ピクセル×16ラインの場合にはHカウンタに16を加算し、ステップS37で、Hカウンタの値を160と比較する。この場合、Hカウンタの値は160よりも小さく、画面の横サイズに達していないので、ステップS20に戻ってテーブルアドレスの演算処理から繰り返す。
【0043】
ステップS20では、今度は、テーブルデータ“0”(図3)に対応するテーブルアドレス“0”を演算して出力する。ステップS21では、演算されたテーブルアドレス“0”がタグメモリ8に記憶されているか否かをチェックする。この場合、タグメモリ8にテーブルアドレス“0”は記憶されていないので、ステップS23に進み、バースト読出し期間を開始する。
【0044】
上記と同様に、ステップS24〜S27で、有効データフラグ6がセットされない最小キャッシュアドレス“1”に有効データフラグ6及び候補データフラグ7をセットし、テーブルアドレス“0”をタグメモリ8に記憶し、テーブルデータ“0”をキャッシュアドレス“1”に記憶する。更に、ステップS33で、バースト読出し期間を終了するか否かを判定するが、この場合も上記と同様に、テーブルデータ“0”がミスヒットしたので、ステップS24に戻ってバースト読出し期間を続行する。
【0045】
ステップS24の判定に従い、ステップS28で、今回のテーブルデータ“0”に続くテーブルデータ“1”、“2”、“3”を外部メモリ1から連続して読み出す。次いで、ステップS40で、読み出したテーブルデータ“1”〜“3”は既に読み出されているか否かを判定するが、この場合、既に読み出されているので、ステップS32で、テーブルデータ“1”〜“3”を無効にする。更に、ステップS33でバースト読出し期間を終了し、ステップS35に進む。
【0046】
ステップS35では、読み出したテーブルデータ“0”に基づいてROMアドレスを計算し、画像データROM10から画像データを読み出しラインバッファ11に出力する。更に、ステップS36で、Hカウンタに16を加算し、ステップS37で、Hカウンタの値を160と比較する。この場合、Hカウンタの値は160より小さく、画面の横サイズに達していないので、ステップS20に戻ってテーブルアドレスの演算処理から繰り返す。
【0047】
ステップS20では、今度も、テーブルデータ“0”(図3)に対応するテーブルアドレス“0”を演算して出力する。ステップS21では、演算されたテーブルアドレス“0”がタグメモリ8に記憶されているか否かをチェックするが、この場合、タグメモリ8にテーブルアドレス“0”が既に記憶されているので、ステップS22に進み、キャッシュアドレス“1”の有効データフラグ6を更新する。
【0048】
更に、ステップS34で、キャッシュメモリ4からテーブルデータ“0”を読み出し、ステップS35で、テーブルデータ“0”に基づいてROMアドレスを計算し、画像データROM10から画像データを読み出しラインバッファ11に出力する。更に、ステップS36で、Hカウンタに16を加算し、ステップS37で、Hカウンタの値を160と比較する。この場合、Hカウンタの値は160より小さく、画面の横サイズに達していないので、ステップS20に戻ってテーブルアドレスの演算処理から繰り返す。
【0049】
ステップS20では、今度は、テーブルデータ“5”(図3)に対応するテーブルアドレス“5”を演算して出力する。ステップS21では、演算されたテーブルアドレス“5”がタグメモリ8に記憶されているか否かをチェックする。この場合、タグメモリ8にテーブルアドレス“5”が記憶されていないので、ステップS23に進み、バースト読出し期間を開始する。
【0050】
上記と同様に、ステップS24〜S27では、有効データフラグ6がセットされない最小キャッシュアドレス“2”に有効データフラグ6及び候補データフラグ7をセットし、テーブルアドレス“5”をタグメモリ8に記憶し、テーブルデータ“5”をキャッシュアドレス“2”に記憶する。更に、ステップS33で、バースト読出し期間を終了するか否かを判定するが、この場合も上記と同様に、テーブルデータ“5”がミスヒットしたので、ステップS24に戻ってバースト読出し期間を続行する。
【0051】
ステップS24の判定に従い、ステップS28で、今回のテーブルデータ“5”に続くテーブルデータ“6”、“7”、“8”を外部メモリ1から連続して読み出す。次いで、ステップS40で、読み出したテーブルデータ“6”〜“8”は既に読み出されているか否かを判定するが、この場合、まだ読み出されていないので、ステップS29に進み、候補データフラグ7がセットされていないキャッシュメモリ4の空きアドレスを降順に(図4の“6”から)検索する。この結果、キャッシュアドレス“6”、“5”、“4”にテーブルデータ“6”、“7”、“8”を順次に記憶し、対応するタグメモリ8にテーブルアドレス“6”、“7”、“8”を順次に記憶し、キャッシュアドレス“6”、“5、”、“4”に候補データフラグ7のみをセットしておく。更に、ステップS33でバースト読出し期間を終了し、ステップS35に進む。
【0052】
ステップS35では、読み出したテーブルデータ“5”に基づいてROMアドレスを計算し、画像データROM10から画像データを読み出しラインバッファ11に出力する。更に、ステップS36で、Hカウンタに16を加算し、ステップS37で、Hカウンタの値を160と比較する。この場合、Hカウンタの値は160より小さく、画面の横サイズに達していないので、ステップS20に戻ってテーブルアドレスの演算処理から繰り返す。
【0053】
ステップS20では、今度は、テーブルデータ“8”(図3)に対応するテーブルアドレス“8”を演算して出力する。ステップS21では、演算されたテーブルアドレス“8”がタグメモリ8に記憶されているか否かをチェックする。この場合、タグメモリ8にテーブルアドレス“8”が記憶されているので、ステップS22に進み、キャッシュアドレス“4”に有効データフラグ6をセットする。
【0054】
更に、ステップS34で、キャッシュメモリ4からテーブルデータ“8”を読み出し、ステップS35で、テーブルデータ“0”に基づいてROMアドレスを計算し、画像データROM10から画像データを読み出しラインバッファ11に出力する。ステップS36で、Hカウンタに16を加算し、ステップS37で、Hカウンタの値を160と比較し、Hカウンタの値が160以上であれば、画面の横サイズに達したとしてステップS38に進んで1ラインの処理を終了し、Vカウンタに1を加算する。更に、ステップS39で、Vカウンタが64以上になって1フレームの処理が終了するまで、上記と同様の処理を繰り返す。
【0055】
ここで、本画像処理装置では、従来のように1ライン毎にタグメモリ8及びキャッシュメモリ4の記憶内容を初期化するのではなく、図3に示す次のライン304の処理に先立って有効データフラグ6及び候補データフラグ7のみを初期化する。次のライン304におけるテーブルデータの配列は、図3に示すように“1”、“3”、“0”、“5”、“8”となるが、これらのテーブルデータ及びその対応するテーブルアドレスが全てタグメモリ8及びキャッシュメモリ4に既に記憶されているので、次のライン304では、所要の全テーブルデータがキャッシュヒットし、画像処理が大幅に高速化することになる。
【0056】
次に、本画像処理装置による横方向でのキャッシュ効果でアクセス回数が減少する具体例を挙げる。ここでは、空きアドレス保持メモリ5が4アドレス分(4バースト分)あるとし、1キャラクタのサイズを16ピクセル×16ラインとし、出力画像のサイズを160ピクセル×80ラインとする。また、外部メモリ1の連続読込みを最大4ワードとし、キャッシュメモリ4のサイズを13ワードとする。この13ワードは、160ピクセル÷16ピクセル=10であるので、この10に、(4バースト−1)を加えた数である。
【0057】
この場合、キャラクタテーブルを表す図5に示すように、テーブルアドレスが00〜0FからなるキャラクタテーブルC1と、10〜1FからなるキャラクタテーブルC2と、20〜2FからなるキャラクタテーブルC3と、30〜3FからなるキャラクタテーブルC4と、40〜4FからなるキャラクタテーブルC5とがあるとする。また、キャラクタテーブルC1〜C5から読み出したテーブルデータを重ね合わせた出力例を図6に示し、本画像処理時のキャッシュメモリ4の記憶内容、有効データフラグ6及び候補データフラグ7の変化を順を追って図7〜図15に示す。同図ではキャッシュアドレスが“0”〜“12”あるものとする。
【0058】
図6に示すように、最初の1ラインでは、“00”、“01”、“02”、“03”、“10”、“11”、“20”、“30”、“31”、“40”のテーブルデータを連続して読み出して画像出力する。この実現のため、まず、V-Syncに同期してH/Vカウンタ及びタグメモリ8を初期化し、H-Syncに同期して有効データフラグ6及び候補データフラグ7を初期化する。更に、図7に示すように、キャラクタテーブルC1の最初のテーブルアドレス“00”(図5)に対応するテーブルデータ“00”を外部メモリ1から読み出して出力すると共に、キャッシュメモリ4のキャッシュアドレス“0”にテーブルアドレス“00”を記憶する。同時に、テーブルアドレス“00”に後続する“01”、“02”、“03”(図5)を候補データとして連続して読み込み、図7のキャッシュアドレス“12”、“11”、“10”に順次に記憶する。この際に、キャッシュアドレス“0”には有効データフラグ6及び候補データフラグ7がセットされ(1が立てられ)、キャッシュアドレス“12”〜“10”には候補データフラグ7のみがセットされる。
【0059】
次いで、キャラクタテーブルC1のテーブルアドレス“01”(図5)に対応するテーブルデータ“01”を読み出して出力するが、この場合、図7に示すように、テーブルデータ“01”はキャッシュメモリ4に既に存在するためキャッシュヒットする。従って、図8に示すように、キャッシュアドレス“12”に有効データフラグ6をセットし、テーブルデータ“01”をキャッシュメモリ4から読み出す。
【0060】
更に、キャラクタテーブルC1のテーブルアドレス“02”、“03”(図5)に対応するテーブルデータ“02”、“03”を順次に読み出すが、この場合、図8に示すように、テーブルデータ“02”、“03”はキャッシュメモリ4に既に存在するためキャッシュヒットする。従って、図9に示すように、キャッシュアドレス“11”、“10”の有効データフラグ6を夫々セットし、テーブルデータ“02”、“03”をキャッシュメモリ4から読み出す。
【0061】
次いで、キャラクタテーブルC2のテーブルアドレス“10”(図5)に対応するテーブルデータ“10”を読み出すが、この場合、図9に示すように、テーブルデータ“10”はキャッシュメモリ4に存在しないためミスヒットする。従って、図10に示すように、キャラクタテーブルC2の最初のテーブルアドレス“10”(図5)に対応するテーブルデータ“10”を外部メモリ1から読み出して出力すると共に、キャッシュアドレス“1”にテーブルアドレス“10”を記憶する。同時に、テーブルアドレス“10”に後続する“11”、“12”、“13”を連続して読み込み、キャッシュアドレス“9”、“8”、“7”に候補データとして順次に記憶する。この際に、キャッシュアドレス“1”には有効データフラグ6及び候補データフラグ7がセットされ、キャッシュアドレス“9”〜“7”には候補データフラグ7のみがセットされる。
【0062】
引き続き、キャラクタテーブルC2のテーブルアドレス“11”(図5)に対応するテーブルデータ“11”を読み出して出力するが、この場合、図11に示すように、テーブルデータ“11”はキャッシュメモリ4に既に存在するためキャッシュヒットする。従って、図11に示すように、キャッシュアドレス“9”に有効データフラグ6をセットし、テーブルデータ“11”をキャッシュメモリ4から読み出す。
【0063】
次いで、キャラクタテーブルC3のテーブルアドレス“20”(図5)に対応するテーブルデータ“20”を読み出すが、この場合、図11に示すように、テーブルデータ“20”はキャッシュメモリ4に存在しないためミスヒットする。従って、図12に示すように、キャラクタテーブルC3の最初のテーブルアドレス“20”(図5)に対応するテーブルデータ“20”を外部メモリ1から読み出して出力すると共に、キャッシュアドレス“2”にテーブルアドレス“20”を記憶する。これと同時に、テーブルアドレス“20”に後続する“21”、“22”、“23”を連続して読み込み、キャッシュアドレス“6”、“5”、“4”に候補データとして順次に記憶する。この際に、キャッシュアドレス“2”には有効データフラグ6及び候補データフラグ7がセットされ、キャッシュアドレス“6”〜“4”には候補データフラグ7のみがセットされる。
【0064】
更に、キャラクタテーブルC4のテーブルアドレス“30”(図5)に対応するテーブルデータ“30”を読み出すが、この場合、図12に示すように、テーブルデータ“30”はキャッシュメモリ4に存在しないためミスヒットする。従って、図13に示すように、キャラクタテーブルC4の最初のテーブルアドレス“30”(図5)に対応するテーブルデータ“30”を外部メモリ1から読み出して出力すると共に、キャッシュアドレス“3”にテーブルアドレス“30”を記憶する。これと同時に、テーブルデータ“30”に後続するテーブルデータ“31”、“32”、“33”を連続して読み込むが、キャッシュアドレスに空きが無いのでこれらは無効とする。
【0065】
次いで、キャラクタテーブルC4のテーブルアドレス“31”(図5)に対応するテーブルデータ“31”を読み出すが、この場合、図13に示すように、テーブルデータ“31”はキャッシュメモリ4に存在しないためミスヒットする。従って、図14に示すように、キャラクタテーブルC4のテーブルアドレス“31”(図5)に対応するテーブルデータ“31”を外部メモリ1から読み出して出力する。更に、テーブルデータ“31”に後続するテーブルデータ“32”、“33”、“34”を連続して読み込むが、キャッシュアドレスに空きが無いので、テーブルデータ“32”、“33”、“34”は無効とし、テーブルデータ“31”のみを、有効データフラグ6に1が立っていないキャッシュアドレス“4”に記憶する。
【0066】
次いで、キャラクタテーブルC5のテーブルアドレス“40”(図5)に対応するテーブルデータ“40”を読み出すが、この場合、図14に示すように、テーブルデータ“40”はキャッシュメモリ4内に存在しないためミスヒットする。従って、キャラクタテーブルC5のテーブルアドレス“40”(図5)に対応するテーブルデータ“40”を外部メモリ1から読み出して出力すると共に、テーブルデータ“40”に後続するテーブルデータ“41”、“42”、“43”を連続して読み込むが、図14に示すように、キャッシュアドレスに空きが無いので、テーブルデータ“41”、“42”、“43”を無効とし、テーブルデータ“40”のみを、有効データフラグ6に1が立っていないキャッシュアドレス“5”に、図15のように記憶する。
【0067】
以上で、1ラインに対する処理が終了するので、H-Syncに同期して有効データフラグ6及び候補データフラグ7を初期化し、上述の処理を次のラインに対して繰り返す。通常、図6の1ラインのテーブルデータ“00”〜“40”に関し1キャラクタ毎に外部メモリ1にアクセスする場合には10回のアクセスが必要になるが、本画像処理装置によると、上述のように、6回のアクセスで足りるので、6/10の性能向上がみられる。
【0068】
また、続く1ラインの処理に移行する場合、有効データフラグ6及び候補データフラグ7を初期化するが、タグメモリ8及びキャッシュメモリ4の記憶内容は初期化しない。このため、キャッシュアドレスに記憶されたテーブルデータにキャッシュヒットすれば、外部メモリ1にアクセスせずに読み出すことができる。或いは、キャッシュヒットしなくても上記例と同様の動作で、キャッシュメモリ4がテーブルデータで埋まっていくことになる。
【0069】
次に、“00 01 02 03 04 05 06 07 08 09”のように連続するテーブルデータの場合のキャッシュ動作について説明する。図16〜図19は、このキャッシュ動作時のキャッシュメモリ4の記憶内容、有効データフラグ6及び候補データフラグ7の変化を順を追って示す表である。
【0070】
まず、先の例と同様に、タグメモリ8(つまりキャッシュメモリ4)の初期化、V-Syncの入力、有効データフラグ及び候補データフラグ6、7の初期化に続いてH-Syncを入力した後に、図16に示すように、テーブルデータ“00”を外部メモリ1から読み込んでキャッシュアドレス“0”に記憶する。この場合、キャッシュヒットしていないので、“00”の後続するテーブルデータ“01”、“02”、“03”を読み込んでキャッシュアドレス“12”〜“10”に候補データとして順次に記憶すると共に、候補データフラグ7をセットする。
【0071】
次に、テーブルデータ“01”、“02”、“03”がキャッシュヒットするので、図17に示すように、夫々が記憶されたキャッシュアドレスに対応する有効データフラグ6をセットする。
【0072】
続くテーブルデータ“04”はミスヒットするので、外部メモリ1から読み出し、図17に示すように、キャッシュアドレス“1”に記憶すると共に、後続のテーブルデータ“05”、“06”、“07”を読み込んで候補データとしてキャッシュアドレス“9”、“8”、“7”に夫々記憶する。
【0073】
次いで、テーブルデータ“05”、“06”、“07”がキャッシュヒットするので、図18に示すように、夫々が記憶されたキャッシュアドレスに対応する有効データフラグ6をセットする。
【0074】
続くテーブルデータ“08”はミスヒットするので、外部メモリ1から読み出し、図18に示すように、キャッシュアドレス“2”に記憶すると共に、後続のテーブルデータ“09”、“0A”、“0B”を読み込んで候補データとしてキャッシュアドレス“6”、“5”、“4”に夫々記憶する。
【0075】
次いで、テーブルデータ“09”がキャッシュヒットするので、図19に示すように、テーブルデータ“09”が記憶されたキャッシュアドレスに対応する有効データフラグ6をセットする。これにより、1ラインの画像処理が終了する。更に、H-Syncに同期して有効データフラグ6及び候補データフラグ7を初期化し、最初の処理に戻る。
【0076】
以上のように、連続するテーブルデータ“00 01 02 03 04 05 06 07 08 09”の場合には、外部メモリ1に対する3回のアクセスのみで1ライン分のテーブルデータの読み込みが実現する。従って、1キャラクタ毎にアクセスする場合に比して、3/10の読出し回数で足り、読出し性能の向上がみられる。
【0077】
本画像処理装置では、背景画像には連続したテーブルアドレスを使用することが多いことから、外部メモリ1から候補データとして先読みすることにより、外部メモリ1に対するアクセス回数を減少させることができる。これにより、キャッシュヒットの効率が向上し、メモリアクセスの待ち時間が減少し、結果的に描画性能が向上することになる。
【0078】
また、本画像処理装置では、タグメモリ1ではなく有効データフラグ6及び候補データフラグを1ライン毎に初期化するので、次の1ラインの処理に進んでも以前のラインに関するタグメモリ8及びキャッシュメモリ4の記憶内容が残っているので、横方向と同様に縦方向においてもキャッシュヒットが期待できる。具体的には、16ピクセル×16ラインを1キャラクタとした場合に、従来では16回のアクセスを要していたのに対し、本実施形態例では1回のアクセスで済むので、単純に16倍の性能向上となる。
【0079】
以上、本発明をその好適な実施形態例に基づいて説明したが、本発明の画像処理装置は、上記実施形態例の構成にのみ限定されるものではなく、上記実施形態例の構成から種々の修正及び変更を施した画像処理装置も、本発明の範囲に含まれる。
【0080】
【発明の効果】
以上説明したように、本発明の画像処理装置によると、異なるテーブルデータが続けて読み出されるような画像処理においても効率の良いキャッシュヒットが期待でき、画像処理の一層の高速化を図ることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態例における画像処理装置の概略構成を示すブロック図である。
【図2】本実施形態例の画像処理装置の全体の作動を示すフローチャートである。
【図3】本実施形態例における処理ラインを模式的に示す図である。
【図4】本実施形態例におけるフラグ、タグメモリ、キャッシュメモリの対応表を示す図である。
【図5】本実施形態例におけるキャラクタテーブルの具体例を模式的に表す図である。
【図6】異なるテーブルデータを重ね合わせたラインの具体例を模式的に表す図である。
【図7】本実施形態例におけるキャッシュメモリの記憶内容、有効及び候補データフラグの変化を示す表である。
【図8】本実施形態例におけるキャッシュメモリの記憶内容、有効及び候補データフラグの変化を示す表である。
【図9】本実施形態例におけるキャッシュメモリの記憶内容、有効及び候補データフラグの変化を示す表である。
【図10】本実施形態例におけるキャッシュメモリの記憶内容、有効及び候補データフラグの変化を示す表である。
【図11】本実施形態例におけるキャッシュメモリの記憶内容、有効及び候補データフラグの変化を示す表である。
【図12】本実施形態例におけるキャッシュメモリの記憶内容、有効及び候補データフラグの変化を示す表である。
【図13】本実施形態例におけるキャッシュメモリの記憶内容、有効及び候補データフラグの変化を示す表である。
【図14】本実施形態例におけるキャッシュメモリの記憶内容、有効及び候補データフラグの変化を示す表である。
【図15】本実施形態例におけるキャッシュメモリの記憶内容、有効及び候補データフラグの変化を示す表である。
【図16】本実施形態例におけるキャッシュメモリの記憶内容、有効及び候補データフラグの変化を示す表である。
【図17】本実施形態例におけるキャッシュメモリの記憶内容、有効及び候補データフラグの変化を示す表である。
【図18】本実施形態例におけるキャッシュメモリの記憶内容、有効及び候補データフラグの変化を示す表である。
【図19】本実施形態例におけるキャッシュメモリの記憶内容、有効及び候補データフラグの変化を示す表である。
【図20】画像処理における画像構成を模式的に示す図である。
【図21】同一アドレスデータが繰り返される画像例を表す図である。
【図22】同一アドレスデータが繰り返されない画像例を表す図である。
【図23】ラインスクロールによる画像変化を模式的に示す図である。
【図24】分割スクロールによる画像変化を模式的に示す図である。
【図25】従来の画像処理装置の概略構成を示すブロック図である。
【図26】図25の画像処理装置の作動を示すフローチャートである。
【符号の説明】
1:外部メモリ(主メモリ)
2:テーブルアドレス演算回路
3:キャッシュコントローラ
4:テーブルデータキャッシュメモリ
5:空きアドレス保持メモリ
6:有効データフラグ
7:候補データフラグ
8:タグメモリ
9:ROMコントローラ
10:画像データROM
11:ラインバッファ11
14:データキャッシュ回路
15:画像処理装置
6+

Claims (7)

  1. 複数のテーブルデータが記憶された主メモリと、前記主メモリから読み出されたテーブルデータを、該テーブルデータを記憶単位として記憶するキャッシュメモリと、所要のテーブルデータの読出し時に前記キャッシュメモリの記憶データにヒットしないときには、前記所要のテーブルデータを前記主メモリから読み出して前記キャッシュメモリに記憶する際に、前記所要のテーブルデータをキャッシュメモリに記憶すると共に、前記所要のテーブルデータにアドレスが後続する所定数のテーブルデータを前記主メモリから読み出して、前記キャッシュメモリに候補データとして記憶する制御手段とを備え、前記制御手段が、前記キャッシュアドレスに空きがないときには、記憶済みの候補データに前記所要のテーブルデータを上書きする上書き手段を有することを特徴とし、前記制御手段は、前記キャッシュメモリに記憶されたテーブルデータが前記候補データとして書き込まれたことを示す候補データフラグをセットする手段と、前記キャッシュメモリに記憶されたテーブルデータが前記所要のテーブルデータとして参照されたことを示す有効データフラグをセットする手段とを更に備え、前記上書き手段は、前記候補データフラグがセットされ且つ前記有効データフラグがセットされていないときに上書きし、1ライン分のテーブルデータの処理毎に、セットされた前記候補データフラグ及びセットされた前記有効データフラグを初期化する画像処理装置。
  2. 前記テーブルデータが前記主メモリに記憶されたアドレスを示すテーブルアドレスと前記キャッシュアドレスとの対応を記憶したタグメモリを更に有し、前記制御手段は、1フレーム分のテーブルデータの処理毎に、前記タグメモリを初期化することを特徴とする、請求項1に記載の画像処理装置。
  3. 前記所要のテーブルデータが前記キャッシュメモリのキャッシュアドレスの昇順に記憶されるとともに前記候補データが前記キャッシュメモリのキャッシュアドレスの降順に記憶されるか、又は、前記所要のテーブルデータが前記キャッシュメモリのキャッシュアドレスの降順に記憶されるとともに前記候補データがキャッシュメモリのキャッシュアドレスの昇順に記憶されることを特徴とする、請求項1もしくは2に記載の画像処理装置。
  4. 複数のテーブルデータが記憶された主メモリと、前記主メモリから読み出されたテーブルデータを、該テーブルデータを記憶単位として記憶するキャッシュメモリと、所要のテーブルデータの読出し時に前記キャッシュメモリの記憶データにヒットしないときには、前記所要のテーブルデータを前記主メモリから読み出して前記キャッシュメモリに記憶する際に、前記所要のテーブルデータをキャッシュメモリに記憶すると共に、前記所要のテーブルデータにアドレスが後続する所定数のテーブルデータを前記主メモリから読み出して、前記キャッシュメモリに候補データとして記憶する制御手段とを備え、前記制御手段が、前記キャッシュアドレスに空きがないときには、記憶済みの候補データに前記所要のテーブルデータを上書きする上書き手段を有することを特徴とし、前記所要のテーブルデータが前記キャッシュメモリのキャッシュアドレスの昇順に記憶されるとともに前記候補データが前記キャッシュメモリのキャッシュアドレスの降順に記憶されるか、又は、前記所要のテーブルデータが前記キャッシュメモリのキャッシュアドレスの降順に記憶されるとともに前記候補データがキャッシュメモリのキャッシュアドレスの昇順に記憶されることを特徴とする画像処理装置。
  5. 前記制御手段は、前記キャッシュメモリに記憶されたテーブルデータが前記候補データとして書き込まれたことを示す候補データフラグをセットする手段と、前記キャッシュメモリに記憶されたテーブルデータが前記所要のテーブルデータとして参照されたことを示す有効データフラグをセットする手段とを更に備え、前記上書き手段は、前記候補データフラグがセットされ且つ前記有効データフラグがセットされていないときに上書きすることを特徴とする、請求項4に記載の画像処理装置。
  6. 前記制御手段が、1ライン分のテーブルデータの処理毎に、セットされた前記候補データフラグ及びセットされた前記有効データフラグを初期化する、請求項5に記載の画像処理装置。
  7. 前記テーブルデータが前記主メモリに記憶されたアドレスを示すテーブルアドレスと前記キャッシュアドレスとの対応を記憶したタグメモリを更に有し、前記制御手段は、1フレーム分のテーブルデータの処理毎に、前記タグメモリを初期化することを特徴とする、請求項4〜6の何れか一に記載の画像処理装置。
JP24344599A 1999-08-30 1999-08-30 画像処理装置 Expired - Fee Related JP3866455B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24344599A JP3866455B2 (ja) 1999-08-30 1999-08-30 画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24344599A JP3866455B2 (ja) 1999-08-30 1999-08-30 画像処理装置

Publications (2)

Publication Number Publication Date
JP2001067266A JP2001067266A (ja) 2001-03-16
JP3866455B2 true JP3866455B2 (ja) 2007-01-10

Family

ID=17103993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24344599A Expired - Fee Related JP3866455B2 (ja) 1999-08-30 1999-08-30 画像処理装置

Country Status (1)

Country Link
JP (1) JP3866455B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004073680A (ja) * 2002-08-21 2004-03-11 Mitsubishi Space Software Kk 医用画像表示装置

Also Published As

Publication number Publication date
JP2001067266A (ja) 2001-03-16

Similar Documents

Publication Publication Date Title
KR100300972B1 (ko) 텍스춰매핑수행장치및텍스춰캐시의데이터억세스방법
US7027063B1 (en) Texture cache addressing
US5559952A (en) Display controller incorporating cache memory dedicated for VRAM
US6629188B1 (en) Circuit and method for prefetching data for a texture cache
US7580042B2 (en) Systems and methods for storing and fetching texture data using bank interleaving
JP3645024B2 (ja) 描画装置及び描画方法
US6674443B1 (en) Memory system for accelerating graphics operations within an electronic device
JP3428192B2 (ja) ウインドウ表示処理装置
JPH10504124A (ja) 2方向セットアソシエーテイブ・キャッシュ・メモリ
JP2548765B2 (ja) 表示装置
JP3866455B2 (ja) 画像処理装置
US5386538A (en) Data cache access for signal processing systems
JPH0553909A (ja) 画像データ処理におけるキヤツシユメモリ制御方式
JP2003323339A (ja) メモリアクセス装置、半導体デバイス、メモリアクセス制御方法、コンピュータプログラム及び記録媒体
JP2012079108A (ja) メモリアクセス判定回路、メモリアクセス判定方法、キャッシュ制御装置および電子機器
US5799202A (en) Video terminal architecture without dedicated memory
JP3548648B2 (ja) 描画装置及び描画方法
US20040220978A1 (en) Programmable cache system
JPH0540456A (ja) 表示装置
JP3110975B2 (ja) 文字マスク機能付表示装置
CN114489551B (zh) 数据显示方法、装置及电子设备
JP2003256868A (ja) 表示装置および表示装置のバッファ制御方法
JPH03154977A (ja) キャッシュメモリ装置
JPH06274410A (ja) 表示制御システム
JP2685601B2 (ja) アドレス変換可能な図形処理装置及びそれを用いたデータ処理装置、並びに図形描画方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20051117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060117

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060223

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060406

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060531

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060720

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060720

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060720

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060825

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061005

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees