JP4487166B2 - 書き込み禁止機能付きメモリインターフェースを有するグラフィックス及びビデオ用ダブルバッファ式アクセラレータとその実施方法 - Google Patents

書き込み禁止機能付きメモリインターフェースを有するグラフィックス及びビデオ用ダブルバッファ式アクセラレータとその実施方法 Download PDF

Info

Publication number
JP4487166B2
JP4487166B2 JP2000547551A JP2000547551A JP4487166B2 JP 4487166 B2 JP4487166 B2 JP 4487166B2 JP 2000547551 A JP2000547551 A JP 2000547551A JP 2000547551 A JP2000547551 A JP 2000547551A JP 4487166 B2 JP4487166 B2 JP 4487166B2
Authority
JP
Japan
Prior art keywords
address
display
engine
buffer
front buffer
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
JP2000547551A
Other languages
English (en)
Other versions
JP2002513955A (ja
Inventor
ブラザース,ジョン,ダブリュー
Original Assignee
エススリー グラフィックス カンパニー リミテッド
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 エススリー グラフィックス カンパニー リミテッド filed Critical エススリー グラフィックス カンパニー リミテッド
Publication of JP2002513955A publication Critical patent/JP2002513955A/ja
Application granted granted Critical
Publication of JP4487166B2 publication Critical patent/JP4487166B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • G09G3/003Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/001Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Input (AREA)

Description

[発明の背景]
1.発明の分野
本発明は、グラフィックス及びビデオ処理ハードウエアに関連し、特に、グラフィックス及びビデオ処理エンジンとフレームバッファメモリ間のメモリインターフェースに関連する。
2.従来技術の説明
現在のコンピュータシステムは、ディスプレイ(表示装置)にグラフィックスアニメーションや映像(ビデオ)の再生画像を極めて高速に更新する必要があるゲームやマルチメディアアプリケーション等のプログラムを実行する。このために、コンピュータシステムは、グラフィックス及び映像を高速に処理して表示するよう設計されたアクセラレータを備えている。しかしながら、現在のアクセラレータには、表示の更新速度を遅くするボトルネックがある。
【0001】
かかるボトルネックの1つは、表示画像をアクセラレータによって描画する方法に原因がある。アクセラレータは、ディスプレイに表示するデータを保持するのに表示バッファ(display buffer)を利用する。一般的に、データはラスター順で、すなわち、左から右へのライン毎に、かつ、上から下にディスプレイに表示される。この順番は、ブラウン管(CRT)の性質によるものである(CRTでは、電子銃が、ディスプレイの左上部から右下部に向かって走査する)。電子銃が表示画面の右下部に到達すると、垂直帰線期間が開始して電子銃が左上部に戻る。
【0002】
これとは対照的に、アクセラレータによって描画されるグラフィックデータは、ラスター順でないことが多く、表示バッファ内の任意の場所に存在しうる。しかし、アクセラレータは、走査線の前に表示バッファに書き込むことができない。もしそうでなければ、アクセラレータは、ディスプレイに表示するための、まだ読み出されていない表示バッファの一部を上書きして、一般にイメージテアリング(image tearing)と言われる、不完全に描画された画像の如きアーティファクトを表示してしまうであろう。
【0003】
この問題を回避するために、グラフィックスエンジンが1つのバッファに書き込んでいる間に、別のバッファをディスプレイに対して読み出すことが可能なデュアルバッファシステムが開発されている。図1に、デュアルバッファアクセラレータとディスプレイを有するコンピュータシステムを示す。図1では、中央処理装置(CPU)110がバス114を介してアクセラレータ112に結合されており、ディスプレイ116がアクセラレータ112に結合されている。アクセラレータ112内部には、グラフィックス及びビデオ処理エンジン118と、表示アドレスレジスタ(DAR)120がある。アクセラレータ112は、2つのスクリーンバッファ124、126を備える表示用メモリ122にも結合されている。
【0004】
DAR120は、1つの表示バッファの開始アドレスを選択的に識別する。データは、その開始アドレスから垂直帰線期間に続いて表示される。こうして認識された特定のバッファは、従来、フロントバッファ(front buffer)124と呼ばれている。他のバッファはバックバッファ(back buffer)126として機能し、これから描画されるフレーム、すなわち、表示用にはまだ読み出されていないフレームのデータを記憶する。アクセラレータ112がフロントバッファ124からディスプレイ116にデータを転送している間に、グラフィックスエンジン118は、CPU110から受信したコマンドを処理して実行し、バックバッファ126にデータを書き込む。
【0005】
CPU110は、バックバッファ126に書き込むためのコマンドをアクセラレータ112に送信し終わると、ページ切換(または反転)コマンドを発行する。これに応答して、アクセラレータ112は、バックバッファ126の開始アドレスをDAR120に書き込み、これによって、現在のバックバッファ126を次のフロントバッファ124として認識する。しかし、イメージテアリングを防止するためには、現在のフロントバッファ124及びバックバッファ126の役割を逆にする前に、これから表示する現在のフロントバッファ124内のデータを読み出して、ディスプレイ116に伝送しなければならない。従って、垂直帰線が生じるまでは、現在のフロントバッファ124とバックバッファ126の役割を切り換えることはできない。
【0006】
DARの更新と垂直帰線の間の時間間隔は、全画面のリフレッシュ期間に及び、非常に長い。この時間間隔の間、CPU110は、グラフィックスコマンドをアクセラレータ112に送信することはできない。なぜなら、現在のフロントバッファ124を、次のバックバッファ126として使用する準備がまだできていないからである。従って、グラフィックスエンジン118は、DARの更新と垂直帰線との間は、基本的に休止状態にある。CPU110は、垂直帰線状態にあり、従って、CPU110が、アクセラレータ112に対するグラフィックス及び/またはビデオ処理コマンドの送信を再開できることを判定するために、アクセラレータ112を連続的にポーリングする。このポーリングは、CPUサイクルを無駄使いするので極めて望ましくないものである。また、このポーリングによって、バス114上のトラフィックが大きくなり、コンピュータシステムのメインメモリ(不図示)から表示用メモリ122に送信されるテクスチャデータのような他のデータの転送が遅くなってしまう。
【0007】
グラフィックスエンジンの休止時間を最小限にし、CPUの待ち時間及びポーリングを少なくする1つの方法は、追加のバッファを使用することである。例えば、従来のトリプルバッファ(3段式バッファ)方式では、第1の表示バッファをフロントバッファ124として使用し、その間に、グラフィックスエンジン118が第2のバッファにデータを書き込む。ページ切換(反転)コマンドに応答して、グラフィックスエンジン118は、第3のバッファへのデータの書き込みを開始する。垂直帰線になると、第2のバッファがフロントバッファ124として取り扱われ、第1のバッファは描画のために使用される次のバッファになる。
【0008】
トリプルバッファ方式による解決策には、連続的に受信されるページ切換コマンドによって、グラフィックスまたはビデオデータが現在のフロントバッファ124に書き込まれることがないということを保証するための手段が依然として必要である。しかしながら、一般的に、トリプルバッファ方式では、CPU110がアクセラレータ112へのコマンドの発行を中断することを基本的に必要としない程度の十分なバッファリングを提供することができる。しかし、残念なことに、バッファの追加使用によって表示用メモリ122が消費され、他の目的に利用可能なメモリの量が減少してしまう。
【0009】
表示用メモリをさらに消費することなく、グラフィックス/ビデオエンジン及びCPUの休止時間(アイドリング時間)を最小にし、同時に、垂直帰線が生じたことを判定する際のバス帯域幅の消費をも最小にするための手段が必要とされている。
[発明の概要]
上記の必要性は、エンジンが走査線の後にフロントバッファに書き込むことができるようにするアクセラレータによって満たされる。本発明の好適な1実施態様は、コンピュータシステムの中央処理装置(CPU)に結合されたバスインターフェースユニット(BIU)を備える。BIUは、コマンド待ち行列、コマンドパーサー、及びマスターコントロールユニット(CPMC)、さらに、2次元及び3次元グラフィックス描画エンジンとビデオ伸長(ビデオ解凍)エンジンを含む複数のエンジンに結合される。CPMC及びこれらのエンジンは、メモリインターフェースユニット(MIU)に結合され、メモリインターフェースユニットは、フレームバッファすなわちビデオメモリに結合される。フレームバッファは、1つ以上のチャンネルを介してメインメモリすなわちシステムメモリに結合され、複数のエージェントによって共有できることが好ましい。フレームバッファは、フロントバッファとバックバッファを備える。画面リフレッシュユニット(SRU)は、CPMC、フレームバッファ、及びディスプレイに結合される。
【0010】
CPUは、描画コマンド及び制御コマンドを生成し、BIUを介してそれらをコマンド待ち行列に非同期に送信する。BIUは、周辺機器相互接続(PCI)バス、または、高速グラフィックスポート(AGP)のような専用のグラフィックス接続を介してCPUに結合するのが好ましい。コマンド待ち行列は、CPUのコマンドを記憶する、先入れ先出し方式のバッファ(ファーストイン・ファーストアウト・バッファ)または待ち行列である。CPMCは、コマンド待ち行列から各コマンドを読み出し、そのタイプを決定するためにコマンドをパーズ(解析)して、そのコマンドを適切なエンジンに送る。さらに、CPMCは、各エンジンの調整及び制御を行い、エンジン間の相互動作を同期させる。
【0011】
エンジンは、描画コマンド処理して、フレームバッファに書き込む表示データを生成する。フレームバッファに書き込む前に、エンジンは、MIUからの許可を要求する。MIUは、フレームバッファへの書き込みの調停を行い、MIUが後述する書き込み禁止モードになければ、エンジンが書き込みを行うのを許可する。SRUは、フロントバッファからラスター順で表示データを読み出し、そのデータをディスプレイに表示する。
【0012】
一般的に、CPUは、バックバッファ内に書き込むために1つ以上のエンジンに送られる描画コマンドのリストを生成する。このコマンドの後には、アクセラレータにフロントバッファとバックバッファの役目を切り換えるように通知する「ページ切換」コマンドが続く。次に、CPUは、エンジンが実行する別のコマンドのリストを生成する。CPMCがページ切換コマンドをパーズすると、CPMCは、ページ切換コマンドが受信されたことをSRUに知らせる。そして、SRUは、MIUに、書き込み禁止モードに入るように通知し、SRUによって読み出されている現在のラインを示すアドレスと、フロントバッファの終わりを示すアドレスを提供する。MIUは、SRUによって提供されたアドレスにより画定される範囲内におけるフロントバッファへのすべての書き込みを禁止するが、禁止されたアドレス範囲以外のフロントバッファへの書き込みは許容する。SRUは、SRUがバッファ内の各ラインを読み出す際に、MIUに対して更新したラインアドレスを送信するか、または、そのようなアドレス(ラインアドレスなど)をMIUに周期的に送信して、ディスプレイにラインを描画する。従って、垂直帰線が生じるまで、禁止されたアドレス範囲は連続的に小さくなり、垂直帰線が生じた時点で、そのアドレス範囲の大きさは0になり、すべての書き込みが許容される。垂直帰線の時点で、SRUは、MIUに、書き込み禁止モードから抜けるように通知する。
【0013】
エンジンが、書き込みを禁止された範囲内のフロントバッファのアドレスに書き込みをしたいことをMIUに通知すると、MIUは、エンジンが書き込もうとしているアドレスを超える(または、そのアドレス以外の)アドレスにある表示データにSRUが移動するまで、エンジンに書き込み許可を与えない。
【0014】
本発明によって提供される書き込み禁止は、CPUからアクセラレータに同期タスクをシフトすることによって、CPUとアクセラレータとの並列処理を最大限にする。さらに、書き込み禁止によって、ページ切り換え後、垂直帰線前の、エンジンが動作し続ける時間が最大となり、これによって、描画エンジンの動作と画面リフレッシュの実行との並列処理が最大になる。
[好適な実施態様の詳細な説明]
図2は、コンピュータシステムに結合された、本発明に従って構成された書き込み禁止機能付きアクセラレータ200の好適な実施態様を示すブロック図である。図2では、中央処理装置210(CPU)が、グラフィックスバス212を介してバスインターフェースユニット214(BIU)に結合されており、BIUは、コマンド待ち行列216とコマンドパーサ/マスターコントロールユニット218(CPMC)に結合されている。2次元(2−D)グラフィックスエンジン220A、3次元(3−D)グラフィックスエンジン220B、及び、ビデオ伸長エンジン220Cを備えるのが好ましい一組の処理エンジン220が、CPMC218に結合されている。エンジン220とCPMC218は、メモリインターフェースユニット222(MIU)に結合されており、MIUは、フレームバッファすなわちビデオメモリ224に結合されている。画面リフレッシュユニット226(SRU)と関連するディスプレイ228は、フレームバッファ224に結合されている。SRU226は、CPMC218とMIU222にも結合されている。
【0015】
CPU210は、コマンドシーケンスをアクセラレータ200に送信する。CPU210は、カリフォルニア、サンタクララのインテル社によって製造されているPentiumIIマイクロプロセッサのような汎用プロセッサであることが好ましい。本明細書では、コマンドには、1)グラフィックデータ及び/またはビデオデータを操作し、アニメーション(動画)にし、及び/または、表示する方法を指定する描画コマンド、2)ページ切換コマンド、及び、3)パーシング(parsing:解析)や実行タイミング命令、及び、ステータス通信命令を指定する制御コマンド、が含まれる。
【0016】
CPU210によって生成される典型的なコマンドシーケンスには、描画コマンドのリスト、垂直帰線の後バッファ切り換えを実行するようアクセラレータ200に通知する「ページ切換」コマンド、及び他の描画コマンドが含まれる。ページ切換(すなわち、バッファ切換)を高速に実行することによって、アクセラレータ200は、画像をディスプレイ228上でアニメーション化する。CPU210は、非同期で、すなわち、射ち放し方式(fire-and-forget)で、アクセラレータ200にコマンドを発行するのが好ましい。
【0017】
グラフィックスバス212は、CPU210からBIU214へコマンドを送信するが、それは、高速グラフィックスポート(AGP)のような専用のグラフィックス接続(graphics coupling)であることが好ましい。しかし、グラフィックスバス212は、標準の周辺機器相互接続(PCI)や他のタイプのバスまたは接続とすることも可能である。グラフィックスバス212は、また、コンピュータシステムのメインメモリ(不図示)からテクスチャや他のグラフィックデータを運搬すなわち伝送し、ホストCPU210にステータス情報を伝送する。本明細書では、「グラフィックス」という用語には、グラフィック情報とビデオ情報の両方が含まれている。従って、グラフィックスバス212は、ビデオデータとグラフィックデータの両方を伝送することができる。
【0018】
BIU214は、グラフィックスバス212を介して伝送されるデータやコマンドを受け取る。好適な実施態様では、BIU214は、当業者には容易に理解される方式で、バスマスタ方式(または、バスマスタリング)によりオンデマンドデータ転送を実行することができる。BIU214は、グラフィックスバス212を介して受け取った描画コマンドやページ切換コマンドをコマンド待ち行列216に、及び、テクスチャ情報のような他のデータをフレームバッファ224に送信する。コマンド待ち行列216は、CPU210から受信した描画コマンドを記憶する先入れ先出し(FIFO)バッファから構成される。コマンド待ち行列216は、それが本質的に満杯にならない程度、かつ、CPU210がコマンドを常にアクセラレータ200に送信することができる程度に十分な大きさであることが好ましい。
【0019】
本発明は、コマンド待ち行列216によって、CPU210から受け取ったページ切換コマンドをバッファリングする。後で詳述するページ切換コマンド待ち行列及び書き込み禁止処理により、アクセラレータ200は、垂直帰線が生じたか否かに拘わらず、CPU210が描画コマンド及びページ切換コマンドを連続的に発行できるようにする方法で、フレームバッファ224に対するデータ転送を管理する。
【0020】
CPMC218は、コマンド待ち行列216から各描画コマンドを読み出し、どのエンジン220にそのコマンドを与えるかを決定する。次に、CPMC218は、適切なエンジン220を起動して、そのエンジンに対してそのコマンドを送る。CPMC218は、CPMC218が別のエンジン220に与えるべきコマンドをパーズ(解析)するまで、そのエンジン220にコマンドを送り続ける。別のエンジンに与えるべきコマンドをパーズすると、CPMC218は、そのコマンドを別のエンジン220に送る。
【0021】
上述したように、好適な書き込み禁止(機能付き)アクセラレータ200は、2−Dエンジン220A、3−Dエンジン220B、及びビデオ伸長エンジン220Cを含む、複数のエンジン220を備える。2−Dエンジン220Aと3−Dエンジン220Bは、それぞれ、2−D描画コマンド、3−D描画コマンドを処理する。ビデオ伸長エンジン220Cは、カラー動画像データ圧縮標準規格(MPEG)に準拠したフォーマットのようなビデオフォーマットで記録されたデータを処理して伸長する。
【0022】
エンジン220がCPMC218からコマンドを受け取ると、エンジン220は、そのコマンドを処理して、その後、ディスプレイ228のある場所を更新するために使用されることになる表示データを生成する。2−Dエンジン及び3−Dエンジンからのグラフィック表示データを、ディスプレイ228の任意の所与の場所に用いることができるが、一般的に、そのデータは、エンジン220A、220Bによって、ラスター順、すなわち、左から右へ、上から下への順では生成されない。しかし、表示画像を水平ストリップ状に上から下に描画するストリップ描画法のような所定の描画技法をエンジン220A、220Bにより使用して、ラスター順でグラフィックデータを生成することができる。これとは対照的に、ビデオ伸長エンジン220Cからのビデオ表示データは、通常、ラスター順で生成される。
【0023】
MIU222は、フレームバッファ224へのエンジンのアクセスを制御する。フレームバッファ224は2つのバッファ230を備える。任意の所与の時間に、1方のバッファ230は、フロントバッファ230Aとして動作し、一方、他方のバッファはバックバッファ230Bとして動作する。フロントバッファ230Aは、現在表示中の表示データを格納し、バックバッファ230Bは、現在レンダリング(描画)中、すなわち「構成中」の表示データを格納する。
【0024】
エンジン220は、ハンドシェークプロトコルによってMIU222に表示データを送信するのが好ましい。まず、送信エンジン220は、それが書き込もうとしているバッファ230内の開始アドレス及び終了アドレスと共に、MIU222に書き込み要求を発行する。MIU222は、要求を処理し、後で詳述するようにアドレス範囲が書き込みに利用可能であれば、肯定応答信号をエンジン220に送信する。エンジン220は、肯定応答を受け取るまでアイドリング状態(休止状態)であり、肯定応答を受け取るとデータをバッファ230に書き込む。
【0025】
ページ切換コマンドの受信に先だって、エンジン220からの表示データを現在のバックバッファ230Bに書き込む間に、SRU226は、現在のフロントバッファ230Aから表示データを読み出して、ディスプレイ228に描画する。SRU226はフロントバッファ230Aから表示データをラスタ順で読み出し、従来方式で、そのデータをディジタル−アナログ変換器(不図示)に通し、当業者には容易に理解される方法で、そのデータをディスプレイ228に送る。
【0026】
ページ切換コマンドに応答して、本発明は、書き込み禁止モードに移行する。このモードでは、エンジン220は、現在のフロントバッファ230Aに表示データを書き込み、同時に、SRU226は、フロントバッファ230Aからの現在の画像データをディスプレイ228に送信する。書き込み禁止モードでは、フロントバッファ230Aへの書き込みは、ビームすなわち走査線の背後で行われ、これによって、表示画像に不連続やアーティファクトが生じるのを防止する。代替実施態様では、本発明は、常に書き込み禁止モードで動作することができ、従って、フロントバッファ230Aの表示されない部分への書き込みが防止される。しかしながら、当業者には理解されるように、そのような書き込みは、通常、ページ切換コマンド後にのみ試行される。
【0027】
SRU226は、書き込み禁止モードの間使用される最終アドレスレジスタ232と次アドレスレジスタ234を含む。最終アドレスレジスタ232は、現在のフロントバッファ230A内の最終ラインの直後のラインの開始アドレスを記憶するのが好ましく、次アドレスレジスタ234は、次に表示される走査線に対応するデータの開始アドレスを記憶するのが好ましい。当業者には、代替実施態様において、次アドレスレジスタ234ではなく、現アドレスレジスタを用いて、表示中の現在の走査線に対応するデータの開始アドレスを記憶することができるということが理解されよう。SRU226は、最終アドレスレジスタ232と次アドレスレジスタ234に加えて、表示アドレスレジスタ(DAR)236も備える。表示アドレスレジスタの内容によって、現在のフロントバッファ230Aを識別する。本発明によって実行される(次アドレスレジスタ234及び最終アドレスレジスタ232を書き込み禁止の間使用する方法を含む)詳細な動作については後述する。
【0028】
図3は、本発明に従う書き込み禁止(機能付き)アクセラレータの好適な動作方法を示すフローチャートである。この方法は、SRU226がフロントバッファ230Aの内容を使用してディスプレイ228に描画をするステップ310から開始する。SRU226は、前述したようにして、一度に一走査線分の表示データを読み出して出力するのが好ましい。SRU226の動作と並行して、CPMC218がコマンド待ち行列216に記憶されたコマンドを処理する。ページ切換コマンドの存在は、フロントバッファ230Aとバックバッファ230Bの役目が逆にされるということを示す。CPMC218がコマンド待ち行列216からページ切換コマンドを受け取るかまたは取り出す(312)と、CPMC218は、現在実行中のエンジン220、あるいは、フレームバッファ224にデータを書き込むことができる任意の他のエンジン220が休止状態になるのを待ち(314)、これによって、次に表示されることになる画像の構成を確実に完了することができる。次に、CPMC218は、ページ切換コマンドを受け取ったということをSRU226に通知する(316)。
【0029】
これに応答して、SRU226は、最終アドレスレジスタ232及び次アドレスレジスタ234の値を初期化または設定し、MIU222に書き込み禁止モードに入るように通知し、MIU222に次アドレスレジスタ234の内容を提供する(318)。次に、SRU226は、フロントバッファ230Aからの表示データをディスプレイ228に送り続ける。SRU226が表示データのラインを読み出すたびに、SRU226は、次アドレスレジスタの値を増分して、MIU222に更新した次アドレスの値を送信するのが好ましい(320)。当業者には理解されるように、代替実施態様では、SRU226は、バイト毎またはラインのグループ毎のように、ライン毎のデータ転送に関連したものとは異なる特定の、あるいは可変の周期で、更新した次アドレスの値をMIU222に送信することができる。こうして、SRU226がフロントバッファ230Aの中を移動、すなわち、前進するにつれて、禁止されたアドレス範囲は小さくなる。
【0030】
MIU222は、次アドレス値によって、書き込みが禁止される禁止アドレスとして指定されたアドレス(すなわち、次アドレスレジスタ234及び最終アドレスレジスタ232の内容によって規定される範囲内のアドレス)以外のアドレスを処理する。MIU222は、エンジン220から受け取った書き込み要求のアドレス範囲をSRU226から受け取った次アドレス値と照合して調べる。禁止範囲以外のアドレスへの書き込み、すなわち、ディスプレイ228にすでに表示データが転送済みであるフロントバッファのアドレスに対する書き込みは、実施が許可される(324)。さらに、Zバッファのようなフレームバッファ224の他の部分への書き込みも実施が許可される。
【0031】
エンジン220が禁止アドレス範囲内のアドレスに書き込もうとしている場合は、MIU222は、エンジン220が書き込もうとしているアドレスより大きい(または、アドレス以外の)次アドレス値を、SRU226が発行または提供するまで待つのが好ましく、その後に、MIU222は、エンジン220にハンドシェーキング信号を提供し、これによって、エンジンがフロントバッファ230Aに書き込むことができるようにしている。
【0032】
代替実施態様では、MIU222は、禁止されたエンジン220が休止状態の間、他のエンジン220からの有効な書き込みを受け付けることができる。他の代替実施態様では、MIU222は、垂直帰線が生じ、フロントバッファ230Aとバックバッファ230Bが交換されるまで、禁止されたエンジン220からのハンドシェーキング要求に応答しない(326)。
【0033】
SRU226が現在のフロントバッファ230Aからディスプレイ228に最終ラインの表示データを伝送し、かつ、垂直帰線が生じた後に、書き込み禁止モードは終了する。この場合には、SRU226は、DAR236の内容を更新して、MIU222に書き込み禁止モードから出るように通知する(328)。好適な方法では、次に、ステップ310に戻る。
【0034】
本発明の1つの利点は、エンジン220が、走査線すなわちビームの前に書き込みを行うことなく可能な限り多くのコマンドを処理し、これによって、表示画像が変化しないままであることを保証するということである。従って、アクセラレータ200により、コンピュータシステムの他の部分との並行処理を最大にすることができる。本発明の他の利点は、CPMC218は、コマンドをパーズして、エンジンが書き込もうとするアドレス範囲を決定するのではなく、SRU226にページ切換を通知して、適切なエンジン220に次のコマンドを送信するだけでよいので、そのハードウエアが簡単であるということである。これに関連して生じる利点は、本発明が、任意のタイプのグラフィックスエンジンやビデオエンジン220で動作するということである。さらに別の利点は、CPU210が、垂直帰線がいつ生じたかを決定するためにアクセラレータ200をポーリングする必要がなく、これよって、グラフィックスバスの帯域幅の効率的な利用が促進され、かつ、CPUの処理帯域幅が消費されるのを回避できるということである。
【0035】
所定の好適な実施態様を参照して本発明を説明したが、種々の変更や修正を実施できることが当業者には理解されよう。例えば、本発明の教示するところを、トリプルバッファシステムに適用することができる。この場合、3つのバッファのうちの1つのバッファが任意の所与の時間にフロントバッファとして機能する。トリプルバッファ方式に適用する場合は、本発明は、上述したのと類似の方法で、ページ切換コマンドの発行後であって垂直帰線の前に、ビームすなわち走査線の後においてフロントバッファへの書き込みを行う。本明細書に記載した事項は、本発明に対するこれらの変更や修正も提供するものであり、請求の範囲によってのみ制限されるものである。
【図面の簡単な説明】
【図1】 デュアルバッファ式アクセラレータ及びディスプレイを有するコンピュータシステムを示す高レベルのブロック図である。
【図2】 本発明の好適な実施態様に従って構成された、コンピュータシステムの選択されたコンポーネントと、書き込み禁止機能付きアクセラレータを示すブロック図である。
【図3】 本発明に従う好適な書き込み禁止機能付きアクセラレータの動作を示すフローチャートである。

