JP3599728B2 - ゲーム用エミュレータプログラム - Google Patents

ゲーム用エミュレータプログラム Download PDF

Info

Publication number
JP3599728B2
JP3599728B2 JP2002269184A JP2002269184A JP3599728B2 JP 3599728 B2 JP3599728 B2 JP 3599728B2 JP 2002269184 A JP2002269184 A JP 2002269184A JP 2002269184 A JP2002269184 A JP 2002269184A JP 3599728 B2 JP3599728 B2 JP 3599728B2
Authority
JP
Japan
Prior art keywords
image
game
line
resolution
thinning
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 - Lifetime
Application number
JP2002269184A
Other languages
English (en)
Other versions
JP2004105311A (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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2002269184A priority Critical patent/JP3599728B2/ja
Priority to US10/335,880 priority patent/US7025677B2/en
Publication of JP2004105311A publication Critical patent/JP2004105311A/ja
Application granted granted Critical
Publication of JP3599728B2 publication Critical patent/JP3599728B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/92Video game devices specially adapted to be hand-held while playing
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/95Storage media specially adapted for storing game information, e.g. video game cartridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4023Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/204Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform the platform being a handheld device
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/206Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ゲーム用エミュレータプログラムに関し、より特定的には、表示画面の解像度が元のゲーム装置よりも低いゲーム装置において用いられるゲーム用エミュレータプログラムに関する。
【0002】
【従来の技術】
新型の携帯ゲームは、その技術進歩により、旧式のビデオゲーム機などをエミュレーションすることができるほど高性能化してきている。そこで、最近の携帯ゲーム機の一例であるゲームボーイアドバンス(登録商標)上において、旧式のビデオゲーム機の一例であるファミリーコンピュータ(登録商標)をエミュレーションさせるためのエミュレータプログラムの開発が着手されている。このエミュレータプログラムをゲームボーイアドバンス上で動作させることにより、ファミリーコンピュータ用のゲームソフトのプレイを可能にさせるものである。
【0003】
なお、従来におけるエミュレーションの技術としては、他機種のゲーム装置に対応するゲームソフトを携帯端末装置において再生可能とするものがある(例えば、特許文献1参照)。
【0004】
【特許文献1】
特開2002−27038号公報
【0005】
【発明が解決しようとする課題】
しかしながら、ファミリーコンピュータ(登録商標)は、テレビジョン受像機に接続されるものであり、そのゲーム画像を240×256(垂直×水平)ドットの解像度で生成するものであった。一方、ゲームボーイアドバンス(登録商標)に備える液晶モニタは、それよりも低解像度の160×240(垂直×水平)ドットの解像度である。つまり、ファミリーコンピュータ(登録商標)のゲーム画像をゲームボーイアドバンス(登録商標)の液晶モニタにそのまま表示すると、特に上下の40本づつまたは下側の80本の水平ラインが表示されず、この表示されない部分ではゲームができないという問題が生じている。以上のように、特定のゲーム装置に対応するゲームソフトを他のゲーム装置で処理する場合には、各ゲーム装置の表示画面の解像度が異なることに起因する問題が生じる。しかし、この問題についての有効な解決手段は従来提案されていない。
【0006】
また、上記問題の解決策として、液晶モニタの水平ラインの80本を均等に全体から均等に間引くことにより、垂直方向の解像度を合わせることが考えられる。しかし、この場合、間引かれた水平ライン分の画像が欠落するため、ファミリーコンピュータ(登録商標)のオリジナルのゲームの雰囲気を損なうという問題がある。
【0007】
なお、画像の特定画素の周囲の画素情報の平均をとって画素数を減らす解像度の一般的な画像処理方法も考えられるが、これらの画像処理は負担が大きいため、リアルタイムでゲームを行わせかつ他種のゲーム機をエミュレーションするような重い処理を行うゲーム用のエミュレータプログラムには向かないという問題がある。
【0008】
それ故に、本発明の目的は、解像度の低いゲーム装置においてゲームをプレイする場合でも、オリジナルに近いゲーム画面を再現することができるゲーム用エミュレータプログラムを提供することである。
【0009】
また、他の目的は、ゲーム装置が少ない処理負担でゲーム処理を行うことができるゲーム用エミュレータプログラムを提供することである。
【0010】
【課題を解決するための手段および発明の効果】
第1の発明は、第1解像度の表示装置を利用する第1ゲーム機(実施例との対応関係を示せば、例えば、他種ゲーム機)用のゲームプログラム(ゲームプログラム32)を、当該第1解像度よりも低い第2解像度の表示装置を利用する第2ゲーム機(携帯ゲーム機1)上において実行させるためのゲーム用エミュレータプログラム(エミュレータプログラム31)である。ゲームプログラムは、背景画像のデータ(背景画像データ33)と、オブジェクト画像(オブジェクト画像データ34)のデータをと含む。背景画像のデータは、ゲーム画像の背景を構成する第1解像度で構成される画像データである。オブジェクト画像は、背景画像上に重ねて表示される画像データである。ゲーム用エミュレータプログラムは、ゲームプログラムを実行してゲーム画像を生成するときの所定のフレームの処理において、以下を第2ゲーム機に実行させる。すなわち、まず、背景画像の水平ラインおよび垂直ラインの少なくともいずれか一方について、画像をライン単位で間引くための第1間引対象ラインを決定する(ステップ31,35を実行するCPU201;以下、単にステップ番号のみを示す。)次に、第1間引対象ラインの画像を第1背景画像から間引きながら前記第1背景画像の各ライン単位の画像を順次出力し、第1背景画像を第2解像度に変換する(ステップ36)。次に、出力されるライン単位の画像に前記オブジェクト画像が重なるとき、当該オブジェクト画像のライン単位の画像を重ねたライン単位の第1ゲーム画像を生成する(ステップ38)。その後、第2解像度の表示装置に第1ゲーム画像をライン単位で順次供給する(ステップ38)。これにより、前記第2解像度の表示装置には、第1ゲーム画面が表示される(ステップ39)。そして、ゲーム用エミュレータプログラムは、所定のフレームに連続する次のフレームの処理において、以下の処理を第2ゲーム機に実行させる。まず、第1間引対象ラインに隣合ういずれか一方のラインを第2間引対象ラインとして決定する(ステップ31,35)。次に、第2間引対象ラインの画像を第1背景画像から間引きながら、前記第1背景画像の各ライン単位の画像を順次出力することにより、当該第1背景画像を第2解像度に変換する(ステップ36)。次に、出力されるライン単位の画像にオブジェクト画像が重なるとき、オブジェクト画像のライン単位の画像を重ねた第2ゲーム画像をライン単位で生成する(ステップ38)。その後、第2解像度の表示装置に第2ゲーム画像をライン単位で順次供給する(ステップ38)。これにより、第2解像度の表示装置には、第2解像度の第2ゲーム画像が表示される(ステップ39)。
【0011】
この発明によれば、所定のフレームと次のフレームとによって、オリジナルのゲーム画像のほぼすべての画像情報を表示させることができるので、表示装置が低解像度になっても旧式のゲーム機用ソフトのオリジナルの雰囲気を壊さないゲーム用エミュレータプログラムを提供することができる。また、ゲーム中にプレイヤが注視するオブジェクト画像に対しては間引き処理をしないので、オブジェクト画像が部分的にちらつくことなく見やすくすることができる。また、処理負担の大きい画素単位の圧縮処理などを行わないので、ゲーム装置が少ない処理負担でゲーム処理を行うことができ、ゲーム機用のエミュレータプログラムとして非常に有効である。さらに、ライン単位ごとにリアルタイムで間引き処理をしながら表示装置にデータを供給するので、フレームメモリ間のコピー処理などが発生させずに、より高速に動作させることができる。
【0012】
第2の発明は、第1解像度の表示装置を利用する第1ゲーム機用のゲームプログラムを、第1解像度よりも低い第2解像度の表示装置を利用する第2ゲーム機上において実行させるためのゲーム用エミュレータプログラムである。ここで、ゲームプログラム(ゲームプログラム32)は、ゲーム画像の背景を構成する第1解像度の第1背景画像のデータ(背景画像データ33)と、当該第1背景画像上に重ねて表示されるオブジェクト画像のデータ(オブジェクト画像データ34)とを含んでいる。ゲーム用エミュレータプログラムは、以下を第2ゲーム機に実行させる。すなわち、第2ゲーム機は、第1背景画像の水平ラインおよび垂直ラインの少なくともいずれか一方について、ライン単位の画像を間引くための第1間引対象ラインを決定する(ステップ31,82)。また、第2ゲーム機は、第1間引対象ラインの画像を第1背景画像から間引くことにより、当該第1背景画像を第2解像度の第2背景画像に変換する(ステップ84)。さらに、第1間引対象ラインに隣合ういずれか一方のラインを第2間引対象ラインとして決定する(ステップ31,82)。また、第2間引対象ラインの画像を第1背景画像から間引くことにより、当該第1背景画像を第2解像度の第3背景画像に変換する(ステップ84)。また、第2背景画像にオブジェクト画像を重ねた第1ゲーム画像を生成する(ステップ84)。また、第3背景画像にオブジェクト画像を重ねた第2ゲーム画像を生成する(ステップ38)。また、第1ゲーム画像と第2ゲーム画像とをフレーム毎に交互に第2解像度の表示装置に表示させる(ステップ86)。
【0013】
この発明によれば、所定のフレームと次のフレームとによって、オリジナルのゲーム画像のほぼすべての画像情報を表示させることができるので、表示装置が低解像度になっても旧式のゲーム機用ソフトのオリジナルの雰囲気を壊さないゲーム用エミュレータプログラムを提供することができる。また、ゲーム中にプレイヤが注視するオブジェクト画像に対しては間引き処理をしないので、オブジェクト画像が部分的にちらつくことなく見やすくすることができる。また、処理負担の大きい画素単位の処理を行わず、ゲーム装置が少ない処理負担でゲーム処理を行うことができるので、ゲーム機用のエミュレータプログラムとして非常に有効である。
【0014】
また、好ましくは(請求項3に記載の発明)、ゲーム用エミュレータプログラムは、以下を第2ゲーム機にさらに実行させる。すなわち、第1解像度の背景画像をライン単位で間引くための対象ラインを決める要素となる第1補正値群(補正値群46)を生成するステップを、第1間引対象ラインを決定するステップが実行される前に第2ゲーム機にさらに実行させる。また、第1解像度の背景画像をライン単位で間引くための対象ラインを決める要素となる補正値群であって第1補正値群とは異なる第2補正値群(補正値群46)を生成するステップを、第2間引対象ラインを決定するステップが実行される前に第2ゲーム機にさらに実行させる。このとき、第1補正値群の各値と、第1解像度の背景画像の水平ラインを指定するための値とに基づいて、第1間引対象ラインを決定する。また、第2補正値群の各値と、第1解像度の背景画像の水平ラインを指定するための値とに基づいて、第間引対象ラインを決定する。
【0015】
これによれば、予め算出しておいた補正値群によって間引き対象ラインをリアルタイムで決めている。従って、間引き対象ラインか否かをそのつど計算する処理に比べて、より高速化を図ることができる。
【0016】
また、一定本数のライン間隔毎に第1間引対象ラインを決定してもよい(請求項4に記載の発明)。これによって、画像全体から均等にラインが間引かれることとなる。ここで、1部分に集中して間引かれると、各フレームの画像が大きく異なるものになる場合がある。かかる場合、プレイヤにとっては見づらい画面となるおそれがある。これに対して、一定本数のライン間隔毎に第1間引対象ラインを決定することによって、上記問題を解決することができる。
【0017】
また、好ましくは(請求項5に記載の発明)、ゲーム用エミュレータプログラムは、第1背景画像上に重ねられるオブジェクト画像の位置、および、第1解像度と第2解像度との比率に基づいて、第2背景画像に変換した後の背景画像の上に重ねるオブジェクト画像の位置を決定するステップ(ステップ4)を、第1ゲーム画像を生成するステップおよび第2ゲーム画像を生成するステップが実行される前に第2ゲーム機にさらに実行させる。
【0018】
これによって、オブジェクト画像の表示位置は、背景画像の変換の度合に適合して変化し、第2解像度の背景画像において表示位置が決定される。従って、オブジェクト画像の表示位置が背景画像と大きくずれることがなく、オリジナルのゲーム画面と同様の操作感覚を提供することができる。
【0019】
また、好ましくは(請求項6に記載の発明)、第2の解像度の表示装置は、ノンインターレス方式の表示装置である。
【0020】
また、第1間引対象ラインを水平ラインとしてもよいし(請求項7に記載の発明)、第1間引対象ラインを水平ラインおよび垂直ラインの両方としてもよい(請求項8に記載の発明)。
【0021】
また、好ましくは(請求項9に記載の発明)、ゲーム用エミュレータプログラムは、以下を第2ゲーム機にさらに実行させる。すなわち、第1間引対象ラインの画像をオブジェクト画像から間引くことにより、当該オブジェクト画像を第2オブジェクト画像に変換させるステップを、第1ゲーム画像を生成するステップが実行される前に第2ゲーム機にさらに実行させる。なお、これは、第1の発明においては、上述した所定のフレームの処理において行われる。また、第2間引対象ラインの画像をオブジェクト画像から間引くことにより、当該オブジェクト画像を第3オブジェクト画像に変換させるステップを、第2ゲーム画像を生成するステップが実行される前に第2ゲーム機にさらに実行させる。なお、これは、第1の発明においては、上述した所定のフレームに連続する次のフレームの処理において行われる。さらに、このとき、第2背景画像上に第2オブジェクト画像を重ねて表示される第1ゲーム画像を生成し、第3背景画像上に第3オブジェクト画像を重ねて表示される第2ゲーム画像を生成する。
【0022】
これによって、オブジェクト画像についても背景画像と同様の処理が行われるので、オブジェクトの位置を解像度にあわせて変化させる処理が不要になる。
【0023】
また、以上のゲーム用エミュレータプログラムは、コンピュータ読み取り可能な記録媒体に記録されていてもよい(請求項10に記載の発明)。
【0024】
【発明の実施の形態】
図1は、本発明における第2ゲーム機の一実施形態に係る携帯ゲーム機の概観図である。なお、第2ゲーム機は携帯型のゲーム機に限定されるものではなく、例えば据置型のビデオゲーム機や、ゲームプログラムを実行可能な携帯電話,PDA(Personal Digital Assistance)などのにも適用することができる。
【0025】
携帯ゲーム機1(例えば本願出願人が製造販売している「ゲームボーイアドバンス(登録商標)」)は、表示手段である液晶モニタ11(以下、単に「LCD11」と呼ぶ)およびプレイヤによって操作される複数個の操作ボタン12a〜g等を備える。複数個の操作ボタン12a〜gは、液晶モニタ11の左側に設けられた十字ボタン12a、スタートボタン12bおよびセレクトボタン12c、液晶モニタ11の右側に設けられたAボタン12dおよびBボタン12e、左肩側に設けられたLボタン12fならびに右肩側に設けられたRボタン12gで構成される。これらの操作ボタン12a〜gは、プレイヤによる操作に応じて、ゲーム処理に関する所定の操作指示を与える。さらに、携帯ゲーム機1には、本発明における第1ゲーム機の一例の他種のゲーム機用のゲームプログラム(例えば本願出願人が製造販売している「ファミリーコンピュータ(登録商標)」)および他種のゲーム機をエミュレーションさせるためのエミュレータプログラム等を記憶する記憶媒体の一例のゲームカートリッジ(図2参照)を装着可能するための装着口がその背面側に設けられている。
【0026】
図2は、携帯ゲーム機1およびゲームカートリッジの構成を示すブロック図である。図2に示すように、携帯ゲーム機1は、エミュレータプログラムを直接実行するためのCPU201を備える。ここで、CPU201は、エミュレータプログラムを通じて間接的に他種ゲームプログラムを実行する。他種ゲームプログラムとは、携帯ゲーム機1とは異なるアーキテクチャを採用するゲーム機(以下、「他種ゲーム機」と呼ぶ。)で実行可能であり、本携帯ゲーム機1では直接実行不可能なゲームプログラムである。つまり、他種ゲームプログラムは、エミュレータプログラムによって実行されるプログラムである。CPU201には、ブートROM202、ワークメモリ203、DMAC(Direct Memory Access Controller)204、通信ポート205、外部メモリI/F206、操作ボタン208、背景処理ユニット(BG処理ユニット)210、オブジェクト処理ユニット(OBJ処理ユニット)212および画像合成処理ユニット213が接続される。また、BG処理ユニット210には、BG用VRAM209が接続される。OBJ処理ユニット212には、OBJ用VRAM211が接続される。画像合成処理ユニット213には、LCD11が接続される。さらに、本実施例では、外部メモリI/F206には、ゲームカートリッジ207が接続される。このゲームカートリッジ207は、他種ゲームプログラム(以下、単に「ゲームプログラム」という。)およびエミュレータプログラムを記憶したプログラムROM216と、ゲームデータをバックアップするためのバックアップRAM217とを備える。なお、本実施例では、他種ゲームプログラムとエミュレータプログラムとを同一の記録媒体(又は記憶媒体)に記憶させたが、例えば別々の記録又は記憶媒体に記憶させるようにしてもよい。
【0027】
CPU201は、携帯ゲーム機1の電源が投入されると、ブートROM202に記憶されている起動プログラムを実行し、メモリ等を初期化した後、ゲームカートリッジ207からデータの取り込みを行う。これによって、ゲームカートリッジ207のプログラムROM216に記憶されているエミュレータプログラムおよびゲームプログラムがワークメモリ203に記憶される。なお、プログラムROM216およびワークメモリ203の具体例は、図3および図4にそれぞれ示されている。CPU201は、ワークメモリ203のエミュレータプログラムおよびゲームプログラムを実行して、ゲーム処理を開始する。なお、DMAC204は、データ転送を統括的に制御するものである。また、通信ポート205は、外部装置(例えば、他のゲーム機)と通信を行うためのものである。
【0028】
図3は、ゲームカートリッジ207のプログラムROM216に記憶されるデータの一例を示す図である。図3に示すように、プログラムROM216には、エミュレータプログラム31およびゲームプログラム32が記憶されている。ゲームプログラム32には、背景画像データ33およびオブジェクト画像データ34が含まれている。背景画像データ33は、主にゲーム画像の背景を構成する画像を表示するためのデータである。また、オブジェクト画像データ34は、主にゲーム画像における背景以外の画像であるオブジェクト画像を表示するためのデータである。オブジェクト画像データには、例えば、プレイヤの操作対象のオブジェクトの画像を表示するためのプレイヤオブジェクト画像データや、ゲームに登場するアイテムの画像を表示するためのアイテム画像データ等が含まれる。
【0029】
図4は、ワークメモリ203に記憶されるデータの一例を示す図である。図4に示すように、ワークメモリ203には、プログラムROM216に記憶されているプログラムの一部又は全部(本実施例では全部)である例えばエミュレータプログラム31およびゲームプログラム32が転送され記憶される。また、エミュレータプログラム31が実行されることによって、ワークメモリ203には、他種のゲーム機(本実施例では例えばファミリーコンピュータなど)をエミュレーションするために各種の記憶領域が確保される。具体的には、仮想OAMバッファ41、生成処理フラグ42、Aバッファ43、Bバッファ44、仮想カウンタバッファ45などの記憶領域が確保される(例えば、ファミリーコンピュータをエミュレーションする場合には、64個のOAMバッファが確保される)。さらに、ワークメモリ203には、エミュレータプログラム31が実行されることによって生成される補正値群46(又は補正値といってもよい)が記憶される。
【0030】
仮想OAMバッファ41には、ゲームプログラム32の実行によって生成される他種ゲーム機用のオブジェクトネーム(又はキャラクタネーム,キャラクタコードともいう)、表示座標、拡大縮小率等のデータが書込まれる。ここで、オブジェクトネームとは、特定のオブジェクトを表示するための画像を指定するためのデータである。また、表示座標とは、背景画像上におけるオブジェクトの表示位置を示す座標である。生成処理フラグ42には、フラグのON/OFFを識別するためのデータが書込まれる。なお、生成処理フラグ42については後述する。補正値群46は、後述するゲーム画面表示処理において用いられる補正値の集合である。この補正値群46は、後述する間引用補正値生成処理(図14参照)において生成され、ワークメモリ203に書込まれる。また、Aバッファ43およびBバッファ44は、補正値群46を生成する際に用いられる。仮想カウンタバッファ45は、後述する変形例において用いられる。
【0031】
なお、本実施形態では、ゲームプログラム32は携帯ゲーム機1の起動時にワークメモリ203に書込まれるものとしたが、他の実施形態においては、ゲームプログラム32は、カートリッジから必要なデータが適宜読み出される形態であってもよい。
【0032】
図2の説明に戻り、ゲーム処理中、携帯ゲーム機1は、BG処理ユニット210およびOBJ処理ユニット212を用いていわゆるスプライト処理を行い、ゲーム画像を生成する。OBJ処理ユニット212は、OAMバッファ(Object Attribute Memory)221に格納されているデータに基づいて、オブジェクト画像データを画像合成処理ユニット213へ出力する。OAMバッファ221には、携帯ゲーム機1用の、オブジェクトを表示すべき座標やオブジェクトの画像を指定するためのオブジェクトネーム等が書込まれる。また、OBJ用VRAM211は、ワークメモリ203から読み込まれたオブジェクト画像データを記憶するために用いられる。
【0033】
BG処理ユニット210は、ワークメモリ203に格納されている背景画像データ33を、LCD11の解像度に適合する画像に変換しながら出力する。かかる変換を行うため、BG処理ユニット210には、LCD用第1カウンタ218、LCD用第2カウンタ219および水平ライン補正値バッファ220が設定される。また、BG用VRAM209は、ワークメモリ203から読み出したオブジェクト画像データ34を保持するために用いられる。BG処理ユニット210は、LCD用第1カウンタ218および水平ライン補正値バッファ220の値に基づいて、BG用VRAM209から背景画像データ33の所定の水平ラインを読み出し、画像合成処理ユニット213へ出力する。なお、BG処理ユニット210から出力される背景画像のデータ、およびOBJ処理ユニット212から出力されるオブジェクト画像のデータは、ゲーム画像の水平ライン毎に同期をとって画像合成処理ユニット213へ出力される。
【0034】
画像合成処理ユニット213は、ライン単位の背景画像データとオブジェクト画像データとを合成し、合成した画像データをLCD11へ出力する。LCD11は、画像合成処理ユニット213によって合成された画像データに基づいてゲーム画像を表示する。その結果、背景画像の上にオブジェクト画像を重ねられたゲーム画像が表示される。なお、本実施例ではノンインターレス方式の表示装置としてLCD11を例に挙げたが、例えば、コンピュータ用のノンインターレス方式のCRT(Cathode−Ray Tube)モニタなどの表示装置でもよく、また、インターレス方式のテレビジョン受像機などでもよい。
【0035】
なお、以上において、エミュレータプログラム31およびゲームプログラム32を記録する記録媒体の一例としてゲームカートリッジ207を挙げて説明した。ここで、エミュレータプログラムおよびゲームプログラムの取得方法は、どのようなものであってもよく、例えば、携帯ゲーム機1に接続可能な他のゲーム機からエミュレータプログラム31とゲームプログラム32とを供給し、ワークメモリ203に直接記憶させるような構成してもよい。この場合には、カートリッジは必要なくなる。また、ゲームカートリッジ207以外の例えばDVD−ROMなどの光又は磁気記録媒体から供給されるように構成してもよい。さらに、ゲームプログラムをバーコードによって記録したカードを記録媒体とし、エミュレータプログラムを記憶させたバーコード読取装置を、携帯ゲーム機1に装着して使用するような形態も考えられる。さらに、エミュレータプログラムおよびゲームプログラムは、別々の記録媒体に格納されていてもよく、異なる方法で取得されてもよい。
【0036】
次に、携帯ゲーム機1のコンピュータによって実行される具体的な処理を説明する前に、本発明の理解を容易にするために、図5〜図11を参照して携帯ゲーム機1における処理の概要等について説明する。
【0037】
図5(a)は、第1解像度の表示装置(例えば、テレビジョン受像機、以下、単に「テレビ」と呼ぶ)によって表示されるゲーム画像の例を示す図である。図5(b)は、第2解像度の表示装置(例えば、小型の液晶モニタ)に表示されるゲーム画像の例を示す図である。ここで、他種ゲーム機の表示装置の解像度を第1解像度と呼び、携帯ゲーム機1の表示装置(LCD11)の解像度を第2解像度と呼ぶ。 ゲームプログラム32は、テレビが接続されるゲーム機において実行されるプログラムであるので、プログラムによって利用される画像データもテレビに表示することを前提にした第1解像度(例えば、240×256(垂直×水平、以下同様))で記憶されている(図5(a)参照)。これに対して、第2解像度は、携帯ゲーム機1を前提とした解像度(160×240ドット)である。つまり、ここでは、図5(b)に示すように、第2解像度は、このように、第2解像度が第1解像度よりも低いため、携帯ゲーム機1は、ゲームプログラム32を実行することによって得られるゲーム画像から所定数のラインを間引く処理を行う。なお、本実施例のラインの間引処理は、背景画像に対してのみ行い、オブジェクト画像に対しては間引処理を行わない。以下、ラインの間引方法について説明する。
【0038】
本実施形態では、ゲームプログラム32に含まれる背景画像データ33により示される背景画像の上側の12ライン分、下側の15ライン分、右側の8ドット分および左側の8ドット分(図5(a)の斜線部分)が削除されるように、ライン単位の画像を間引く。ここで、当該削除部分は、ゲームプレイに必要な情報が含まれない安全フレーム以外の部分である。安全フレームとは、テレビのメーカごとの種類や性能等によって、同じ画像を表示させても画面上に表示される部分と表示されない部分とがあり、これらの誤差を考慮し決められた領域である。この領域内に含まれる画像情報は、どのようなテレビであっても必ず表示される。従って、安全フレーム以外の部分を削除したとしてもゲームプレイに支障がでない。
【0039】
以上のように、背景画像から安全フレーム以外の部分を削除すると、削除した場合の背景画像は、213×240ドットとなる。従って、背景画像の垂直ラインについては、第2解像度に適合することとなる。一方、背景画像の水平ラインについてはさらに間引く必要がある。以下、この水平ラインの間引方法を図6および図7を参照しながら説明する。
【0040】
図6は、水平ラインの間引方法の概要を示す図である。画像61は、間引処理前のゲーム画像の例えば一部分(8×8ドット)を示したものである。また、画像62および63は、それぞれ、nフレーム(本発明における所定フレーム)およびn+1フレーム(本発明における所定フレームの次フレーム)において、画像61から所定ライン数だけ間引処理した後の画像である。また、本実施形態では、213ラインを160ラインに変換する必要があるので、おおよそ4ラインの内1ラインを間引けばよい。そこで、図6においては、8ラインを6ラインにするべく、2ライン分を間引いている。ここで、画像から間引く対象となるラインを、間引対象ラインと呼ぶ。
【0041】
図7は、図6に示す間引方法において間引対象ラインを決定する方法を説明する図である。図7において、カウンタは、LCD用第1カウンタ218の値を表す。カウンタの値「i」(iは任意の自然数)は、間引処理後の背景画像における第(i)番目のラインに対応している。また、読み出し水平ラインとは、間引処理前の背景画像における水平ラインの内、BG処理ユニットが読み出すべきラインを表すものである。すなわち、カウンタの値が「i」である場合において、読み出し水平ラインの値が「j」(jは任意の自然数)となっているとき、間引処理後の背景画像における第(i)番目の水平ラインは、間引処理前の背景画像における第(j)番目の水平ラインであることを意味する。
【0042】
また、補正値は、補正値群46を構成するものであり、カウンタの値から読み出し水平ラインの値を算出するための値である。読み出し水平ラインの値は、カウンタ(LCD用第1カウンタ218)の値と、その値に対応する補正値とを加算したものである。本実施形態では、この補正値をカウンタの各値毎に設定し、読み出し水平ラインを決定する。図7(a)においては、補正値を(0,0,0,1,1,1)と設定することによって、読み出し水平ラインの値は、(1,2,3,5,6,7)と決定される。換言すれば、間引対象ラインは、第4および第8番目の水平ラインと決定される。このとき、間引処理前の画像61から、第4および第8番目の水平ラインが間引かれ、間引処理後は画像62となる。
【0043】
なお、上述のように、本実施形態においては、水平ラインについて4ラインの内1ラインを間引けばよい。従って、補正値群46は、同じ数が3つずつ連続し、かつ、同じ数が3つ連続した後は1増加するように生成する。これによって、連続する4ラインの内、1ラインが必ず間引かれることとなる。また、一定本数のライン毎に間引かれることとなる。なお、このような補正値群46を生成する方法は、図15に示されている。
【0044】
また、本実施形態では、nフレーム目と次のn+1フレーム目とにおいて、補正値を変更する。これによって、読み出し水平ラインの値が変化する結果、間引対象ラインが変化する。具体的には、nフレーム目の画像62では、第4および第8番目の水平ラインが間引かれているのに対して、n+1フレーム目の画像63では、第3および第7番目の水平ラインが間引かれている。つまり、nフレーム目とn+1フレームとで、隣合うラインを間引くようにしている。本実施形態では、以上の方法によって、2種類の補正値(補正値群)を利用し、各フレームにおいて異なる補正値を選択することにより、間引対象ラインを1フレーム毎に変化させている。
【0045】
なお、ここでは、間引処理前の背景画像(第1解像度の背景画像)を第1背景画像と呼ぶ。また、あるフレームにおける間引処理によって生成される第2解像度の背景画像を第2背景画像と呼ぶとき、当該あるフレームに連続する次のフレームにおける間引処理によって生成される第2解像度の背景画像を第3背景画像と呼ぶ。すなわち、本実施形態では、第2背景画像および第3背景画像は、連続するフレームにおいて交互に生成される。また、第2背景画像と第3背景画像とでは、間引処理において決定される間引対象ラインが異なる。
【0046】
図8は、間引処理後における2つの画面を重ね合わせた画面の表示例である。上述した画像62と画像63とを連続する2フレームによって表示させる。これによって、図8に示すように、人間の目には前フレームの画像の残像が残り、次フレームの画像と重ね合わせたように見える。図8において、黒く塗りつぶされた部分81は、連続する2フレームで重なって表示される部分である。また、斜線部分82は、偶数番目(図6のnフレーム目を偶数番目とした場合)のみ表示される部分であり、斜線部分83は、奇数番目のフレーム(図6のn+1フレーム目)のみ表示される部分である。つまり、連続するフレーム間で重なりあう部分の画像は濃く見え、それ以外の部分は薄く見える。結果として、画像を間引いてもオリジナルに近い画像を表示させることが可能になる。
【0047】
図9は、間引処理を行う前後の背景画像の表示例を示す図である。図9(a)は、間引処理を行う前の背景画像(ゲームプログラム32に含まれる背景画像データ33により示される背景画像(オリジナル))を示す。図9(b)は、偶数番目のフレームにおける間引処理後の背景画像を示す。図9(b)では、梯子やレンガを表す線が描かれた水平ラインの画像が間引かれているので、梯子やレンガを表す線が欠けている。また、図9(c)は、奇数番目のフレームにおける間引処理後の背景画像を示す。図9(c)では、偶数番目のフレームで欠けている線が表示されているとともに、例えば梯子の梯と梯との間の水平ラインの画像が間引かれているので梯子の間隔が短くなっている。なお、奇数番目のフレームにおいても、偶数番目のフレームと同様、背景画像のいずれかの部分が欠けて表示されることもあるが、奇数番目のフレームにおいて欠けている部分は、偶数番目のフレームにおいて表示されている。
【0048】
図10は、偶数番目のフレームおよび奇数番目のフレームの2つ分のフレームを重ねて表示した場合の表示例を示す図である。図10では、間引処理前の背景画像に含まれている情報(梯子やレンガを表す横線)がオリジナルに近い状態でほぼ表示されている。なお、図10では、偶数番目のフレームおよび奇数番目のフレームの両方で表示される部分については太線で、いずれか一方で表示される部分について細線で表している。以上のように、本実施形態では、nフレーム目およびn+1フレーム目の2つ分の連続するフレームによって、間引処理前の背景画像に含まれる表示情報がほぼ表示される。
【0049】
なお、本実施形態の説明において、1フレームとは、表示装置に表示される画面1つ分に対応するものである。テレビジョン受像機のようなインターレス方式においては、1フレームが2画面分(2フィールド)を意味する場合があるが、ここでは、表示装置がインターレス方式であるかノンインターレス方式であるかにかかわらず、1フレームとは1画面分を意味するものとする。
【0050】
本実施形態では、以上に説明した間引処理に加え、オブジェクト画像の表示位置の補正処理を行う。図11は、背景画像にオブジェクト画像を重ね合わせた画像の表示例である。図11(a)は、オブジェクト画像の表示位置を補正していない場合の表示例である。つまり、解像度変換後の背景画像上に、解像度変換前のオブジェクトの配置座標にそのままオブジェクト画像を重ねたゲーム画像の表示例である。これは、解像度変換後には背景画像が垂直方向に縮んでいるにもかかわらず、解像度変換前の配置座標にオブジェクト画像を配置したために、本来の表示したい位置からずれてしまっている例である。より具体的に説明すれば、図7に示すように、カウンタの値と読み出し水平ラインの値とは、必ずしも一致するものではないことによる。つまり、間引処理前のラインと、間引処理後のラインとの位置は必ずしも一致しない。例えば、カウンタの値が100、読み出し水平ラインの値が125となる場合が考えられる。この場合、間引処理前において第125番目の水平ラインに表示される背景画像は、間引処理後には第100番目の水平ラインに表示されることとなる。これに対して、オブジェクト画像データについては間引処理が行われないので、間引処理前において第125番目の水平ラインに表示されるオブジェクト画像は、間引処理後においても第125番目の水平ラインに表示されることとなる。その結果、背景画像およびオブジェクト画像が、本来同じ位置に表示されるべきであるにもかかわらず、異なる位置に表示されてしまう(図11(a)参照)。以上より、本実施形態では、間引処理に応じてオブジェクト画像の表示位置を変換する。
【0051】
具体的には、オブジェクト画像の座標(X,Y)を、以下の式に従って新座標(X’,Y’)に変換する。
(X’,Y’)=(X−8,(Y−12)÷H1×H2)…▲1▼
ここで、H1は、第1解像度であり、H2は、第2解像度である。なお、水平方向の座標(X)について8を減算しているのは、8ドット分を削除するためである。また、垂直方向の座標(Y)について12を減算しているのは、12ドット分の安全フレームを削除するためである。また、第1解像度と第2解像度の比率である(H2/H1)を乗算しているのは、間引処理の前後において背景画像の垂直方向の幅が(H2/H1)倍に変化しているからである。つまり、背景画像の垂直方向の幅が変化した割合と同じ割合だけ、オブジェクト画像の表示位置を変化させる。このように、間引処理による背景画像の変化に応じてオブジェクト画像の表示座標を変換することによって、オブジェクト画像の表示位置を背景画像にほぼ一致させることができる(図11(b)参照)。
【0052】
次に、図12〜図16を参照して、携帯ゲーム機1によって実行される処理について具体的に説明する。以下の処理は、携帯ゲーム機1の電源が投入された後、CPU201がワークメモリ203のエミュレータプログラム31およびゲームプログラム32を実行することによって行われる。
【0053】
図12は、携帯ゲーム機1において実行されるフローチャートである。まず、ステップ1(図では「ステップ」を単に「S」と略す)において、CPU201によって、エミュレータプログラム31が実行される。このとき、エミュレーションに必要な仮想OAMバッファ等の記憶領域がワークメモリ203に確保される(図4参照)。ステップ2において、エミュレータプログラム31を介してゲームプログラム32が実行される(すなわち、「エミュレータプログラム31がゲームプログラム32を実行する」ともいえる)。このステップ2において、ゲームプログラム32に基づく1フレーム分のゲーム画像が設定される。換言すれば、ステップ2では、他種のゲーム機によって第1解像度の表示装置に表示するためのゲーム画像が生成される(すなわち、背景画像と、オブジェクト画像と、オブジェクト画像の表示座標が設定される)。以下、ステップS2の詳細を図13を参照して説明する。
【0054】
図13は、ステップ2のゲームプログラム処理の詳細を示すフローチャートである。まず、ステップ21において、ゲームの初期設定が行われる。すなわち、ステップ21では、次のフレームで表示すべき背景画像やゲームキャラクタ画像等が決定される。ステップ22において、ステップS21で決定された背景画像の背景画像データがワークメモリ203から読み込まれ、BG処理ユニット210に対して背景画像データをBG用VRAM209に書込ませる。次に、ステップ23において、コントローラポート(図示せず)に保持されているゲームキャラクタの操作情報が取得される。なお、コントローラポートには、プレイヤの操作に応じて操作ボタン208から出力される情報が一時的に記憶される。続く、ステップ24において、ステップS23で取得された操作情報に基づいてゲームキャラクタの移動後の座標が決定される。そして、ステップ25において、ゲームキャラクタの移動後の座標および当該ゲームキャラクタのオブジェクトネーム等が仮想OAMバッファ41に書込まれる。上述したステップ21〜25によって、他種のゲーム機がテレビに表示するためのゲーム画像を生成するのに必要なデータが生成される。なお、このデータに基づくゲーム画像をそのまま表示すると、前提とする解像度が異なることにより、ゲームに必要な情報が欠落したゲーム画像が表示されることになる。そこで、ゲームに必要な情報が欠落していないゲーム画像を表示するために、以下のステップS3〜S6が実行される。
【0055】
図12の説明に戻り、ステップ3において、ゲームキャラクタの座標(X,Y)およびオブジェクトネーム等のデータが仮想OAMバッファ41から読み出される。ステップ4において、読み出した座標(X,Y)を新座標(X’,Y’)に変換される。新座標への変換には、上述の式▲1▼が用いられる。ステップ5において、新座標およびオブジェクトネーム等のデータがOAMバッファ221に書込まれる。ステップ6において、CPU201等によって、ゲーム画面表示処理が行われる。ゲーム画面表示処理の詳細は図14に示す。ステップ6が終了すると、ステップ2からステップ6の処理が繰り返される。ステップ2からステップ6までの1回のループによって1フレーム分の画像が生成され表示される。なお、このループのたびに後述するステップ31において異なるパターンの補正値群46が生成される。この補正値群46の各補正値を利用して連続するフレーム間で異なるラインを間引くことにより、図6,図8で説明した現象を利用したゲーム画像を表示させることができる。
【0056】
図14は、ステップ6のゲーム画面表示処理の詳細を示すフローチャートである。ステップ31において、CPU201によって、補正値生成処理が行われる。ここで、本実施形態では、補正値群46は、同じ数が3つずつ連続し、かつ、同じ数が3つ連続した後は1増加するように生成される。以下、補正値生成処理の詳細を図15を参照して説明する。
【0057】
図15は、ステップ31の補正値生成処理の詳細を示すフローチャートである。まず、ステップ51において、ワークメモリ203に記憶されているすべての補正値がクリアされる。これは、前フレームにおけるループ(ステップ2〜ステップ6)において生成された補正値を消去するものである。ステップ52において、生成処理フラグがONであるか否かが判断される。ここで、生成処理フラグは、奇数番目のフレームか偶数番目のフレームかを判断するためのフラグである。すなわち、生成処理フラグは、ONである場合には奇数番目のフレーム、OFFである場合には偶数番目のフレームを表す。ステップ52の判断において、生成処理フラグがONである場合、ステップ53〜55の処理が実行される。また、生成処理フラグがOFFである場合、ステップ56〜58の処理が実行される。
【0058】
ステップ53において、生成処理フラグがOFFに変更される。これは、次回のループにおいて今回と異なる補正値群46を生成するためである。ステップ54において、カウンタの値が157にセットされる。ここで用いられるカウンタは、生成すべき補正値の残り数を示すものである。ステップ55において、(0,0,0)を補正値として保存する。ここで、補正値生成処理において生成すべき補正値の数(補正値群46を構成する補正値の数)は垂直方向のライン数と同数の160であり、ステップ55において予め補正値を3つ設定している。このため、ステップS54においてカウンタの値は157にセットされる。ステップ55が終了すると、ステップ59が実行される。
【0059】
一方、ステップ56において、生成処理フラグがONに変更される。これは、ステップ53と同様の理由である。ステップ57において、カウンタの値が158にセットされる。ステップ58において、(0,0)が補正値として保存される。ここで、補正値生成処理において生成すべき補正値の数は垂直方向のライン数と同数の160であり、ステップ58において補正値を2つ設定している。このため、ステップS57においてカウンタの値は158にセットされる。ステップ58が終了すると、ステップ59が実行される。なお、上述のステップ55とステップ58において予め異なる補正値の数を設定することにより、その後の補正値の生成ルーティンを共有化させることができる。
【0060】
ステップ59において、Aバッファに「1」がセットされる。ここで、Aバッファに格納される値は、設定される補正値を示す。ステップ60において、Bバッファに「3」がセットされる。ここで、Bバッファに格納される値は、同じ値の補正値を連続して設定する回数を示す。すなわち、Bバッファに「3」が設定されている場合、補正値は、(・・・p,p,p,q,q,q・・・)のように、同じ補が3つ連続して設定される。
【0061】
続くステップ61において、カウンタの値が「0」であるかが判定される。カウンタの値が「0」である場合、生成すべき補正値の残り数は0であるので、補正値生成処理を終了する。一方、カウンタの値が「0」でない場合、ステップ62の処理が実行される。
【0062】
ステップ62において、Bバッファの値が「0」であるか否かが判断される。Bバッファの値が「0」である場合、ステップ63,64の処理が実行される。一方、Bバッファの値が「0」でない場合、ステップ65〜67の処理が実行される。
【0063】
ステップ63において、Aバッファの値に「1」だけ加算される(以下、単に『「+1」される』という)。さらに、ステップ64において、Bバッファの値に「3」がセットされる。その後、ステップ61に戻る。一方、ステップ65において、Aバッファの値がまず補正値として保存される。続くステップ66において、Bバッファの値が「1」だけ減算される(以下、単に『「−1」される』という)。さらに、ステップ67において、カウンタの値が「−1」される。その後、ステップ61に戻る。以降、ステップ61においてカウンタの値が「0」になるまで、ステップ62から67の処理が繰り返し行われる。
【0064】
図14の説明に戻り、ステップ32において、LCD用第1カウンタ218をスタートさせる。LCD用第1カウンタ218の値は、背景画像データを画像合成処理ユニット213に出力する際の水平ラインを示す。ここで、LCD用第1カウンタ218の初期値が「1」に設定される。続くステップ33において、水平ライン補正値バッファ220にステップ31で生成した補正値が書込まれる。ステップ33において書込まれる補正値は、ステップ31において最初に書込まれた補正値、すなわち、第1番目の水平ラインに対応する補正値である。ステップ34において、BG処理ユニット210に対して、BG用VRAM209に格納されている背景画像データの13ライン目を1ライン目として設定させる。これは、背景画像データの上側12ライン分を削除するためである。
【0065】
ステップ35において、BG処理ユニット210に対して、LCD用第1カウンタ218の値と対応する補正値とを加算させる。具体的には、BG処理ユニット210は、LCD用第1カウンタ218の値と水平ライン補正値バッファ220に格納されている補正値とを加算する。これによって、読み出し水平ラインの値が算出されるので(図7参照)、表示すべき読み出し水平ラインと、間引くべき間引対象ラインとが決定されることとなる。ステップ36において、BG処理ユニット210に対して背景画像の水平ライン単位の転送処理を行わせる。ステップ36において転送処理の対象となるのは、読み出し水平ラインの値に対応する水平ラインである。すなわち、ステップ36では、ライン単位の画像を順次出力させている。以下、ステップ36の背景画像の水平ライン単位の転送処理の詳細を図16を用いて説明する。
【0066】
図16は、ステップ36の背景画像の水平ライン単位の転送処理の詳細を示すフローチャートである。まず、ステップ71において、BG処理ユニット210によって、転送開始位置が設定される。具体的には、9ドット目を転送開始位置とする。これは、安全フレーム外の8ドット分を削除するためである。続くステップ72において、LCD用第2カウンタ219がスタートされる。ここで、BG処理ユニット210は、LCD用第2カウンタ219の初期値を「1」に設定する。ステップ73において、LCD用第2カウンタ219の値に相当するドットの画像データ(すなわち、各ドットごとのカラーデータといえる)をBG用VRAMから読み出させ、画像合成処理ユニット213へ送信させる。
【0067】
次に、ステップ74において、LCD用第2カウンタ219のカウントが終了したか否かを判定させる。具体的には、LCD用第2カウンタ219の値が「240」となったか否かを判定する。ステップ74の判定において、カウンタ値が終了した場合、240ドット(すなわち、1ライン分)の背景画像データの転送処理を終了する。一方、ステップ74の判定において、カウントが終了していない場合、ステップ75が実行される。ステップ75において、LCD用第2カウンタ219の値を「+1」する。ステップ75の後、ステップ73の処理に戻る。以降、カウンタ値が終了するまで、ステップ73から75の処理が繰り返される。上述したステップ35およびステップ71から75によって、補正値によって選択された水平ラインの1ライン分の画像データが出力される。すなわち、ライン単位の画像が順次出力される。
【0068】
図14の説明に戻り、ステップ37において、OBJ処理ユニット212に対して、1ライン分のオブジェクト画像データを画像合成処理ユニットへ送信させる。ステップ37において送信の対象となるのは、読み出し水平ラインにより示されるライン単位のオブジェクト画像データである。ステップ38において、画像合成処理ユニットに対して、ステップ36においてBG処理ユニット210から転送されてきた背景画像データと、ステップ37においてOBJ処理ユニットから送信されてきたオブジェクト画像データとを合成させて、ゲーム画像を生成させている。すなわち、ステップ38では、ゲーム画像をライン単位で生成し出力している。ステップ39において、LCD11は、読み出し水平ラインに対応するラインの画面を書き換えて表示する。ここで、LCD11は、ステップ38において画像合成処理ユニットによって合成された画像データに書き換えて表示する。
【0069】
ステップ40において、すべての水平ラインについてステップ39における書き換え表示が終了したか否かを判定させる。ステップ40における判定において、書き換え表示が終了した場合、ゲーム画面表示処理を終了する。一方、書き換え表示が終了していない場合、ステップ41および42の処理が実行される。すなわち、ステップ41において、次の水平ライン用の補正値が水平ライン補正値バッファ220に書込まれる。次の水平ライン用の補正値とは、ステップ31において、水平ライン補正値バッファ220に現在書込まれている補正値の次に生成された補正値である。次に、ステップ42において、LCD用第1カウンタ218の値が1加算される。ステップ42の後、ステップ35の処理に戻る。以降、ステップ40の書き換え表示が終了するまで、ステップ35から42の処理が行われる。上述の実施例によれば、ライン単位の画像データを順次出力させるとともに、間引き処理をさせているので、処理負担をより軽減でき、特にエミュレータの画像処理に適合させることができる。
【0070】
次に、携帯ゲーム機1によって実行される処理の変形例を説明する。上記実施形態では、BG用VRAM209には間引処理がなされていない背景画像データが格納され、BG処理ユニット210において水平ライン毎に背景画像データを出力する際に間引処理が行われた。これに対して、本変形例では、BG用VRAM209に背景画像データを格納する際に間引処理を行い、BG用VRAM209には間引処理がなされた少なくとも2種類の背景画像データが格納される。以下、図17を参照して本変形例を説明する。
【0071】
図17は、携帯ゲーム機1において実行される処理の変形例を示すフローチャートである。なお、図17において、図12と同様の処理を行うブロックについては詳細な説明を省略する。図17において、処理の開始からステップ2までの処理は、図12と同様である。ここで、本変形例では、ステップ2の後に補正値生成処理が行われる(ステップ31)。なお、補正値生成処理の内容は、上述の実施形態と同様である。続くステップ81において、仮想カウンタがスタートされる。ここで、仮想カウンタは、上記実施形態におけるLCD用第1カウンタ218に対応するものである。ステップ81において、仮想カウンタの値は1にセットされる。
【0072】
ステップ82において、仮想カウンタの値と、仮想カウンタの値に対応する補正値とが加算される。加算した結果は、上述の読み出し水平ラインの値と同じものである。次に、ワークメモリ203に格納されている背景画像データの13ライン目が1ライン目として設定される。これは、背景画像データの上側12ライン分を安全フレーム外の部分として削除するためである。さらに、ステップ82において加算した結果に対応する水平ラインの背景画像データが、BG用VRAM209に保存される。
【0073】
ステップ85において、仮想カウンタの値が160であるか否かが判定される。仮想カウンタの値が160でない場合、ステップ86が実行される。すなわち、ステップ86において、仮想カウンタの値を「+1」して、ステップ82の処理に戻る。以降、ステップ85において仮想カウンタの値が160となるまで、ステップ82から86の処理が行われる。一方、ステップ85の判定において、仮想カウンタの値が160でない場合、ステップ3から5が実行される。ステップ3から5の処理は、上記実施形態と同様である。ステップ5の後、本変形例においては、ステップ87が実行される。ステップ87において、LCD11によって画像を表示させる。具体的には、BG処理ユニット210から背景画像データを出力させ、OBJ処理ユニット212からオブジェクト画像データを出力させる。さらに、画像合成処理ユニット213に背景画像データとオブジェクト画像データとを合成させ、LCD11に出力させる。
【0074】
なお、本実施形態では、間引処理の対象を背景画像のみとした。ここで、他の実施形態においては、オブジェクト画像も間引き処理の対象としてもよい。この場合、OBJ処理ユニット212は、LCD用第1カウンタ218および水平ライン補正値バッファ220の値に基づいて、オブジェクト画像データの所定の水平ラインを読み出し、画像合成処理ユニット213へ出力する。このように、オブジェクト画像についても背景画像と同様に間引き処理を行うことができる。
【0075】
なお、本実施形態では、間引対象ラインをフレーム毎に変化させて画像データを間引く処理は、水平ライン方向のみについて行った。ここで、他の実施形態においては、かかる処理を垂直ライン方向について行ってもよい。図18に、垂直ラインの間引方法の概要を示す。図18は、図6と同様の処理を行うものである。具体的には、n番目のフレームにおいては、垂直ライン方向について第3および第7番目のラインを間引き、n+1番目のフレームにおいては、垂直ライン方向について第4および第8番目のラインを間引く。このように、垂直ライン方向についても、本実施形態と同様に間引処理を行うことが可能である。さらに、他の実施形態においては、水平ラインおよび垂直ラインの両方について間引処理を行ってもよい。
【0076】
なお、本実施形態では、隣接するラインを間引く処理をフレーム毎に交互に行った。これは、表示装置の一例である液晶モニタは表示応答速度がCRTモニタなどに比べて非常に遅いので特に効果があったためである。例えば表示応答速度が十分に早い場合には、所定数のフレーム毎に(例えば、3フレームに1回)間引対象ラインを変更するようにしてもよい。なお、表示応答速度が遅い場合には、間引きパターンを増やしても、本実施形態に比して格別の効果を有するものではない。例えば、間引き位置を連続して移動させると画面自体が波打つように見えるという現象がわかった。
【0077】
また、本実施形態では、あるフレームにおいてk番目のラインが間引かれた場合、次のフレームではk番目のラインに隣接するラインが間引いている。これは、色々な間引きパターンを実験した結果、プレイヤに違和感を与えることなく、オリジナルのゲーム画面をほぼ再現できることがわかったからである。
【0078】
以上、本実施形態によれば、間引対象ラインをフレーム毎に変化させることで、解像度の低いゲーム装置においてゲームをプレイする場合でも、オリジナルに近いゲーム画像を再現することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る携帯ゲーム機の概観図である。
【図2】携帯ゲーム機1およびゲームカートリッジの構成を示すブロック図である。
【図3】ゲームカートリッジ207のプログラムROM216に記憶されるデータの一例を示す図である。
【図4】ワークメモリ203に記憶されるデータの一例を示す図である。
【図5】ゲーム画像の例を示す図である。
【図6】水平ラインの間引方法の概要を示す図である。
【図7】図6に示す間引方法において間引対象ラインを決定する方法を説明する図である。
【図8】間引処理後における2つの画面を重ね合わせた画面の表示例である。
【図9】間引処理を行う前後の背景画面の表示例を示す図である。
【図10】偶数番目のフレームおよび奇数番目のフレームの2つ分のフレームを重ねて表示した場合の表示例を示す図である。
【図11】背景画像にオブジェクト画像を重ね合わせた画面の表示例である。
【図12】携帯ゲーム機1において実行されるフローチャートである。
【図13】ステップ2のゲームプログラム処理の詳細を示すフローチャートである。
【図14】ステップ6のゲーム画面表示処理の詳細を示すフローチャートである。
【図15】ステップ31の補正値生成処理の詳細を示すフローチャートである。
【図16】ステップ36の背景画像の水平ライン単位の転送処理の詳細を示すフローチャートである。
【図17】携帯ゲーム機1において実行される処理の変形例を示すフローチャートである。
【図18】垂直ラインの間引方法の概要を示す図である。
【符号の説明】
201 CPU
203 ワークメモリ
207 ゲームカートリッジ
209 BG用VRAM
210 BG処理ユニット
211 OBJ用VRAM
212 OBJ処理ユニット
213 画像合成処理ユニット

Claims (10)

  1. 第1解像度の表示装置を利用する第1ゲーム機用のゲームプログラムを、当該第1解像度よりも低い第2解像度の表示装置を利用する第2ゲーム機上において実行させるためのゲーム用エミュレータプログラムであって、
    前記ゲームプログラムは、ゲーム画像の背景を構成する第1解像度の背景画像のデータと、当該背景画像上に重ねて表示されるオブジェクト画像のデータとが含まれており
    前記ゲーム用エミュレータプログラムは、前記ゲームプログラムを実行してゲーム画像を生成するときの所定のフレームの処理において、
    前記背景画像の水平ラインおよび垂直ラインの少なくともいずれか一方について、画像をライン単位で間引くための第1間引対象ラインを決定するステップ、
    前記第1間引対象ラインの画像を間引きながら前記背景画像のライン単位の画像を順次出力することにより、当該背景画像を第2解像度に変換するステップ、
    前記出力されるライン単位の画像に前記オブジェクト画像が重なるとき、当該オブジェクト画像を重ねたライン単位の第1ゲーム画像を生成するステップ、および
    前記生成されたライン単位の第1ゲーム画像を前記第2解像度の表示装置に順次供給することにより前記第1ゲーム画像を表示させるステップを、第2ゲーム機に実行させ、
    前記ゲーム用エミュレータプログラムは、前記所定のフレームに連続する次のフレームの処理において、
    前記第1間引対象ラインに隣合ういずれか一方のラインを第2間引対象ラインとして決定するステップ、
    前記第2間引対象ラインの画像を前記背景画像から間引きながら前記背景画像のライン単位の画像を順次出力することにより、当該背景画像を第2解像度に変換するステップ、
    前記出力されるライン単位の画像に前記オブジェクト画像が重なるとき、当該オブジェクト画像を重ねたライン単位の第2ゲーム画像を生成するステップ、および
    前記生成されたライン単位の第2ゲーム画像を前記第2解像度の表示装置に順次供給することにより前記第2ゲーム画像を表示させるステップを、第2ゲーム機に実行させることを特徴とするゲーム用エミュレータプログラム。
  2. 第1解像度の表示装置を利用する第1ゲーム機用のゲームプログラムを、前記第1解像度よりも低い第2解像度の表示装置を利用する第2ゲーム機上において実行させるためのゲーム用エミュレータプログラムであって、
    前記ゲームプログラムは、ゲーム画像の背景を構成する第1解像度の第1背景画像のデータと、当該第1背景画像上に重ねて表示されるオブジェクト画像のデータとが含まれており、
    前記ゲーム用エミュレータプログラムは、
    前記第1背景画像の水平ラインおよび垂直ラインの少なくともいずれか一方について、ライン単位の画像を間引くための第1間引対象ラインを決定するステップ、
    前記第1間引対象ラインの画像を前記第1背景画像から間引くことにより、当該第1背景画像を第2解像度の第2背景画像に変換するステップ、
    前記第1間引対象ラインに隣合ういずれか一方のラインを第2間引対象ラインとして決定するステップ、
    前記第2間引対象ラインの画像を前記第1背景画像から間引くことにより、当該第1背景画像を第2解像度の第3背景画像に変換するステップ、
    前記第2背景画像に前記オブジェクト画像を重ねた第1ゲーム画像を生成するステップ、
    前記第3背景画像に前記オブジェクト画像を重ねた第2ゲーム画像を生成するステップ、および
    前記第1ゲーム画像と前記第2ゲーム画像とをフレーム毎に交互に前記第2解像度の表示装置に表示させるステップを、第2ゲーム機に実行させることを特徴とするゲーム用エミュレータプログラム。
  3. 前記第1解像度の背景画像をライン単位で間引くための対象ラインを決める要素となる第1補正値群を生成するステップを、前記第1間引対象ラインを決定するステップが実行される前に第2ゲーム機にさらに実行させ、
    前記第1解像度の背景画像をライン単位で間引くための対象ラインを決める要素となる補正値群であって前記第1補正値群とは異なる第2補正値群を生成するステップを、前記第2間引対象ラインを決定するステップが実行される前に第2ゲーム機にさらに実行させ、
    前記第1間引対象ラインを決定するステップは、前記第1補正値群の各値と、前記第1解像度の背景画像の水平ラインを指定するための値とに基づいて、第1間引対象ラインを決定し、
    前記第2間引対象ラインを決定するステップは、前記第2補正値群の各値と、前記第1解像度の背景画像の水平ラインを指定するための値とに基づいて、第間引対象ラインを決定する、請求項1または2に記載のゲーム用エミュレータプログラム。
  4. 前記第1間引対象ラインを決定するステップは、一定本数のライン間隔毎に前記第1間引対象ラインを決定する、請求項1または2に記載のゲーム用エミュレータプログラム。
  5. 第1背景画像上に重ねられる前記オブジェクト画像の位置、および、前記第1解像度と前記第2解像度との比率に基づいて、第2解像度変換した後の背景画像上に重ねる前記オブジェクト画像の位置を決定するステップを、前記第1ゲーム画像を生成するステップおよび前記第2ゲーム画像を生成するステップが実行される前に第2ゲーム機にさらに実行させる、請求項1ないし4のいずれかに記載のゲーム用エミュレータプログラム。
  6. 前記第2解像度の表示装置は、ノンインターレス方式の表示装置である、請求項1または2に記載のゲーム用エミュレータプログラム。
  7. 前記第1間引対象ラインを決定するステップは、第1間引対象ラインを水平ラインとする請求項1または2に記載のゲーム用エミュレータプログラム。
  8. 前記第1間引対象ラインを決定するステップは、第1間引対象ラインを水平ラインおよび垂直ラインの両方とする請求項1または2に記載のゲーム用エミュレータプログラム。
  9. 前記第1間引対象ラインの画像を前記オブジェクト画像から間引くことにより、当該オブジェクト画像を第2オブジェクト画像に変換するステップを、前記第1ゲーム画像を生成するステップが実行される前に第2ゲーム機にさらに実行させ、
    前記第2間引対象ラインの画像を前記オブジェクト画像から間引くことにより、当該オブジェクト画像を第3オブジェクト画像に変換するステップを、前記第2ゲーム画像を生成するステップが実行される前に第2ゲーム機にさらに実行させ、
    前記第1ゲーム画像を生成するステップは、解像度を変換した後の背景画像上に前記第2オブジェクト画像を重ねた第1ゲーム画像を生成し、
    前記第2ゲーム画像を生成するステップは、解像度を変換した後の背景画像上に前記第3オブジェクト画像を重ねた第2ゲーム画像を生成する、請求項1または2に記載のゲーム用エミュレータプログラム。
  10. 請求項1ないし9に記載のゲーム用エミュレータプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2002269184A 2002-09-13 2002-09-13 ゲーム用エミュレータプログラム Expired - Lifetime JP3599728B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002269184A JP3599728B2 (ja) 2002-09-13 2002-09-13 ゲーム用エミュレータプログラム
US10/335,880 US7025677B2 (en) 2002-09-13 2003-01-03 Game emulator program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002269184A JP3599728B2 (ja) 2002-09-13 2002-09-13 ゲーム用エミュレータプログラム

Publications (2)

Publication Number Publication Date
JP2004105311A JP2004105311A (ja) 2004-04-08
JP3599728B2 true JP3599728B2 (ja) 2004-12-08

Family

ID=31986807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002269184A Expired - Lifetime JP3599728B2 (ja) 2002-09-13 2002-09-13 ゲーム用エミュレータプログラム

Country Status (2)

Country Link
US (1) US7025677B2 (ja)
JP (1) JP3599728B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6966837B1 (en) 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
US20070229462A1 (en) * 2006-03-31 2007-10-04 Huynh Thanh T E System and method for mapping user-input controls to corresponding regions of a user display
JP4917346B2 (ja) * 2006-05-02 2012-04-18 任天堂株式会社 ゲーム画像処理プログラムおよびゲーム画像処理装置
US7690964B2 (en) * 2006-05-04 2010-04-06 Mattel, Inc. Toy ramp devices
WO2007146241A2 (en) * 2006-06-09 2007-12-21 Mattel, Inc. Toy track devices
JP4796152B2 (ja) * 2006-12-05 2011-10-19 株式会社平和 遊技機
JP4671198B2 (ja) * 2007-01-26 2011-04-13 株式会社ソニー・コンピュータエンタテインメント 情報処理装置
JP2009205422A (ja) * 2008-02-27 2009-09-10 Nintendo Co Ltd 情報処理システム
US20090265661A1 (en) * 2008-04-14 2009-10-22 Gary Stephen Shuster Multi-resolution three-dimensional environment display
EP2204733A1 (en) * 2008-12-30 2010-07-07 Rapid Mobile Media Ltd. Graphics display
JP5406703B2 (ja) * 2009-12-25 2014-02-05 キヤノン株式会社 画像処理装置及び画像処理方法及び画像形成装置
US9860483B1 (en) * 2012-05-17 2018-01-02 The Boeing Company System and method for video processing software
US20140058812A1 (en) * 2012-08-17 2014-02-27 Augme Technologies, Inc. System and method for interactive mobile ads
US12017140B2 (en) * 2021-06-07 2024-06-25 Sony Interactive Entertainment LLC Systems and methods for emulation of graphical and audio parameters during a play of a legacy game

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3368967B2 (ja) * 1994-01-25 2003-01-20 任天堂株式会社 ゲーム機用変換装置
US5982373A (en) * 1996-11-12 1999-11-09 Chromatic Research, Inc. Dynamic enhancement/reduction of graphical image data resolution
US6043802A (en) * 1996-12-17 2000-03-28 Ricoh Company, Ltd. Resolution reduction technique for displaying documents on a monitor
US6115054A (en) * 1998-12-29 2000-09-05 Connectix Corporation Graphics processor emulation system and method with adaptive frame skipping to maintain synchronization between emulation time and real time
JP2002027038A (ja) 2000-07-11 2002-01-25 Sony Corp 携帯端末装置、携帯電話機及びデータ処理方法
US6672963B1 (en) * 2000-09-18 2004-01-06 Nintendo Co., Ltd. Software implementation of a handheld video game hardware platform

Also Published As

Publication number Publication date
JP2004105311A (ja) 2004-04-08
US7025677B2 (en) 2006-04-11
US20040053691A1 (en) 2004-03-18

Similar Documents

Publication Publication Date Title
JP3599728B2 (ja) ゲーム用エミュレータプログラム
US7786997B2 (en) Portable game machine and computer-readable recording medium
JP3339284B2 (ja) 大画面表示方式
JP4312238B2 (ja) 画像変換装置および画像変換方法
JP4629838B2 (ja) 立体視画像生成装置および立体視画像生成方法
JPH08202318A (ja) 記憶性を有する表示装置の表示制御方法及びその表示システム
JP2003515766A (ja) ハンドヘルドlcd素子に高い色解像度を表示するための方法および装置
JP3285860B2 (ja) モザイク画像表示装置
EP0887768A2 (en) A graphic processor and a graphic processing method
JP4928676B2 (ja) ビデオ信号出力装置、ビデオ信号出力方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3823884B2 (ja) 大画面表示方式
EP1258836A2 (en) Image forming method, and computer program for forming image
JP3623422B2 (ja) 画像表示プログラムを記録した記録媒体、画像表示方法及びゲーム装置
JP3481913B2 (ja) 画像処理装置
JP3729187B2 (ja) 画像表示装置
JP4142427B2 (ja) 画像合成装置
WO2023187974A1 (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2008039890A (ja) 画像データ生成装置、画像再生装置、画像データ生成方法、画像再生方法、記録媒体、コンピュータプログラム
JP4124015B2 (ja) 画像表示装置
JPH07311568A (ja) 画像出力方法および装置
JP4115879B2 (ja) 画像表示装置
JP3575889B2 (ja) 画像処理における色加算回路
CN115601488A (zh) 渲染图像延迟补偿方法、装置、显示设备及存储介质
JP3147854B2 (ja) ゲーム装置及びゲーム表示方法
JPH10276406A (ja) 画像表示方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040517

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20040517

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20040601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040827

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040914

R150 Certificate of patent or registration of utility model

Ref document number: 3599728

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

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090924

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100924

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20100924

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110924

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110924

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120924

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120924

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120924

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130924

Year of fee payment: 9

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

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

EXPY Cancellation because of completion of term