Claims (15)

  1. 描画コマンドに応答して、ラスター順に走査されるディスプレイを有するコンピュータシステムの表示メモリを更新するための方法であって、
    前記表示メモリは、ある時点で、一方は現在表示中の表示データを格納するフロントバッファとして動作し、他方は現在構成中の表示データを格納するバックバッファとして動作する2つのバッファを備えており、
    前記方法は、前記フロントバッファとして動作しているバッファを更新する過程を有し、該更新する過程は、
    前記フロントバッファの第1のアドレスからディスプレイに表示データを読み出すステップと、
    描画コマンドが、前記ラスター順において前記第1のアドレスを超える前記フロントバッファの第2のアドレスに書き込もうとしているか否かを判定するステップと、
    前記第2のアドレスが前記ラスター順において前記第1のアドレスを超えた場合には、前記第2のアドレスへの書き込みを禁止するステップと
    前記第2のアドレスへの書き込みを禁止している間に、前記ラスター順に前記第1のアドレスを超えない前記フロントバッファの別のアドレスへの書き込みを許可するステップとを含むことを特徴とする方法。
  2. 前記禁止するステップが、前記ラスター順において前記第2のアドレスを超えるアドレスからの表示データが、前記フロントバッファから前記ディスプレイに読み出されるまで、前記第2のアドレスへの書き込みを禁止するステップである、請求項1の方法。
  3. 前記禁止するステップが、垂直帰線が生じるまで、前記第2のアドレスへの書き込みを禁止するステップである、請求項1の方法。
  4. 表示データが、前記フロントバッファから前記ディスプレイに読み出されるに従い、前記第1のアドレスが増加
    前記禁止するステップが、
    前記第1のアドレスの増加を監視するステップと、
    前記第1のアドレスが前記第2のアドレスを超えて増加したときに、前記第2のアドレスに書き込むステップをさらに含む、請求項1の方法。
  5. 前記判定するステップが、
    描画コマンドが書き込もうとしている目的アドレス範囲を示す信号を受け取るステップと、
    前記フロントバッファの禁止アドレス範囲を決定するステップと、
    前記目的アドレス範囲内のアドレスが、前記禁止アドレス範囲内にあるか否かを判定するステップからなる、請求項1の方法。
  6. 禁止アドレス範囲を決定する前記ステップが、
    第1のアドレスを決定するステップであって、該第1のアドレスから、表示データが前記フロントバッファから前記ディスプレイに読み出されている、ステップと、
    前記フロントバッファの最終アドレスを決定するステップからなり、
    前記禁止アドレス範囲が、前記第1のアドレスと前記最終アドレスによって画定される、請求項の方法。
  7. 次の描画コマンドが書き込もうとしている前記表示メモリのバッファを識別するページ切換コマンドを受け取るステップと、
    前記次の描画コマンドが書き込もうとしている前記表示メモリのバッファが、前記フロントバッファであるか否かを判定するステップからさらになる、請求項1の方法。
  8. ラスター順に走査されるディスプレイの表示を更新するためのアクセラレータであって、
    ディスプレイに表示するための表示データを格納する表示メモリであって、ある時点で、一方は現在表示中の表示データを格納するフロントバッファとして動作し、他方は現在構成中の表示データを格納するバックバッファとして動作する2つのバッファを備える、該表示メモリと、
    前記フロントバッファの表示データを読み出して、前記ディスプレイにその表示データを書き込むために、前記フロントバッファと前記ディスプレイに結合された画面リフレッシュユニットと、
    表示データを生成し、前記フロントバッファに生成した表示データを書き込むために、描画コマンドに応答する第1のエンジンと、
    前記第1のエンジンが、前記ラスター順において前記画面リフレッシュユニットによって読み出されているアドレスを超えて前記フロントバッファに書き込むのを禁止するために、前記フロントバッファと前記第1のエンジンに結合されたメモリインターフェースユニット
    表示データを生成し、生成した表示データを前記フロントバッファに書き込むために、前記メモリインターフェースユニットに結合された、描画コマンドに応答する第2のエンジンとを有し、
    前記メモリインターフェースユニットは、前記第1のエンジンの書き込みが禁止されている間に、前記ラスター順において前記画面リフレッシュユニットによって読み出されているアドレスを越えない前記フロントバッファの他のアドレスに、前記第2のエンジンが書き込むことを可能とすることを特徴とするアクセラレータ。
  9. 描画コマンドとページ切換コマンドを格納するためのコマンド待ち行列であって、前記第1のエンジンに結合されたコマンド待ち行列、をさらに備える、請求項のアクセラレータ。
  10. 描画コマンドをパーズして送信するために、前記コマンド待ち行列と前記第1のエンジンに結合されたコマンド解析ユニットをさらに備える、請求項のアクセラレータ。
  11. 処理ユニットからコマンドを受け取って、該コマンドを前記コマンド待ち行列に格納するために、前記コマンド待ち行列に結合されたバスインターフェースユニットをさらに備える、請求項10アクセラレータ。
  12. 前記画面リフレッシュユニットが、該画面リフレッシュユニットによって現在読み出されている表示データに対応するアドレスを格納する第1のアドレスレジスタを備える、請求項のアクセラレータ。
  13. 前記画面リフレッシュユニットが、前記フロントバッファ内の最終アドレスに対応するアドレスを格納する第2のアドレスレジスタをさらに備える、請求項12のアクセラレータ。
  14. 前記第1のエンジンが、前記ラスター順において前記画面リフレッシュユニットによって読み出されているアドレスを超えた目的アドレスに書き込もうとしている場合は、前記画面リフレッシュユニットが、前記ラスター順において前記目的アドレスを超えるアドレスから表示データを読み出すまで、前記メモリインターフェースユニットにより、前記第1のエンジンの書き込みが禁止される、請求項のアクセラレータ。
  15. 前記第1のエンジンが、前記ラスター順において前記画面リフレッシュユニットによって読み出されているアドレスを超えた目的アドレスに書き込もうとしている場合は、垂直帰線が生じるまで、前記メモリインターフェースユニットが、前記第1のエンジンの書き込みを禁止する、請求項のアクセラレータ。
JP2000547551A 1998-05-04 1999-05-03 書き込み禁止機能付きメモリインターフェースを有するグラフィックス及びビデオ用ダブルバッファ式アクセラレータとその実施方法 Expired - Fee Related JP4487166B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US8427398P 1998-05-04 1998-05-04
US60/084,273 1998-05-04
US09/122,422 US6128026A (en) 1998-05-04 1998-07-24 Double buffered graphics and video accelerator having a write blocking memory interface and method of doing the same
US09/122,422 1998-07-24
PCT/US1999/009683 WO1999057645A1 (en) 1998-05-04 1999-05-03 Double buffered graphics and video accelerator having a write blocking memory interface and method of doing the same

Publications (2)

Publication Number Publication Date
JP2002513955A JP2002513955A (ja) 2002-05-14
JP4487166B2 true JP4487166B2 (ja) 2010-06-23

Family

ID=26770785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000547551A Expired - Fee Related JP4487166B2 (ja) 1998-05-04 1999-05-03 書き込み禁止機能付きメモリインターフェースを有するグラフィックス及びビデオ用ダブルバッファ式アクセラレータとその実施方法

Country Status (6)

Country Link
US (1) US6128026A (ja)
EP (1) EP1092192B1 (ja)
JP (1) JP4487166B2 (ja)
AU (1) AU3969799A (ja)
DE (1) DE69940062D1 (ja)
WO (1) WO1999057645A1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6288729B1 (en) * 1999-02-26 2001-09-11 Ati International Srl Method and apparatus for a graphics controller to extend graphics memory
US6424320B1 (en) * 1999-06-15 2002-07-23 Ati International Srl Method and apparatus for rendering video
US6853381B1 (en) * 1999-09-16 2005-02-08 Ati International Srl Method and apparatus for a write behind raster
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6785336B1 (en) 2000-01-24 2004-08-31 Ati Technologies, Inc. Method and system for retrieving adaptation field data associated with a transport packet
US6804266B1 (en) 2000-01-24 2004-10-12 Ati Technologies, Inc. Method and apparatus for handling private data from transport stream packets
US6885680B1 (en) 2000-01-24 2005-04-26 Ati International Srl Method for synchronizing to a data stream
US6763390B1 (en) 2000-01-24 2004-07-13 Ati Technologies, Inc. Method and system for receiving and framing packetized data
US6778533B1 (en) 2000-01-24 2004-08-17 Ati Technologies, Inc. Method and system for accessing packetized elementary stream data
US8284845B1 (en) 2000-01-24 2012-10-09 Ati Technologies Ulc Method and system for handling data
US6988238B1 (en) 2000-01-24 2006-01-17 Ati Technologies, Inc. Method and system for handling errors and a system for receiving packet stream data
US6999424B1 (en) 2000-01-24 2006-02-14 Ati Technologies, Inc. Method for displaying data
US7366961B1 (en) 2000-01-24 2008-04-29 Ati Technologies, Inc. Method and system for handling errors
US6747656B2 (en) * 2000-04-07 2004-06-08 Sony Corporation Image processing apparatus and method of the same, and display apparatus using the image processing apparatus
US6747654B1 (en) * 2000-04-20 2004-06-08 Ati International Srl Multiple device frame synchronization method and apparatus
US7113546B1 (en) 2000-05-02 2006-09-26 Ati Technologies, Inc. System for handling compressed video data and method thereof
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US7576748B2 (en) 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US7196710B1 (en) 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US7095945B1 (en) 2000-11-06 2006-08-22 Ati Technologies, Inc. System for digital time shifting and method thereof
TW509879B (en) * 2001-01-29 2002-11-11 Silicon Integrated Sys Corp Method and apparatus for minimizing the idle time of a graphics engine by using rendering control before flipping frame buffer
WO2005015504A1 (ja) * 2003-08-07 2005-02-17 Renesas Technology Corp. 画像処理用半導体プロセッサ
US20050060420A1 (en) * 2003-09-11 2005-03-17 Kovacevic Branko D. System for decoding multimedia data and method thereof
EP1889252A1 (en) 2005-05-23 2008-02-20 Freescale Semiconductor, Inc. Method and device for processing image data stored in a frame buffer
US7397478B2 (en) 2005-09-29 2008-07-08 Intel Corporation Various apparatuses and methods for switching between buffers using a video frame buffer flip queue
US7929599B2 (en) 2006-02-24 2011-04-19 Microsoft Corporation Accelerated video encoding
JP2008097401A (ja) * 2006-10-13 2008-04-24 Seiko Epson Corp 電子表示装置
US20100265260A1 (en) * 2009-04-17 2010-10-21 Jerzy Wieslaw Swic Automatic Management Of Buffer Switching Using A Double-Buffer
US8368707B2 (en) * 2009-05-18 2013-02-05 Apple Inc. Memory management based on automatic full-screen detection
US20110317762A1 (en) * 2010-06-29 2011-12-29 Texas Instruments Incorporated Video encoder and packetizer with improved bandwidth utilization
KR101308102B1 (ko) * 2012-02-24 2013-09-12 (주)유브릿지 휴대 단말 및 그 제어 방법
CN104641412B (zh) * 2012-09-05 2018-05-25 Ati科技无限责任公司 用于选择性显示刷新的方法和设备
KR20150093047A (ko) * 2014-02-06 2015-08-17 삼성전자주식회사 그래픽스 데이터를 처리하는 방법 및 장치
US11164496B2 (en) * 2019-01-04 2021-11-02 Channel One Holdings Inc. Interrupt-free multiple buffering methods and systems
BR112022025581A2 (pt) * 2020-06-23 2023-01-03 Qualcomm Inc Redução de demanda de potência para geração de imagem para visores
US20240103762A1 (en) * 2022-09-23 2024-03-28 Western Digital Technologies, Inc. Automated Fast Path Processing

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5799686A (en) * 1980-12-11 1982-06-21 Omron Tateisi Electronics Co Display controller
JP2541539B2 (ja) * 1987-02-13 1996-10-09 日本電気株式会社 図形処理装置
SE464265B (sv) * 1990-01-10 1991-03-25 Stefan Blixt Grafikprocessor
US5371513A (en) * 1990-05-24 1994-12-06 Apple Computer, Inc. Apparatus for generating programmable interrupts to indicate display positions in a computer
JP3350043B2 (ja) * 1990-07-27 2002-11-25 株式会社日立製作所 図形処理装置及び図形処理方法
GB2247139B (en) * 1990-08-09 1994-07-20 Research Machines Ltd Scheduling drawing operations of moving images
GB2250668B (en) * 1990-11-21 1994-07-20 Apple Computer Tear-free updates of computer graphical output displays
US5243447A (en) * 1992-06-19 1993-09-07 Intel Corporation Enhanced single frame buffer display system
US5519825A (en) * 1993-11-16 1996-05-21 Sun Microsystems, Inc. Method and apparatus for NTSC display of full range animation
US5450542A (en) * 1993-11-30 1995-09-12 Vlsi Technology, Inc. Bus interface with graphics and system paths for an integrated memory system
US5764964A (en) * 1994-10-13 1998-06-09 International Business Machines Corporation Device for protecting selected information in multi-media workstations
US5657478A (en) * 1995-08-22 1997-08-12 Rendition, Inc. Method and apparatus for batchable frame switch and synchronization operations
US5796413A (en) * 1995-12-06 1998-08-18 Compaq Computer Corporation Graphics controller utilizing video memory to provide macro command capability and enhanched command buffering
US5790138A (en) * 1996-01-16 1998-08-04 Monolithic System Technology, Inc. Method and structure for improving display data bandwidth in a unified memory architecture system
US5966142A (en) * 1997-09-19 1999-10-12 Cirrus Logic, Inc. Optimized FIFO memory

Also Published As

Publication number Publication date
EP1092192B1 (en) 2008-12-10
EP1092192A1 (en) 2001-04-18
DE69940062D1 (de) 2009-01-22
JP2002513955A (ja) 2002-05-14
AU3969799A (en) 1999-11-23
US6128026A (en) 2000-10-03
WO1999057645A1 (en) 1999-11-11
EP1092192A4 (en) 2001-11-14

Similar Documents

Publication Publication Date Title
JP4487166B2 (ja) 書き込み禁止機能付きメモリインターフェースを有するグラフィックス及びビデオ用ダブルバッファ式アクセラレータとその実施方法
US5657478A (en) Method and apparatus for batchable frame switch and synchronization operations
US5572657A (en) Methods and apparatus for graphics block movement in a multi-tasking windows system
JP3833483B2 (ja) 画像表示システム、画像データ送信装置、表示画像データ送信方法、差分転送方法、プログラム、および記憶媒体
US6747645B1 (en) Graphics memory system that utilizes detached-Z buffering in conjunction with a batching architecture to reduce paging overhead
US6252600B1 (en) Computer graphics system with dual FIFO interface
KR19980025110A (ko) 데이타 프로세서 및 그래픽 프로세서
JP2004280125A (ja) ビデオ/グラフィックメモリシステム
JPH0468655B2 (ja)
KR980700629A (ko) 메모리 대역폭 최적화 (memory bandwidth optimization)
US6756986B1 (en) Non-flushing atomic operation in a burst mode transfer data storage access environment
JPH01210990A (ja) 表示装置
JP3707950B2 (ja) コンピュータ・グラフィックス用フレーム・バッファ転送方法
US5812150A (en) Device synchronization on a graphics accelerator
US6414689B1 (en) Graphics engine FIFO interface architecture
JP3683657B2 (ja) グラフィックス表示装置およびグラフィックスプロセッサ
JPH10326342A (ja) メモリ制御回路
WO1999040518A1 (en) Method and apparatus to synchronize graphics rendering and display
EP0410783B1 (en) Methods and apparatus for accelerating windows in graphics systems
JP3454113B2 (ja) グラフィックス表示装置
JPH06282515A (ja) データ処理装置
JPH11167096A (ja) 表示制御装置及びその方法
EP0341670B1 (en) Processing time allocation system and method
JP2671826B2 (ja) ビデオ表示装置
JP3649463B6 (ja) Crtメモリ・バッファの同期クリア回路

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060403

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060403

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20070706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100125

TRDD Decision of grant or rejection written
RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20100226

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100302

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100317

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4487166

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

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

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

LAPS Cancellation because of no payment of annual fees