JP2008077392A - Data structure, file data-processing program, and information storage medium - Google Patents

Data structure, file data-processing program, and information storage medium Download PDF

Info

Publication number
JP2008077392A
JP2008077392A JP2006255876A JP2006255876A JP2008077392A JP 2008077392 A JP2008077392 A JP 2008077392A JP 2006255876 A JP2006255876 A JP 2006255876A JP 2006255876 A JP2006255876 A JP 2006255876A JP 2008077392 A JP2008077392 A JP 2008077392A
Authority
JP
Japan
Prior art keywords
data
file data
area
memory
program
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.)
Granted
Application number
JP2006255876A
Other languages
Japanese (ja)
Other versions
JP4936521B2 (en
Inventor
Hidenori Kondo
英憲 近藤
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.)
Bandai Namco Entertainment Inc
Original Assignee
Namco Bandai Games Inc
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 Namco Bandai Games Inc filed Critical Namco Bandai Games Inc
Priority to JP2006255876A priority Critical patent/JP4936521B2/en
Publication of JP2008077392A publication Critical patent/JP2008077392A/en
Application granted granted Critical
Publication of JP4936521B2 publication Critical patent/JP4936521B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data structure, which makes the management of a memory easy and enables a computer to process a program at a high speed, a final data-processing program, and an information storage medium therefor. <P>SOLUTION: File data areas are secured on a memory, and file data are read in the file data areas to analyze the file data, and event data which are reference data are referred to. Then, areas, which dummy data occupy among the file data areas, are dynamically allocated, as the work areas, to the memory, and an event program is executed by use of the work areas. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、データ構造、ファイルデータ処理プログラム、情報記憶媒体に関する。   The present invention relates to a data structure, a file data processing program, and an information storage medium.

従来より、コンピュータが、メモリ上に領域を確保してファイルデータを読み込み、読み込まれたデータを参照して、所与のプログラムを実行するファイルデータ処理プログラムが多数存在する。そして、このようなファイルデータの処理では、さらにメモリ上にワーク領域を確保し、ワーク領域を利用して所与のプログラムを実行する場合が多い。   Conventionally, there are many file data processing programs in which a computer secures an area on a memory, reads file data, refers to the read data, and executes a given program. In such file data processing, a work area is further secured on the memory, and a given program is often executed using the work area.

しかしながら、ワーク領域をメモリ上に確保する場合において、さまざまな問題があった。例えば、ワーク領域の確保をオペレーティングシステムの処理に委ねると、処理速度が低速になるという問題があった。メモリ確保の処理は、汎用性を高めているので、低速になる場合が多いからである。したがってメモリの確保や開放の処理が頻繁に行われるとプログラムの実行処理に時間を要することになる。   However, there are various problems in securing the work area on the memory. For example, when the work area is secured to the operating system processing, there is a problem that the processing speed becomes low. This is because the memory securing process has increased versatility and is often slow. Therefore, if the process of securing or releasing the memory is frequently performed, it takes time to execute the program.

また、処理内容が複雑である場合や、メモリ上にワーク領域を確保する処理が多い場合には、確保されたワーク領域が開放されない場合がある。ワーク領域が開放されない場合には、メモリ資源が無駄になる。また、開放されないメモリ領域が増えるとメモリリークの問題が発生する。さらに、メモリの開放順序が正しく行われない場合には、メモリ上の空き領域の断片化が生じ、大容量のメモリの確保ができなくなる。
特開2001−137545号公報
In addition, when the processing content is complicated or when there are many processes for securing a work area on the memory, the secured work area may not be released. If the work area is not released, memory resources are wasted. Further, when the memory area that is not released increases, a memory leak problem occurs. Furthermore, if the memory release order is not correctly performed, free areas in the memory are fragmented, and a large-capacity memory cannot be secured.
JP 2001-137545 A

本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、メモリの管理を容易にし、コンピュータがプログラムを高速に処理することができるデータ構造、ファイルデータ処理プログラム、情報記憶媒体を提供することにある。   The present invention has been made in view of the problems as described above. The object of the present invention is to make it easy to manage a memory and to make a computer process a program at high speed, a file data processing program It is to provide an information storage medium.

(1)本発明は、
コンピュータが所与のプログラムを実行する際に参照する参照データを含むファイルデータのデータ構造であって、
前記ファイルデータは、
前記参照データに加えて、前記所与のプログラムを実行する際に利用されるワーク領域をメモリ上に確保するためのダミーデータを含み、
前記コンピュータが、
ファイルデータ領域をメモリ上に確保してから、前記ファイルデータ領域に前記ファイルデータを読み込み、
前記ファイルデータ領域のうち前記ダミーデータが占める領域をワーク領域としてメモリ上に割り当てるとともに、割り当てられた前記ワーク領域を用いて、前記ファイルデータ領域に読み込まれた前記参照データを参照しながら前記所与のプログラムを実行することを特徴とするデータ構造に関する。
(1) The present invention
A data structure of file data including reference data to be referred to when a computer executes a given program,
The file data is
In addition to the reference data, including dummy data for securing a work area used in executing the given program on the memory,
The computer is
After securing the file data area on the memory, the file data is read into the file data area,
An area occupied by the dummy data in the file data area is allocated as a work area on the memory, and the given data is referred to the reference data read into the file data area using the allocated work area. The present invention relates to a data structure characterized by executing the above program.

また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関係する。   The present invention also relates to an information storage medium that can be read by a computer and stores a program that causes the computer to function as each of the above-described units.

本発明によれば、ファイルデータは、参照データに加えてダミーデータを含むデータ構造であるので、コンピュータは、プログラムを実行する際に、ファイルデータ領域のうちダミーデータが占める領域をワーク領域として利用することができる。したがって、専らファイルデータ領域上の一部をワーク領域として割り当てればよいので、メモリの管理を容易に行うことができる。さらに、既に確保されたファイルデータ領域からワーク領域を割り当てるので高速に処理を行うことができる。   According to the present invention, since the file data has a data structure including dummy data in addition to the reference data, the computer uses the area occupied by the dummy data in the file data area as the work area when executing the program. can do. Therefore, it is sufficient to allocate a part of the file data area as a work area, so that the memory can be easily managed. Furthermore, since the work area is allocated from the already secured file data area, the processing can be performed at high speed.

また、本発明によれば、所与のプログラムで使用するメモリの使用量は、ファイルデータ領域の使用量に相当するので、ファイルデータの容量を確認すれば、メモリの使用量の上限を想定することができ、メモリ不足によるエラーを回避することができ、適切にメモリ管理を行うことができる。   Further, according to the present invention, the amount of memory used in a given program corresponds to the amount of file data area used, so if the capacity of file data is confirmed, the upper limit of the amount of memory used is assumed. Error due to memory shortage can be avoided, and memory management can be performed appropriately.

(2)また本発明のデータ構造及び情報記憶媒体では、
前記ファイルデータが、
前記ダミーデータを特定するオフセットデータを含み、
前記コンピュータが、
前記オフセットデータに基づいて、前記ワーク領域をメモリ上に割り当ててもよい。
(2) In the data structure and information storage medium of the present invention,
The file data is
Including offset data specifying the dummy data;
The computer is
The work area may be allocated on a memory based on the offset data.

本発明によれば、ファイルデータは、さらにオフセットデータを含むデータ構造であるので、ファイルデータ領域に読み込まれたオフセットデータに基づいて、ダミーデータが占める領域であるワーク領域を特定することができる。したがって、ワーク領域の割り当ての処理を高速に行うことができる。   According to the present invention, since the file data has a data structure that further includes offset data, the work area that is the area occupied by the dummy data can be specified based on the offset data read into the file data area. Therefore, work area allocation processing can be performed at high speed.

(3)また本発明のデータ構造及び情報記憶媒体では、
前記ファイルデータが、
前記所与のプログラムを実行する処理内容に応じた複数種類の参照データを含み、
前記コンピュータが、
前記オフセットデータに基づいて、前記各参照データと対応付けられたワーク領域をメモリ上に割り当ててもよい。
(3) In the data structure and information storage medium of the present invention,
The file data is
Including a plurality of types of reference data according to the processing contents for executing the given program,
The computer is
Based on the offset data, a work area associated with each reference data may be allocated on a memory.

本発明によれば、ファイルデータが複数種類の参照データを含み、コンピュータが、各参照データごとに空きメモリ領域ではなく既に確保されているファイルデータ領域のうちダミーデータが占める領域をワーク領域としてメモリ上に割り当てることができる。また、オフセットデータに基づいて、各参照データと対応付けられたワーク領域をメモリ上に割り当てることができる。したがって、コンピュータは、各参照データを参照し、各参照データに対応付けられたワーク領域の確保を高速に行うことできる。   According to the present invention, the file data includes a plurality of types of reference data, and the computer uses the area occupied by the dummy data as a work area in the already-allocated file data area instead of the empty memory area for each reference data. Can be assigned on top. Also, based on the offset data, a work area associated with each reference data can be allocated on the memory. Therefore, the computer can refer to each reference data and secure a work area associated with each reference data at high speed.

さらに、本発明によれば、各参照データに対応付けられたワーク領域が、ファイルデータ領域の一部として割り当てられるので、メモリ管理を容易に行うことができ、メモリ不足やメモリリークの問題を解消することができる。   Furthermore, according to the present invention, since the work area associated with each reference data is allocated as a part of the file data area, memory management can be easily performed, and the problem of memory shortage and memory leak is solved. can do.

(4)また本発明のデータ構造及び情報記憶媒体では、
前記ダミーデータが、
所定領域に所定値で埋められたシーケンシャルデータであることを特徴とするデータ構造としてもよい。
(4) In the data structure and information storage medium of the present invention,
The dummy data is
The data structure may be sequential data that is embedded in a predetermined area with a predetermined value.

本発明によれば、ダミーデータが所定領域に所定値で埋められたシーケンシャルデータであるので、ファイルデータを圧縮した場合には、通常のデータを圧縮した場合に比べて、データの容量を抑えることができる。   According to the present invention, since the dummy data is sequential data embedded in a predetermined area with a predetermined value, when the file data is compressed, the data capacity is suppressed as compared with the case where the normal data is compressed. Can do.

(5)本発明は、
コンピュータが所与のプログラムを実行する際に参照する参照データを含むファイルデータを用いて処理を行うファイルデータ処理プログラムであって、
ファイルデータ領域をメモリ上に確保する処理を行うメモリ管理部と、
前記参照データと、前記所与のプログラムを実行する際に利用されるワーク領域をメモリ上に確保するためのダミーデータと、を含むファイルデータを、前記ファイルデータ領域に読み込む処理を行う読み込み部と、
前記ファイルデータ領域に読み込まれた前記ファイルデータの前記参照データを参照して前記所与のプログラムを実行するプログラム実行部と、
を含み、
前記メモリ管理部が、
前記ファイルデータ領域のうち前記ダミーデータが占める領域をワーク領域としてメモリ上に割り当て、
前記プログラム実行部が、
割り当てた前記ワーク領域を用いて前記所与のプログラムを実行することを特徴とするファイルデータ処理プログラムに関する。
(5) The present invention
A file data processing program for performing processing using file data including reference data to be referred to when a computer executes a given program,
A memory management unit that performs processing to secure a file data area on the memory;
A reading unit that performs processing of reading file data including the reference data and dummy data for securing a work area used in executing the given program on a memory into the file data area; ,
A program execution unit that executes the given program with reference to the reference data of the file data read into the file data area;
Including
The memory management unit
The area occupied by the dummy data in the file data area is allocated as a work area on the memory,
The program execution unit is
The present invention relates to a file data processing program that executes the given program using the assigned work area.

また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関係する。   The present invention also relates to an information storage medium that can be read by a computer and stores a program that causes the computer to function as each of the above-described units.

本発明によれば、コンピュータは、プログラムを実行する際に、ファイルデータ領域のうちダミーデータが占める領域をワーク領域として利用することができる。したがって、専らファイルデータ領域上の一部をワーク領域として割り当てればよいので、メモリの管理を容易に行うことができる。さらに、既に確保されたファイルデータ領域からワーク領域を割り当てるので高速に処理を行うことができる。   According to the present invention, the computer can use the area occupied by the dummy data in the file data area as the work area when executing the program. Therefore, it is sufficient to allocate a part of the file data area as a work area, so that the memory can be easily managed. Furthermore, since the work area is allocated from the already secured file data area, the processing can be performed at high speed.

また、本発明によれば、所与のプログラムで使用するメモリの使用量は、ファイルデータ領域の使用量に相当するので、ファイルデータの容量を確認すれば、メモリの使用量の上限を想定することができ、メモリ不足によるエラーを回避することができ、適切にメモリ管理を行うことができる。   Further, according to the present invention, the amount of memory used in a given program corresponds to the amount of file data area used, so if the capacity of file data is confirmed, the upper limit of the amount of memory used is assumed. Error due to memory shortage can be avoided, and memory management can be performed appropriately.

さらに、コンピュータが、ファイルデータ領域を一度確保すれば、所与のプログラムを実行する際に必要となるワーク領域は、ファイルデータ領域の一部を割り当てればよいので、メモリ上の空き領域の一部を確保してワーク領域として割り当てる処理を行う必要がなく一元的にメモリ管理を行うことができる。   Furthermore, once the computer secures the file data area, the work area required for executing a given program may be allocated as a part of the file data area. It is not necessary to perform processing for securing a part and assigning it as a work area, so that memory management can be performed centrally.

(6)また本発明のプログラム及び情報記憶媒体では、
前記ファイルデータが、
前記ダミーデータを特定するオフセットデータを含み、
前記読み込み部が、
前記オフセットデータを含む前記ファイルデータを、メモリ上の前記ファイルデータ領域に読み込み、
前記メモリ管理部が、
前記オフセットデータに基づいて、前記ワーク領域をメモリ上に割り当ててもよい。
(6) In the program and information storage medium of the present invention,
The file data is
Including offset data specifying the dummy data;
The reading unit is
Read the file data including the offset data into the file data area on the memory,
The memory management unit
The work area may be allocated on a memory based on the offset data.

本発明によれば、ファイルデータは、さらにオフセットデータを含むデータ構造であるので、ファイルデータ領域に読み込まれたオフセットデータに基づいて、ダミーデータが占める領域であるワーク領域を特定することができる。したがって、ワーク領域の割り当ての処理を高速に行うことができる。   According to the present invention, since the file data has a data structure that further includes offset data, the work area that is the area occupied by the dummy data can be specified based on the offset data read into the file data area. Therefore, work area allocation processing can be performed at high speed.

(7)また本発明のプログラム及び情報記憶媒体では、
前記ファイルデータが、
前記所与のプログラムを実行する処理内容に応じた複数種類の参照データを含み、
前記メモリ管理部が、
前記オフセットデータに基づいて、前記各参照データと対応付けられたワーク領域をメモリ上に割り当てる処理を行ってもよい。
(7) In the program and information storage medium of the present invention,
The file data is
Including a plurality of types of reference data according to the processing contents for executing the given program,
The memory management unit
Based on the offset data, a process of allocating a work area associated with each reference data on a memory may be performed.

本発明によれば、ファイルデータが複数種類の参照データを含み、コンピュータが、各参照データごとに空きメモリ領域ではなく既に確保されているファイルデータ領域のうちダミーデータが占める領域をワーク領域としてメモリ上に割り当てることができる。また、オフセットデータに基づいて、各参照データと対応付けられたワーク領域をメモリ上に割り当てられる。したがって、コンピュータは、各参照データを参照し、各参照データに対応付けられたワーク領域の確保を高速に行うことができる。   According to the present invention, the file data includes a plurality of types of reference data, and the computer uses the area occupied by the dummy data as a work area in the already-allocated file data area instead of the empty memory area for each reference data. Can be assigned on top. In addition, based on the offset data, a work area associated with each reference data is allocated on the memory. Therefore, the computer can refer to each reference data and secure a work area associated with each reference data at high speed.

さらに、本発明によれば、各参照データに対応付けられたワーク領域が、ファイルデータ領域の一部として割り当てられるので、メモリ管理を容易に行うことができ、メモリ不足やメモリリークの問題を解消することができる。   Furthermore, according to the present invention, since the work area associated with each reference data is allocated as a part of the file data area, memory management can be easily performed, and the problem of memory shortage and memory leak is solved. can do.

(8)また本発明のプログラム及び情報記憶媒体では、
前記メモリ管理部が、
前記処理部において、所与の終了条件が成立した場合に、メモリ上に確保したファイルデータ領域を開放する処理を行ってもよい。
(8) In the program and information storage medium of the present invention,
The memory management unit
The processing unit may perform a process of releasing the file data area secured on the memory when a given end condition is satisfied.

本発明によれば、所与の終了条件が成立した場合には、ファイルデータ領域を一度に開放する。このように、メモリを一度に確保し、一度に開放を行うので、メモリの断片化の問題を解消することができる。   According to the present invention, when a given end condition is satisfied, the file data area is released at a time. As described above, since the memory is secured at one time and released at a time, the problem of memory fragmentation can be solved.

ここで、所与の終了条件が成立した場合とは、所与のプログラムが正常終了した場合のほか、例外的な処理により異常終了する場合も含む。   Here, the case where the given termination condition is satisfied includes the case where the given program ends abnormally due to exceptional processing in addition to the case where the given program ends normally.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   Hereinafter, this embodiment will be described. In addition, this embodiment demonstrated below does not unduly limit the content of this invention described in the claim. In addition, all the configurations described in the present embodiment are not necessarily essential configuration requirements of the present invention.

1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
1. Configuration FIG. 1 shows an example of a functional block diagram of an image generation system (game system) of the present embodiment. Note that the image generation system of the present embodiment may have a configuration in which some of the components (each unit) in FIG. 1 are omitted.

操作部160は、プレーヤがプレーヤオブジェクト(移動体オブジェクトの一例、プレーヤが操作するプレーヤ車両)の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。   The operation unit 160 is for a player to input operation data of a player object (an example of a moving object, a player vehicle operated by the player), and functions thereof are a lever, a button, a steering, a microphone, and a touch panel display. Alternatively, it can be realized by a housing or the like. The storage unit 170 serves as a work area for the processing unit 100, the communication unit 196, and the like, and its function can be realized by a RAM (VRAM) or the like.

情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。特に本実施形態の情報記憶媒体180では、ファイルデータ182が記憶される。情報記憶媒体180は、ファイルデータ182を圧縮したものを記憶してもよい。   The information storage medium 180 (computer-readable medium) stores programs, data, and the like, and functions as an optical disk (CD, DVD), magneto-optical disk (MO), magnetic disk, hard disk, and magnetic tape. Alternatively, it can be realized by a memory (ROM). The processing unit 100 performs various processes of the present embodiment based on a program (data) stored in the information storage medium 180. That is, the information storage medium 180 stores a program for causing a computer to function as each unit of the present embodiment (a program for causing a computer to execute processing of each unit). In particular, in the information storage medium 180 of this embodiment, file data 182 is stored. The information storage medium 180 may store a compressed version of the file data 182.

表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。   The display unit 190 outputs an image generated according to the present embodiment, and its function can be realized by a CRT, LCD, touch panel display, HMD (head mounted display), or the like. The sound output unit 192 outputs the sound generated by the present embodiment, and its function can be realized by a speaker, headphones, or the like.

携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。   The portable information storage device 194 stores player personal data, game save data, and the like. Examples of the portable information storage device 194 include a memory card and a portable game device. The communication unit 196 performs various controls for communicating with the outside (for example, a host device or other image generation system), and functions thereof are hardware such as various processors or communication ASICs, programs, and the like. It can be realized by.

なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信してもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含めることができる。   Note that a program (data) for causing a computer to function as each unit of this embodiment is distributed from the information storage medium of the host device (server) to the information storage medium 180 (storage unit 170) via the network and communication unit 196. May be. Use of the information storage medium of such a host device (server) can also be included in the scope of the present invention.

処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部100は記憶部170内の主記憶部172をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。   The processing unit 100 (processor) performs processing such as game processing, image generation processing, or sound generation processing based on operation data and programs from the operation unit 160. Here, as the game process, a process for starting a game when a game start condition is satisfied, a process for advancing the game, a process for placing an object such as a character or a map, a process for displaying an object, and a game result are calculated. There is a process or a process of ending a game when a game end condition is satisfied. The processing unit 100 performs various processes using the main storage unit 172 in the storage unit 170 as a work area. The functions of the processing unit 100 can be realized by hardware such as various processors (CPU, DSP, etc.), ASIC (gate array, etc.), and programs.

処理部100は、ゲーム処理部110、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。   The processing unit 100 includes a game processing unit 110, a drawing unit 120, and a sound generation unit 130. Note that some of these may be omitted.

ゲーム処理部110は、オブジェクト空間を設定する処理、オブジェクトの移動・演算処理、及び、仮想カメラを制御する処理を行う。   The game processing unit 110 performs processing for setting an object space, object movement / calculation processing, and processing for controlling a virtual camera.

オブジェクト空間設定部は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。   The object space setting unit displays various objects (objects composed of primitives such as polygons, free-form surfaces, or subdivision surfaces) that represent display objects such as characters, buildings, stadiums, cars, trees, columns, walls, and maps (terrain). The process of setting the placement in the object space is performed. In other words, the position and rotation angle of the object in the world coordinate system (synonymous with direction and direction) are determined, and the rotation angle (rotation angle around the X, Y, and Z axes) is determined at that position (X, Y, Z). Arrange objects.

移動・動作処理部は、オブジェクト(キャラクタ、車、電車又は飛行機等)の移動・動作演算(移動・動作シミュレーション)を行う。すなわち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。   The movement / motion processing unit performs movement / motion calculation (movement / motion simulation) of an object (such as a character, a car, a train, or an airplane). That is, based on operation data input by the player through the operation unit 160, a program (movement / motion algorithm), various data (motion data), or the like, the object is moved in the object space, or the object is moved (motion, animation). ) Process. Specifically, object movement information (position, rotation angle, speed, or acceleration) and motion information (position or rotation angle of each part that constitutes the object) are sequentially transmitted every frame (1/60 seconds). Perform the required simulation process. A frame is a unit of time for performing object movement / motion processing (simulation processing) and image generation processing.

仮想カメラ制御部は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。   The virtual camera control unit performs control processing of the virtual camera (viewpoint) for generating an image that can be seen from a given (arbitrary) viewpoint in the object space. Specifically, processing for controlling the position (X, Y, Z) or rotation angle (rotation angle about the X, Y, Z axis) of the virtual camera (processing for controlling the viewpoint position, the line-of-sight direction or the angle of view) I do.

例えば仮想カメラによりオブジェクト(例えばキャラクタ、ボール、車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動・動作処理部で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。   For example, when an object (eg, character, ball, car) is photographed from behind using a virtual camera, the position or rotation angle of the virtual camera (the direction of the virtual camera is set so that the virtual camera follows changes in the position or rotation of the object. ) To control. In this case, the virtual camera can be controlled based on information such as the position, rotation angle, or speed of the object obtained by the movement / motion processing unit. Alternatively, the virtual camera may be controlled to rotate at a predetermined rotation angle or to move along a predetermined movement path. In this case, the virtual camera is controlled based on the virtual camera data for specifying the position (movement path) or rotation angle of the virtual camera. When there are a plurality of virtual cameras (viewpoints), the above control process is performed for each virtual camera.

さらに、ゲーム処理部110は、メモリ管理部112、読み込み部114、解析部116、プログラム実行部118を含む。   Furthermore, the game processing unit 110 includes a memory management unit 112, a reading unit 114, an analysis unit 116, and a program execution unit 118.

メモリ管理部112は、メモリ上にプログラムの処理に必要な領域を確保する処理を行う。また、プログラムの実行中に、既に確保されたメモリ上の領域において動的にメモリを割り当てる処理を行う。さらに、確保した領域を開放する処理を行う。特に本実施形態のメモリ管理部112では、ファイルデータ182を読み込むためのファイルデータ領域を記憶部170の主記憶部172に確保する。   The memory management unit 112 performs processing for securing an area necessary for processing the program on the memory. Further, during the execution of the program, a process of dynamically allocating memory in an area on the already reserved memory is performed. Further, a process for releasing the secured area is performed. In particular, the memory management unit 112 of this embodiment secures a file data area for reading the file data 182 in the main storage unit 172 of the storage unit 170.

そして、本実施形態のメモリ管理部112は、ファイルデータ領域のうちダミーデータが占める領域を、所与のプログラムの実行の際に利用されるワーク領域としてメモリ上に動的に割り当てる処理を行う。所与のプログラムが複数存在する場合には、プログラムごとにワーク領域を動的に割り当てる処理を行ってもよい。   Then, the memory management unit 112 according to the present embodiment performs a process of dynamically allocating an area occupied by dummy data in the file data area as a work area used when executing a given program. When there are a plurality of given programs, processing for dynamically allocating work areas may be performed for each program.

本実施形態のメモリ管理部112では、所与の終了条件が成立した場合には、ファイルデータ領域を開放する処理を行うことができる。所与の終了条件が成立した場合とは、例えば、所与のプログラムが正常終了した場合である。所与のプログラムが複数存在する場合は、すべてのプログラムが正常終了した場合であってもよい。また、例外的な処理が発生し、異常終了した場合にもファイルデータ領域を開放する処理を行うことができる。このように、所与の終了条件の成立に伴い確保したファイルデータ領域上のメモリを開放することでメモリを有効に活用することができる。   The memory management unit 112 according to the present embodiment can perform processing for releasing the file data area when a given end condition is satisfied. The case where a given end condition is satisfied is, for example, a case where a given program ends normally. When there are a plurality of given programs, it may be a case where all the programs have ended normally. Further, even when exceptional processing occurs and the processing ends abnormally, processing for releasing the file data area can be performed. As described above, the memory can be effectively used by releasing the memory in the file data area secured when a given end condition is satisfied.

読み込み部114は、データをメモリ上に読み込む処理を行う。特に、本実施形態の読み込み部114では、メモリ上に確保されたファイルデータ領域に、ファイルデータ182を読み込む。   The reading unit 114 performs processing for reading data into the memory. In particular, the reading unit 114 of this embodiment reads the file data 182 into a file data area secured on the memory.

解析部116は、データを解析する処理を行う。特に本実施形態の解析部116では、ファイルデータ領域に読み込まれたファイルデータを解析する。具体的には、ファイルデータに含まれる参照データやオフセットデータを解析する。そして、ファイルデータに複数種類の参照データが含まれている場合には、各参照データごとに解析する。例えば、ファイルデータがイベントプログラムで参照される複数種類のイベントデータを含む場合には、イベントデータ毎に解析する。また、参照データがさらに複数の項目からなるデータである場合には、さらに各項目ごとに解析してもよい。   The analysis unit 116 performs processing for analyzing data. In particular, the analysis unit 116 of the present embodiment analyzes file data read into the file data area. Specifically, reference data and offset data included in file data are analyzed. If the file data includes a plurality of types of reference data, analysis is performed for each reference data. For example, when the file data includes a plurality of types of event data referenced by the event program, the analysis is performed for each event data. Further, when the reference data is data composed of a plurality of items, analysis may be performed for each item.

ここで、参照データとは、所与のプログラムで参照されるデータである。すなわち、参照データとは、所与のプログラムの演算処理で使用される値、データである。例えば参照データとして、イベントプログラムで参照されるイベントデータ等が挙げられる。   Here, the reference data is data referred to by a given program. That is, the reference data is values and data used in arithmetic processing of a given program. For example, the reference data includes event data that is referred to in the event program.

プログラム実行部118は、所与のプログラムを実行する処理を行う。特に本実施形態のプログラム実行部118は、メモリ管理部112で割り当てられたワーク領域を利用して、所与のプログラムを実行する。所与のプログラムとは、所与の命令に基づき実行されるプログラムのことをいう。例えば、イベント発生に伴う所与の命令に基づいて、解析部116で解析されたイベントデータを参照して、ワーク領域を利用してイベントプログラムを実行する処理を行う。   The program execution unit 118 performs processing for executing a given program. In particular, the program execution unit 118 of the present embodiment executes a given program using the work area allocated by the memory management unit 112. A given program refers to a program that is executed based on a given instruction. For example, based on a given command accompanying the occurrence of an event, the event data analyzed by the analysis unit 116 is referred to and a process for executing the event program is performed using the work area.

描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ174(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。   The drawing unit 120 performs drawing processing based on the results of various processing (game processing) performed by the processing unit 100, thereby generating an image and outputting the image to the display unit 190. When generating a so-called three-dimensional game image, first, object data (model data) including vertex data (vertex position coordinates, texture coordinates, color data, normal vector, α value, etc.) of each vertex of the object (model) ) Is input, and vertex processing (shading by a vertex shader) is performed based on the vertex data included in the input object data. When performing the vertex processing, vertex generation processing (tessellation, curved surface division, polygon division) for re-dividing the polygon may be performed as necessary. In the vertex processing, according to the vertex processing program (vertex shader program, first shader program), vertex movement processing, coordinate conversion (world coordinate conversion, camera coordinate conversion), clipping processing, perspective processing, and other geometric processing are performed. On the basis of the processing result, the vertex data given to the vertex group constituting the object is changed (updated or adjusted). Then, rasterization (scan conversion) is performed based on the vertex data after the vertex processing, and the surface of the polygon (primitive) is associated with the pixel. Subsequent to rasterization, pixel processing (shading or fragment processing by a pixel shader) for drawing pixels (fragments forming a display screen) constituting an image is performed. In pixel processing, according to a pixel processing program (pixel shader program, second shader program), various processes such as texture reading (texture mapping), color data setting / change, translucent composition, anti-aliasing, etc. are performed, and an image is processed. The final drawing color of the constituent pixels is determined, and the drawing color of the perspective-transformed object is output (drawn) to the drawing buffer 174 (a buffer capable of storing image information in units of pixels; VRAM, rendering target). That is, in pixel processing, per-pixel processing for setting or changing image information (color, normal, luminance, α value, etc.) in units of pixels is performed. Thereby, an image that can be seen from the virtual camera (given viewpoint) in the object space is generated. Note that when there are a plurality of virtual cameras (viewpoints), an image can be generated so that an image seen from each virtual camera can be displayed as a divided image on one screen.

なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。   The vertex processing and pixel processing are realized by hardware that enables polygon (primitive) drawing processing to be programmed by a shader program written in a shading language, so-called programmable shaders (vertex shaders and pixel shaders). Programmable shaders can be programmed with vertex-level processing and pixel-level processing, so that the degree of freedom of drawing processing is high, and expressive power is greatly improved compared to conventional hardware-based fixed drawing processing. Can do.

そして描画部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。   The drawing unit 120 performs geometry processing, texture mapping, hidden surface removal processing, α blending, and the like when drawing an object.

ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、オブジェクトデータ記憶部176に保存される。   In the geometry processing, processing such as coordinate conversion, clipping processing, perspective projection conversion, or light source calculation is performed on the object. Then, object data (positional coordinates of object vertices, texture coordinates, color data (luminance data), normal vector, α value, etc.) after geometry processing (after perspective projection conversion) is stored in the object data storage unit 176. Is done.

テクスチャマッピングは、記憶部170のテクスチャ記憶部に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170のテクスチャ記憶部からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。   Texture mapping is a process for mapping a texture (texel value) stored in the texture storage unit of the storage unit 170 to an object. Specifically, the texture (surface properties such as color (RGB) and α value) is read from the texture storage unit of the storage unit 170 using the texture coordinates set (given) to the vertex of the object. Then, a texture that is a two-dimensional image is mapped to an object. In this case, processing for associating pixels with texels, bilinear interpolation or the like is performed as texel interpolation.

隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。   As the hidden surface removal processing, hidden surface removal processing can be performed by a Z buffer method (depth comparison method, Z test) using a Z buffer (depth buffer) in which Z values (depth information) of drawing pixels are stored. . That is, when drawing pixels corresponding to the primitive of the object are drawn, the Z value stored in the Z buffer is referred to. Then, the Z value of the referenced Z buffer is compared with the Z value at the drawing pixel of the primitive, and the Z value at the drawing pixel is a Z value (for example, a small Z value) on the near side when viewed from the virtual camera. In some cases, the drawing process of the drawing pixel is performed and the Z value of the Z buffer is updated to a new Z value.

αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。   α blending (α synthesis) is a translucent synthesis process (usually α blending, addition α blending, subtraction α blending, or the like) based on an α value (A value).

なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。   The α value is information that can be stored in association with each pixel (texel, dot), for example, plus alpha information other than color information. The α value can be used as mask information, translucency (equivalent to transparency and opacity), bump information, and the like.

音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。   The sound generation unit 130 performs sound processing based on the results of various processes performed by the processing unit 100, generates game sounds such as BGM, sound effects, or sounds, and outputs the game sounds to the sound output unit 192.

なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。   Note that the image generation system of the present embodiment may be a system dedicated to the single player mode in which only one player can play, or may be a system having a multiplayer mode in which a plurality of players can play. Further, when a plurality of players play, game images and game sounds to be provided to the plurality of players may be generated using one terminal, or connected via a network (transmission line, communication line) or the like. Alternatively, it may be generated by distributed processing using a plurality of terminals (game machine, mobile phone).

2.本実施形態の手法
本実施形態のファイルデータ処理プログラムは、メモリ上にファイルデータ領域を確保し、ファイルデータをファイルデータ領域に読み込み、ファイルデータを解析して、参照データであるイベントデータを参照する。そして、ファイルデータ領域のうちダミーデータが占める領域をワーク領域としてメモリ上に動的に割り当て、ワーク領域を利用してイベントプログラムを実行する。このようにすれば、メモリの管理を容易に行うことができ、高速に処理することができるからである。
2. The method of the present embodiment The file data processing program of the present embodiment secures a file data area on the memory, reads the file data into the file data area, analyzes the file data, and refers to event data as reference data . Then, an area occupied by dummy data in the file data area is dynamically allocated on the memory as a work area, and the event program is executed using the work area. This is because the memory can be easily managed and processed at high speed.

ここで、本実施形態のイベントプログラムは、イベントの発生に伴い処理を行うプログラムである。より具体的には、イベントプログラムとは、操作部160によりプレーヤが入力した操作や、各種プログラムやデータに基づいて特定の現象が発生したときに発する信号、データ等に基づいて処理を行うプログラムである。さらに、ワーク領域とは、イベントプログラムを実行するために利用されるメモリ上の領域である。例えば、データを一時的に保持したり、演算結果等を一時的に記憶するために利用する領域である。また、ワーク領域は、データの加工を行うために利用してもよい。本実施形態のファイルデータ処理プログラムでは、ワーク領域をイベントプログラムの実行前や実行中などの所定の契機で割り当てる。   Here, the event program of the present embodiment is a program that performs processing in response to the occurrence of an event. More specifically, the event program is a program that performs processing based on an operation input by the player through the operation unit 160, a signal generated when a specific phenomenon occurs based on various programs or data, data, and the like. is there. Furthermore, the work area is an area on a memory used for executing an event program. For example, it is an area used for temporarily storing data and temporarily storing calculation results and the like. The work area may be used to process data. In the file data processing program of this embodiment, the work area is allocated at a predetermined timing such as before or during execution of the event program.

2.1 データ構造
次に、本実施形態のファイルデータのデータ構造について、従来の手法と比較しながら説明する。
2.1 Data Structure Next, the data structure of the file data according to the present embodiment will be described in comparison with a conventional method.

図2(A)は、従来の手法のファイルデータのデータ構造の一例を、図2(B)は、本実施形態のファイルデータのデータ構造の一例を示す。図2(A)に示すように、従来の手法のデータ構造は、イベントデータ200を含み、オフセットデータ及びダミーデータを含まないデータ構造である。一方、図2(B)に示すように、本実施形態のファイルデータのデータ構造は、オフセットデータ210、イベントデータ220、及びダミーデータ230を含むデータ構造である。   FIG. 2A shows an example of the data structure of the file data according to the conventional technique, and FIG. 2B shows an example of the data structure of the file data of the present embodiment. As shown in FIG. 2A, the data structure of the conventional method is a data structure that includes event data 200 and does not include offset data and dummy data. On the other hand, as shown in FIG. 2B, the data structure of the file data of this embodiment is a data structure including offset data 210, event data 220, and dummy data 230.

イベントデータとは、イベントプログラムを実行する際に参照される参照データであり、イベントプログラムを実行するために必要となる情報である。要するにイベントデータとは、イベントプログラムの実行処理の演算処理に必要な値、データである。イベントデータは、イベントプログラムの実行前に参照してもよいし、イベントプログラムの実行中に参照してもよい。また、イベントデータは、イベントプログラムを実行する処理内容に応じた複数種類のイベントデータであってもよい。具体的には、複数種類のイベントデータを予め用意し、各イベントデータを参照して、イベントプログラムを実行することができる。   Event data is reference data that is referred to when an event program is executed, and is information necessary to execute the event program. In short, event data refers to values and data required for arithmetic processing of event program execution processing. The event data may be referred to before the execution of the event program, or may be referred to during the execution of the event program. In addition, the event data may be a plurality of types of event data corresponding to the processing content for executing the event program. Specifically, a plurality of types of event data can be prepared in advance, and the event program can be executed with reference to each event data.

また、イベントデータは、識別番号または識別名を設けて、表示するオブジェクト、ワーク領域のサイズ、表示するオブジェクトのワールド座標系の座標値の各項目とを関連付けるようなデータとしてもよい。複数のイベントデータが存在する場合には、識別番号または識別名、各項目の内容を変えて、処理内容をそれぞれ異ならせることができる。このようにすれば、本実施形態でファイルデータを解析する場合には、識別番号や識別名に基づいて、各イベントデータを解析することができる。   Further, the event data may be data that provides an identification number or an identification name and associates each item of the object to be displayed, the size of the work area, and the coordinate value of the world coordinate system of the object to be displayed. When there are a plurality of event data, the contents of each item can be changed by changing the identification number or the identification name and the contents of each item. In this way, when analyzing the file data in this embodiment, each event data can be analyzed based on the identification number or the identification name.

例えば、オブジェクト空間においてオブジェクトを表示するイベントプログラムが参照するイベントデータは、識別番号と対応付けて、表示するオブジェクト、ワールド座標系の座標値及びワーク領域サイズを記録したデータとすることができる。   For example, event data referred to by an event program that displays an object in the object space may be data in which an object to be displayed, a coordinate value in the world coordinate system, and a work area size are recorded in association with an identification number.

ダミーデータとは、イベントプログラムを実行する際に利用されるワーク領域をメモリ上に確保するために、ファイルデータの所定領域に所定値を埋めたシーケンシャルデータである。ここでシーケンシャルデータとは、連続して埋められているデータであることをいう。   The dummy data is sequential data in which a predetermined value is embedded in a predetermined area of the file data in order to secure a work area used when executing the event program on the memory. Here, the sequential data means data that is continuously filled.

具体的には、予めメモリ上に確保しなければならないワーク領域のサイズ、または、ワーク領域として十分に必要とされるサイズが決定される。そして、ファイルデータにおいて、決定されたサイズの所定領域に所定値を埋める。このようにすれば、ファイルデータがメモリ上のファイルデータ領域に読み込まれた場合に、ダミーデータが占める領域をワーク領域として利用することができる。   Specifically, the size of the work area that must be secured in advance in the memory or the size that is sufficiently required as the work area is determined. In the file data, a predetermined value is filled in a predetermined area of the determined size. In this way, when the file data is read into the file data area on the memory, the area occupied by the dummy data can be used as the work area.

詳細に説明すると、例えば、10キロバイトのワーク領域を確保したい場合には、ファイルデータの10キロバイト分の所定領域に、0x00(NULL値)を埋める。このようにすれば、ファイルデータがメモリ上のファイルデータ領域に読み込まれた場合に、ファイルデータ領域上のダミーデータが占める領域は10キロバイトになるので、10キロバイト分のワーク領域が確保される。なお、所定値は必ずしも0x00である必要はなく、文字コード(例えばASCIIコード、シフトJISコード)により決められたコード(値、文字)でもよい。例えば0x00のように、所定値を所定領域に埋めるようにすれば、ファイルデータを圧縮した場合には、圧縮率を高めることができる。したがって、情報記憶媒体に、圧縮されたファイルデータを記憶させる場合を考慮すると、0x00を所定領域に埋めることが望ましいと考えられる。   More specifically, for example, when it is desired to secure a work area of 10 kilobytes, 0x00 (NULL value) is filled in a predetermined area of 10 kilobytes of file data. In this way, when the file data is read into the file data area on the memory, the area occupied by the dummy data on the file data area is 10 kilobytes, so a work area of 10 kilobytes is secured. The predetermined value is not necessarily 0x00, and may be a code (value, character) determined by a character code (for example, ASCII code, shift JIS code). For example, if a predetermined value is filled in a predetermined area such as 0x00, the compression rate can be increased when the file data is compressed. Therefore, considering the case where compressed file data is stored in the information storage medium, it may be desirable to fill 0x00 in a predetermined area.

なお、本実施形態のダミーデータは、専らワーク領域を確保するためのデータにすぎず、ダミーデータそのものを有効に活用していないが、ダミーデータの全部または一部を、イベントプログラムに利用されるデータとしてもよい。また、本実施形態のダミーデータは、複数種類の任意のコード(値、文字)で埋められたデータであってもよい。   Note that the dummy data of this embodiment is only data for securing a work area, and the dummy data itself is not effectively used, but all or part of the dummy data is used for the event program. It may be data. Further, the dummy data of the present embodiment may be data embedded with a plurality of types of arbitrary codes (values and characters).

オフセットデータとは、イベントプログラムが利用するワーク領域の先頭アドレスを示すオフセットアドレスである。したがって、オフセットアドレスに基づいてワーク領域を特定するので、ワーク領域の特定を容易に行うことができる。また、複数種類のイベントデータを参照してイベントプログラムを実行する場合には、それぞれのイベントプログラムで利用されるワーク領域の先頭アドレスを示すオフセットアドレスを用意する。   The offset data is an offset address indicating the start address of the work area used by the event program. Therefore, since the work area is specified based on the offset address, the work area can be easily specified. In addition, when an event program is executed with reference to a plurality of types of event data, an offset address indicating the start address of a work area used in each event program is prepared.

本実施形態のファイルデータは、メモリ上に確保されたファイルデータ領域に読み込まれて解析される。解析する手法としては、例えば、イベントデータ毎にワーク領域を特定できるように、イベントデータとオフセットアドレスを関連付けて解析する。また、複数種類のイベントデータが存在する場合には、イベントデータ毎に解析してもよい。例えば、イベントデータ毎の識別番号や識別名に、表示するオブジェクト、ワーク領域のサイズ、表示するオブジェクトのワールド座標系の座標値、表示するオブジェクトの各項目を対応付けて解析してもよい。   The file data of the present embodiment is read and analyzed in a file data area secured on the memory. As an analysis method, for example, event data and an offset address are associated and analyzed so that a work area can be specified for each event data. Further, when a plurality of types of event data exist, analysis may be performed for each event data. For example, the identification number or identification name for each event data may be analyzed by associating the displayed object, the size of the work area, the coordinate value of the displayed object in the world coordinate system, and each item of the displayed object.

なお、図2(B)に示す本実施形態のデータ構造のファイルデータは、情報記憶媒体に記憶される。ファイルデータを圧縮した圧縮ファイルデータを情報記憶媒体に記憶してもよい。このようにすれば、情報記憶媒体に記憶する容量を抑えることができる。   Note that the file data having the data structure of this embodiment shown in FIG. 2B is stored in an information storage medium. The compressed file data obtained by compressing the file data may be stored in the information storage medium. In this way, the capacity stored in the information storage medium can be suppressed.

2.2 メモリ管理
次に、本実施形態のファイルデータ処理プログラムにおいて、上述したファイルデータを用いたメモリ管理の手法について、従来の手法と比較しながら説明する。
2.2 Memory Management Next, in the file data processing program of this embodiment, a memory management method using the above-described file data will be described in comparison with a conventional method.

図3は、イベントプログラムを実行する前の初期状態のメモリマップの一例を示している。使用中の領域300は、オペレーティングシステムや他のプログラムが使用している領域である。一方、空き領域310は、ファイルデータ領域を確保することができる領域である。   FIG. 3 shows an example of a memory map in an initial state before the event program is executed. The in-use area 300 is an area used by the operating system and other programs. On the other hand, the free area 310 is an area where a file data area can be secured.

次に、イベントプログラムを実行するために、メモリの空き領域からファイルデータを読み込むためのファイルデータ領域を確保する。具体的には、ファイルデータの容量(サイズ)に応じたファイルデータ領域を確保する。このようにすれば、不必要に大容量のメモリを確保せずに必要な容量分のメモリを確保することができる。なお、メモリの容量に余裕があれば、ファイルデータのサイズ以上の容量のファイルデータ領域を確保してもよい。なお、ファイルデータを圧縮した圧縮ファイルデータが情報記憶媒体に記憶されている場合には、圧縮ファイルデータを伸張する処理を行い、伸張されたファイルデータの容量に基づいて、ファイルデータ領域を確保する。要するに、ファイルデータの容量に基づいて、メモリ上にファイルデータ領域を確保する処理を行う。   Next, in order to execute the event program, a file data area for reading file data from a free area of the memory is secured. Specifically, a file data area corresponding to the capacity (size) of the file data is secured. In this way, it is possible to secure a necessary amount of memory without unnecessarily securing a large capacity memory. If the memory capacity is sufficient, a file data area having a capacity larger than the file data size may be secured. When compressed file data obtained by compressing file data is stored in the information storage medium, the compressed file data is decompressed, and a file data area is secured based on the capacity of the decompressed file data. . In short, processing for securing a file data area on the memory is performed based on the capacity of the file data.

ファイルデータ領域を確保したら、情報記憶媒体に記憶されているファイルデータを、ファイルデータ領域に読み込む処理を行う。なお、圧縮ファイルデータが情報記憶媒体に記憶されている場合には、伸張する処理を行い、伸張されたファイルデータをファイルデータ領域に読み込む処理を行う。   When the file data area is secured, the file data stored in the information storage medium is read into the file data area. If the compressed file data is stored in the information storage medium, the decompression process is performed, and the decompressed file data is read into the file data area.

図4は、従来の手法において、メモリ上にファイルデータ領域を確保し、ファイルデータが読み込まれたときのメモリマップの一例を示している。なお、ファイルデータ領域410は、イベントデータ412が格納されている。   FIG. 4 shows an example of a memory map when a file data area is secured on the memory and the file data is read in the conventional method. The file data area 410 stores event data 412.

図5は、本実施形態において、メモリ上にファイルデータ領域を確保し、ファイルデータが読み込まれたときのメモリマップの一例を示している。ファイルデータ領域510は、オフセットデータ512、イベントデータ514、ダミーデータ516が格納されている。本実施形態のファイルデータはオフセットデータ及びダミーデータを含むので、従来の手法に比べてメモリ上に確保されるファイルデータ領域のサイズが大きくなる。しかし、オフセットデータは、ワーク領域の先頭を示すオフセットアドレスのデータであるので、ファイルデータ全体のうちオフセットデータの容量は極僅かである。また、本実施形態では、ダミーデータが占める領域をワーク領域として、ワーク領域含むファイルデータ領域を確保する。一方、従来の手法では、ファイルデータ領域を確保した後に、ワーク領域を確保する。したがって、本実施形態においてメモリ上で使用される領域のサイズは、従来の手法においてメモリ上で使用される領域のサイズと殆ど変わらない。   FIG. 5 shows an example of a memory map when a file data area is secured on the memory and the file data is read in this embodiment. The file data area 510 stores offset data 512, event data 514, and dummy data 516. Since the file data of the present embodiment includes offset data and dummy data, the size of the file data area secured on the memory is larger than that of the conventional method. However, since the offset data is offset address data indicating the head of the work area, the capacity of the offset data in the entire file data is very small. In the present embodiment, a file data area including a work area is secured by using an area occupied by dummy data as a work area. On the other hand, in the conventional method, after a file data area is secured, a work area is secured. Therefore, the size of the area used on the memory in this embodiment is almost the same as the size of the area used on the memory in the conventional method.

次に、本実施形態のファイルデータ処理プログラムが、イベントプログラムで利用されるワーク領域を割り当てる手法について、従来の手法を比較しながら説明する。   Next, a method in which the file data processing program according to the present embodiment allocates a work area used in the event program will be described by comparing the conventional methods.

従来の手法では、メモリ上に格納されたイベントデータを参照し、イベントデータに必要なワーク領域を空き領域から確保して、イベントプログラムを実行する。イベントデータが複数存在する場合には、イベントデータ毎にイベントプログラムのワーク領域を空き領域から確保する。   In the conventional technique, event data stored in a memory is referred to, a work area necessary for event data is secured from a free area, and an event program is executed. When there are a plurality of event data, the work area of the event program is secured from the free area for each event data.

図6は、従来の手法のワーク領域を確保したときのメモリマップの一例を示す。例えば、図6に示すように、ファイルデータ領域610にイベントデータ1(612)、イベントデータ2(614)、イベントデータ3(616)が格納されている。従来の手法では、イベントデータ1を参照して実行するイベントプログラムは、空き領域からワーク領域1(620)を確保し、ワーク領域1(620)を利用してプログラムを実行する。また、イベントデータ2を参照して実行されるイベントプログラムは、ワーク領域2(630)を確保し、イベントプログラムを実行する。イベントデータ3を参照して実行されるイベントプログラムは、ワーク領域3(640)を確保してイベントプログラムを実行する。   FIG. 6 shows an example of a memory map when the work area of the conventional method is secured. For example, as shown in FIG. 6, event data 1 (612), event data 2 (614), and event data 3 (616) are stored in the file data area 610. In the conventional method, an event program executed with reference to event data 1 secures a work area 1 (620) from a free area, and executes the program using the work area 1 (620). The event program executed with reference to the event data 2 secures the work area 2 (630) and executes the event program. The event program executed by referring to the event data 3 secures the work area 3 (640) and executes the event program.

従来の手法では、メモリ上の空き領域にイベントプログラムに利用されるワーク領域を確保していた。したがって、イベントプログラムを実行する度にメモリの空き容量やワーク領域の確保及び開放を考慮しなければならないので、メモリの管理が煩雑であった。また、ワーク領域の確保の処理は、オペレーティングシステムの処理に委ねており、処理が低速になっていた。   In the conventional method, a work area used for an event program is secured in a free area on a memory. Therefore, every time an event program is executed, it is necessary to consider securing and releasing the free space of the memory and the work area, so that the memory management is complicated. Further, the work area securing process is left to the operating system process, and the process is slow.

一方、本実施形態のファイルデータ処理プログラムでは、メモリ上のファイルデータ領域に格納されたイベントデータを参照し、ファイルデータ領域のうちダミーデータが占める領域をワーク領域として割り当てる。そして、ワーク領域を利用してイベントプログラムを実行する。   On the other hand, in the file data processing program of this embodiment, the event data stored in the file data area on the memory is referred to, and the area occupied by the dummy data in the file data area is assigned as the work area. Then, the event program is executed using the work area.

図7は、本実施形態のワーク領域を割り当てたときのメモリマップの一例を示す。図7に示すように、ファイルデータ領域710に格納されているイベントデータ1(712)を参照して実行するイベントプログラムは、ファイルデータ領域のうちダミーデータが占めるワーク領域1(715)を動的に割り当てられる。ダミーデータはオフセットアドレスに基づいて特定することができる。また、同様にイベントデータ2(713)を参照して実行するイベントプログラムは、ワーク領域2(716)を動的に割り当てられる。また、イベントデータ3(714)を参照して実行するイベントプログラムは、ワーク領域3(717)を動的に割り当てられる。   FIG. 7 shows an example of a memory map when the work area of this embodiment is allocated. As shown in FIG. 7, the event program executed by referring to the event data 1 (712) stored in the file data area 710 dynamically uses the work area 1 (715) occupied by dummy data in the file data area. Assigned to. The dummy data can be specified based on the offset address. Similarly, an event program executed with reference to event data 2 (713) is dynamically assigned work area 2 (716). An event program executed with reference to event data 3 (714) is dynamically assigned work area 3 (717).

従来の手法では、メモリの空き領域からワーク領域を確保するのに対して、本実施形態では、既に確保されたファイルデータ領域のうちダミーデータが占める領域をワーク領域として割り当てる。本実施形態では、メモリ上のワーク領域の確保の処理をオペレーティングシステムではなく、ファイルデータ領域の一部を動的に割り当てるように処理しているので、従来に比べて処理速度を高めることがでる。また、ファイルデータ領域のメモリを管理すればよいので、イベントプログラムを実行する度にメモリの空き容量や、ワーク領域の開放などを考慮する必要がない。したがって、メモリの管理を容易に行うことができる。   In the conventional method, the work area is secured from the free area of the memory. In the present embodiment, the area occupied by the dummy data in the already secured file data area is allocated as the work area. In this embodiment, the processing for securing the work area on the memory is performed not by the operating system but by dynamically allocating a part of the file data area, so that the processing speed can be increased compared to the conventional method. . Further, since it is sufficient to manage the memory in the file data area, it is not necessary to consider the free space of the memory or the release of the work area every time the event program is executed. Therefore, the memory can be easily managed.

本実施形態のワーク領域を割り当てる手法について説明する。本実施形態のファイルデータ処理プログラムでは、従来行われていたメモリ確保のメソッドを多重定義し、ファイルデータ領域の一部の領域をワーク領域として動的に割り当てる処理を行う。いわゆるオーバーロードによってワーク領域を動的に割り当てる処理を行う。具体的には、オペレーティングシステムによるメモリを確保するメソッドを、同名のメソッドで戻り値や引数の数を変更してファイルデータ領域に確保した領域からメモリを割り当てるようにメソッドを定義する。例えば、イベントデータに対応付けられたオフセットアドレスに基づいて、ワーク領域の先頭のアドレスを指定し、ワーク領域として確保すべき容量に基づいてワーク領域を割り当てるように定義する。そして、ワーク領域を確保する場合には、オペレーティングシステムによるメモリを確保するメソッドではなく、ファイルデータ領域に確保した領域からメモリを割り当てるメソッドを呼び出す。このようにすれば、既に確保されたメモリ上のファイルデータ領域を割り当てるので、コンピュータの処理速度は、従来の手法に比べて格段に速い。   A method of assigning work areas according to the present embodiment will be described. In the file data processing program of this embodiment, a conventional method for securing a memory is overloaded, and a part of the file data area is dynamically allocated as a work area. A work area is dynamically allocated by so-called overloading. Specifically, a method for allocating memory from the area secured in the file data area by changing the return value and the number of arguments by the method having the same name as the method for allocating memory by the operating system is defined. For example, the start address of the work area is designated based on the offset address associated with the event data, and the work area is defined to be assigned based on the capacity to be secured as the work area. When a work area is secured, a method for allocating memory is called from an area secured in the file data area, not a method for securing memory by the operating system. In this way, since the file data area on the already secured memory is allocated, the processing speed of the computer is much faster than the conventional method.

さらに、本実施形態によれば、ワーク領域の割り当ての処理速度の向上のみならず、メモリの断片化の問題を解消することができる。   Furthermore, according to the present embodiment, not only the work area allocation processing speed is improved, but also the problem of memory fragmentation can be solved.

図8は、従来の手法のワーク領域を開放したときのメモリマップの一例を示す。図9は、本実施形態のワーク領域を開放したときのメモリマップの一例を示す。   FIG. 8 shows an example of a memory map when the work area of the conventional method is released. FIG. 9 shows an example of a memory map when the work area of this embodiment is released.

従来の手法では、ワーク領域を利用しなくなった場合においても、メモリの開放をせずに確保したままにしたり、複数のワーク領域を確保した場合に開放順序を誤ることで、空きメモリの断片化が生じていた。メモリの管理を、オペレーティングシステムの処理に委ねていたからである。例えば、図8に示すように、開放された領域は、空き領域830のみで、ワーク領域1(820)、ワーク領域3(840)は開放されずに確保されたままの状態になる。   With conventional methods, even when the work area is no longer used, free memory is fragmented by leaving the memory area free without releasing it, or by reordering the release order when multiple work areas are secured. Has occurred. This is because the management of the memory is left to the processing of the operating system. For example, as shown in FIG. 8, the released area is only the free area 830, and the work area 1 (820) and the work area 3 (840) remain secured without being released.

図8に示すように、空き領域が断片的に生じてしまうと、まとまって大きな容量のメモリを確保することができなくなってしまう。また、実際には使用していないメモリ上の領域が確保されたままの状態になるので、メモリ資源が無駄になり、本来必要とされるメモリの確保ができずに、システムの障害が発生するおそれがある。   As shown in FIG. 8, if free areas are generated in pieces, it becomes impossible to secure a large capacity of memory. In addition, since the area on the memory that is not actually used remains reserved, the memory resources are wasted, the memory that is originally required cannot be secured, and a system failure occurs. There is a fear.

これに対して、図9に示すように本実施形態では、ファイルデータ領域を開放した場合に、ファイルデータ領域が確保されていた領域910が空き領域になる。ワーク領域であった領域916も含めてファイルデータ領域が一度に開放されるので、メモリの断片化の問題を解消することができる。   On the other hand, as shown in FIG. 9, in this embodiment, when the file data area is released, the area 910 in which the file data area is secured becomes a free area. Since the file data area including the area 916 which is the work area is released at once, the problem of memory fragmentation can be solved.

このように、本実施形態のファイルデータ処理プログラムでは、図9に示すように既にメモリ上に確保されたファイルデータ領域を所与の終了条件の成立に伴って開放する。したがって、一度に確保された領域が一度に開放されるので、従来問題となっていたメモリの断片化を防止することができる。また、各ワーク領域の開放を考慮する必要もないので、メモリ管理を容易に行うことができる。   Thus, in the file data processing program of this embodiment, as shown in FIG. 9, the file data area already secured on the memory is released when a given end condition is satisfied. Therefore, since the area secured at one time is released at a time, memory fragmentation, which has been a problem in the past, can be prevented. In addition, since it is not necessary to consider the release of each work area, memory management can be easily performed.

3.本実施形態の処理
次に、本実施形態のファイルデータ処理プログラムの詳細な処理例について図10のフローチャートを用いて説明する。
3. Processing of this embodiment Next, a detailed processing example of the file data processing program of this embodiment will be described with reference to the flowchart of FIG.

まず、ファイルデータを読み込むためのファイルデータ領域をメモリ上に確保する(ステップS10)。ファイルデータのサイズに基づいて、ファイルデータ領域を確保してもよい。例えば、ファイルデータのサイズが128メガバイトである場合には、ファイルデータ領域を128メガバイトで確保する。   First, a file data area for reading file data is secured on the memory (step S10). A file data area may be secured based on the size of the file data. For example, when the size of the file data is 128 megabytes, the file data area is secured with 128 megabytes.

次に、ファイルデータをファイルデータ領域に読み込む。(ステップS20)。ファイルデータ領域に読み込まれたファイルデータのダミーデータが占めるメモリ上の領域が、ワーク領域として利用される。   Next, the file data is read into the file data area. (Step S20). An area on the memory occupied by dummy data of the file data read into the file data area is used as a work area.

次に、メモリに読み込まれたファイルデータを解析する(ステップS30)。複数種類のイベントデータが存在する場合には、イベントデータ毎に解析してもよい。また、各イベントデータに対応付けてオフセットアドレスを特定できるように解析してもよい。   Next, the file data read into the memory is analyzed (step S30). When multiple types of event data exist, analysis may be performed for each event data. Further, analysis may be performed so that an offset address can be specified in association with each event data.

続いて、解析結果に基づいてイベントデータを参照する(ステップS40)。   Subsequently, event data is referred to based on the analysis result (step S40).

そして、イベントデータに対応するオフセットアドレスを取得し(ステップS50)、オフセットアドレスに基づいて、イベントプログラムに利用されるワーク領域を割り当てる(ステップS60)。例えば、オフセットアドレスに基づいてアドレス100番地に、10キロバイトのワーク領域を割り当てるように処理を行う。ワーク領域を利用する前に0x00で初期化するようにしてもよい。そして、イベントプログラムは、ワーク領域を利用してイベントプログラムを実行する(ステップS70)。   Then, an offset address corresponding to the event data is acquired (step S50), and a work area used for the event program is allocated based on the offset address (step S60). For example, processing is performed so that a work area of 10 kilobytes is assigned to address 100 based on the offset address. It may be initialized with 0x00 before using the work area. Then, the event program executes the event program using the work area (step S70).

イベントプログラムの実行後は、次のイベントデータあるかを判断し(ステップS80)、次のイベントデータがある場合には(ステップS80のYes)、ステップS40〜ステップS80を繰り返し行う。イベントデータがない場合には、(ステップS80のNo)ファイルデータ領域を開放する(ステップS90)。   After the event program is executed, it is determined whether there is next event data (step S80). If there is next event data (Yes in step S80), steps S40 to S80 are repeated. If there is no event data (No in step S80), the file data area is released (step S90).

4.ハードウェア構成
図11に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、DVD982(情報記憶媒体。CDでもよい。)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
4). Hardware Configuration FIG. 11 shows an example of a hardware configuration capable of realizing this embodiment. The main processor 900 operates based on a program stored in a DVD 982 (information storage medium, which may be a CD), a program downloaded via the communication interface 990, a program stored in the ROM 950, or the like. Perform processing, sound processing, etc. The coprocessor 902 assists the processing of the main processor 900, and executes matrix operation (vector operation) at high speed. For example, when a matrix calculation process is required for a physical simulation for moving or moving an object, a program operating on the main processor 900 instructs (requests) the process to the coprocessor 902.

ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。   The geometry processor 904 performs geometry processing such as coordinate conversion, perspective conversion, light source calculation, and curved surface generation based on an instruction from a program operating on the main processor 900, and executes matrix calculation at high speed. The data decompression processor 906 performs decoding processing of compressed image data and sound data, and accelerates the decoding processing of the main processor 900. Thereby, a moving image compressed by the MPEG method or the like can be displayed on the opening screen or the game screen.

描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。頂点シェーダやピクセルシェーダなどのプログラマブルシェーダが実装されている場合には、シェーダプログラムに従って、頂点データの作成・変更(更新)やピクセル(あるいはフラグメント)の描画色の決定を行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。   The drawing processor 910 executes drawing (rendering) processing of an object composed of primitive surfaces such as polygons and curved surfaces. When drawing an object, the main processor 900 uses the DMA controller 970 to pass the drawing data to the drawing processor 910 and, if necessary, transfers the texture to the texture storage unit 924. Then, the drawing processor 910 draws the object in the frame buffer 922 while performing hidden surface removal using a Z buffer or the like based on the drawing data and texture. The drawing processor 910 also performs α blending (translucent processing), depth cueing, mip mapping, fog processing, bilinear filtering, trilinear filtering, anti-aliasing, shading processing, and the like. When a programmable shader such as a vertex shader or a pixel shader is installed, the vertex data is created / changed (updated) and the drawing color of a pixel (or fragment) is determined according to the shader program. When an image for one frame is written in the frame buffer 922, the image is displayed on the display 912.

サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。   The sound processor 930 includes a multi-channel ADPCM sound source and the like, generates game sounds such as BGM, sound effects, and sounds, and outputs them through the speaker 932. Data from the game controller 942 and the memory card 944 is input via the serial interface 940.

ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980(CDドライブでもよい。)は、プログラム、画像データ、或いは音データなどが格納されるDVD982(CDでもよい。)にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。   The ROM 950 stores system programs and the like. In the case of an arcade game system, the ROM 950 functions as an information storage medium, and various programs are stored in the ROM 950. A hard disk may be used instead of the ROM 950. The RAM 960 is a work area for various processors. The DMA controller 970 controls DMA transfer between the processor and the memory. The DVD drive 980 (may be a CD drive) accesses a DVD 982 (may be a CD) in which programs, image data, sound data, and the like are stored. The communication interface 990 performs data transfer with the outside via a network (communication line, high-speed serial bus).

なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。   The processing of each unit (each unit) in this embodiment may be realized entirely by hardware, or may be realized by a program stored in an information storage medium or a program distributed via a communication interface. Also good. Alternatively, it may be realized by both hardware and a program.

そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。   When the processing of each part of this embodiment is realized by both hardware and a program, a program for causing the hardware (computer) to function as each part of this embodiment is stored in the information storage medium. More specifically, the program instructs the processors 902, 904, 906, 910, and 930, which are hardware, and passes data if necessary. Each processor 902, 904, 906, 910, 930 realizes the processing of each unit of the present invention based on the instruction and the passed data.

なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。また接触痕跡の表現手法も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。   The present invention is not limited to the one described in the above embodiment, and various modifications can be made. For example, terms cited as broad or synonymous terms in the description in the specification or drawings can be replaced by broad or synonymous terms in other descriptions in the specification or drawings. Further, the method of expressing the contact trace is not limited to that described in the present embodiment, and a method equivalent to these is also included in the scope of the present invention.

なお、イベントプログラムに限らず、ワーク領域を利用する種々のプログラムにおいて、ダミーデータを含むファイルデータをメモリ上に読み込み、ダミーデータが占める領域をワーク領域として動的に割り当てるようにしてもよい。   Not only the event program but also various programs using the work area, file data including dummy data may be read into the memory, and the area occupied by the dummy data may be dynamically allocated as the work area.

また、ファイルデータには、オフセットデータ、参照データ、ダミーデータの他に種々のデータを含むようにしてもよい。   The file data may include various data in addition to the offset data, reference data, and dummy data.

なお、本実施形態のメモリ管理部112のファイルデータ領域の確保は、オペレーティングシステムの処理により確保してもよいし、動的にファイルデータ領域を確保してもよい。また、本実施形態のメモリ管理部112は、ガベージコレクションや、ヒープ領域の拡張や縮小等の処理、メモリ不足の例外処理等の種々のメモリ管理を行うようにしてもよい。   The file management area 112 of the memory management unit 112 according to this embodiment may be secured by operating system processing, or may be dynamically secured. Further, the memory management unit 112 according to the present embodiment may perform various types of memory management such as garbage collection, heap area expansion / reduction processing, and memory shortage exception processing.

本実施形態の画像生成システムの機能ブロック図の例。The example of a functional block diagram of the image generation system of this embodiment. 図2(A)(B)はデータ構造の説明図。2A and 2B are explanatory diagrams of the data structure. メモリの初期状態の説明図。Explanatory drawing of the initial state of memory. 従来のファイルデータ領域の説明図。Explanatory drawing of the conventional file data area. 本実施形態のファイルデータ領域の説明図。Explanatory drawing of the file data area | region of this embodiment. 従来のワーク領域の説明図。Explanatory drawing of the conventional work area | region. 本実施形態のワーク領域の説明図。Explanatory drawing of the work area | region of this embodiment. 従来のワーク領域の開放の説明図。Explanatory drawing of the open | release of the conventional work area | region. 本実施形態のファイルデータ領域の開放の説明図。Explanatory drawing of opening of the file data area | region of this embodiment. 本実施形態の処理のフローチャート。The flowchart of the process of this embodiment. ハードウェア構成例。Hardware configuration example.

符号の説明Explanation of symbols

100 処理部、110 ゲーム処理部、112 メモリ管理部、114 読み込み部、
116 解析部、118 プログラム実行部、120 描画部、130 音生成部、
160 操作部、170 記憶部、172 主記憶部、174 描画バッファ、
180 情報記憶媒体、190 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部
100 processing unit, 110 game processing unit, 112 memory management unit, 114 reading unit,
116 analysis unit, 118 program execution unit, 120 drawing unit, 130 sound generation unit,
160 operation unit, 170 storage unit, 172 main storage unit, 174 drawing buffer,
180 information storage medium, 190 display unit, 192 sound output unit,
194 Portable information storage device, 196 communication unit

Claims (10)

コンピュータが所与のプログラムを実行する際に参照する参照データを含むファイルデータのデータ構造であって、
前記ファイルデータは、
前記参照データに加えて、前記所与のプログラムを実行する際に利用されるワーク領域をメモリ上に確保するためのダミーデータを含み、
前記コンピュータが、
ファイルデータ領域をメモリ上に確保してから、前記ファイルデータ領域に前記ファイルデータを読み込み、
前記ファイルデータ領域のうち前記ダミーデータが占める領域をワーク領域としてメモリ上に割り当てるとともに、割り当てられた前記ワーク領域を用いて、前記ファイルデータ領域に読み込まれた前記参照データを参照しながら前記所与のプログラムを実行することを特徴とするデータ構造。
A data structure of file data including reference data to be referred to when a computer executes a given program,
The file data is
In addition to the reference data, including dummy data for securing a work area used in executing the given program on the memory,
The computer is
After securing the file data area on the memory, the file data is read into the file data area,
An area occupied by the dummy data in the file data area is allocated as a work area on the memory, and the given data is referred to the reference data read into the file data area using the allocated work area. A data structure characterized by executing the program.
請求項1において、
前記ファイルデータが、
前記ダミーデータを特定するオフセットデータを含み、
前記コンピュータが、
前記オフセットデータに基づいて、前記ワーク領域をメモリ上に割り当てることを特徴とするデータ構造。
In claim 1,
The file data is
Including offset data specifying the dummy data;
The computer is
A data structure, wherein the work area is allocated on a memory based on the offset data.
請求項2において、
前記ファイルデータが、
前記所与のプログラムを実行する処理内容に応じた複数種類の参照データを含み、
前記コンピュータが、
前記オフセットデータに基づいて、前記各参照データと対応付けられたワーク領域をメモリ上に割り当てることを特徴とするデータ構造。
In claim 2,
The file data is
Including a plurality of types of reference data according to the processing contents for executing the given program,
The computer is
A data structure, wherein a work area associated with each reference data is allocated on a memory based on the offset data.
請求項1〜3のいずれかにおいて、
前記ダミーデータが、
所定領域に所定値で埋められたシーケンシャルデータであることを特徴とするデータ構造。
In any one of Claims 1-3,
The dummy data is
A data structure, which is sequential data embedded in a predetermined area with a predetermined value.
コンピュータ読み取り可能な情報記憶媒体であって、請求項1〜4のいずれかのデータ構造を有するファイルデータを記憶したことを特徴とする情報記憶媒体。   A computer-readable information storage medium, wherein the file data having the data structure according to any one of claims 1 to 4 is stored. コンピュータが所与のプログラムを実行する際に参照する参照データを含むファイルデータを用いて処理を行うファイルデータ処理プログラムであって、
ファイルデータ領域をメモリ上に確保する処理を行うメモリ管理部と、
前記参照データと、前記所与のプログラムを実行する際に利用されるワーク領域をメモリ上に確保するためのダミーデータと、を含むファイルデータを、前記ファイルデータ領域に読み込む処理を行う読み込み部と、
前記ファイルデータ領域に読み込まれた前記ファイルデータの前記参照データを参照して前記所与のプログラムを実行するプログラム実行部と、
を含み、
前記メモリ管理部が、
前記ファイルデータ領域のうち前記ダミーデータが占める領域をワーク領域としてメモリ上に割り当て、
前記プログラム実行部が、
割り当てた前記ワーク領域を用いて前記所与のプログラムを実行することを特徴とするファイルデータ処理プログラム。
A file data processing program for performing processing using file data including reference data to be referred to when a computer executes a given program,
A memory management unit that performs processing to secure a file data area on the memory;
A reading unit that performs processing of reading file data including the reference data and dummy data for securing a work area used in executing the given program on a memory into the file data area; ,
A program execution unit that executes the given program with reference to the reference data of the file data read into the file data area;
Including
The memory management unit
The area occupied by the dummy data in the file data area is allocated as a work area on the memory,
The program execution unit is
A file data processing program, wherein the given program is executed using the assigned work area.
請求項6において、
前記ファイルデータが、
前記ダミーデータを特定するオフセットデータを含み、
前記読み込み部が、
前記オフセットデータを含む前記ファイルデータを、メモリ上の前記ファイルデータ領域に読み込み、
前記メモリ管理部が、
前記オフセットデータに基づいて、前記ワーク領域をメモリ上に割り当てる処理を行うことを特徴とするファイルデータ処理プログラム。
In claim 6,
The file data is
Including offset data specifying the dummy data;
The reading unit is
Read the file data including the offset data into the file data area on the memory,
The memory management unit
A file data processing program for performing a process of allocating the work area on a memory based on the offset data.
請求項7において、
前記ファイルデータが、
前記所与のプログラムを実行する処理内容に応じた複数種類の参照データを含み、
前記メモリ管理部が、
前記オフセットデータに基づいて、前記各参照データと対応付けられたワーク領域をメモリ上に割り当てる処理を行うことを特徴とするファイルデータ処理プログラム。
In claim 7,
The file data is
Including a plurality of types of reference data according to the processing contents for executing the given program,
The memory management unit
A file data processing program for performing a process of allocating a work area associated with each reference data on a memory based on the offset data.
請求項6〜8のいずれかにおいて、
前記メモリ管理部が、
前記処理部において、所与の終了条件が成立した場合に、メモリ上に確保したファイルデータ領域を開放する処理を行うことを特徴とするファイルデータ処理プログラム。
In any one of Claims 6-8,
The memory management unit
A file data processing program for performing a process of releasing a file data area secured on a memory when a given end condition is satisfied in the processing unit.
コンピュータ読み取り可能な情報記憶媒体であって、請求項6〜9のいずれかのファイルデータ処理プログラムを記憶したことを特徴とする情報記憶媒体。   A computer-readable information storage medium, wherein the file data processing program according to any one of claims 6 to 9 is stored.
JP2006255876A 2006-09-21 2006-09-21 Data structure, file data processing program, information storage medium Expired - Fee Related JP4936521B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006255876A JP4936521B2 (en) 2006-09-21 2006-09-21 Data structure, file data processing program, information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006255876A JP4936521B2 (en) 2006-09-21 2006-09-21 Data structure, file data processing program, information storage medium

Publications (2)

Publication Number Publication Date
JP2008077392A true JP2008077392A (en) 2008-04-03
JP4936521B2 JP4936521B2 (en) 2012-05-23

Family

ID=39349378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006255876A Expired - Fee Related JP4936521B2 (en) 2006-09-21 2006-09-21 Data structure, file data processing program, information storage medium

Country Status (1)

Country Link
JP (1) JP4936521B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6134641A (en) * 1984-07-27 1986-02-18 Nec Corp Storage area managing system
JPH01241625A (en) * 1988-03-23 1989-09-26 Nec Corp Program working area control system
JPH0895835A (en) * 1994-09-26 1996-04-12 Hitachi Software Eng Co Ltd Method for reserving file space
JPH11143747A (en) * 1997-11-11 1999-05-28 Toshiba Tec Corp High compressing method of pre-allocation file
JP2001137545A (en) * 1999-11-17 2001-05-22 Square Co Ltd Recording medium, data access, method of controlling progress of game, and game device
JP2002049598A (en) * 2000-05-23 2002-02-15 Victor Co Of Japan Ltd Agent system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6134641A (en) * 1984-07-27 1986-02-18 Nec Corp Storage area managing system
JPH01241625A (en) * 1988-03-23 1989-09-26 Nec Corp Program working area control system
JPH0895835A (en) * 1994-09-26 1996-04-12 Hitachi Software Eng Co Ltd Method for reserving file space
JPH11143747A (en) * 1997-11-11 1999-05-28 Toshiba Tec Corp High compressing method of pre-allocation file
JP2001137545A (en) * 1999-11-17 2001-05-22 Square Co Ltd Recording medium, data access, method of controlling progress of game, and game device
JP2002049598A (en) * 2000-05-23 2002-02-15 Victor Co Of Japan Ltd Agent system

Also Published As

Publication number Publication date
JP4936521B2 (en) 2012-05-23

Similar Documents

Publication Publication Date Title
JP4651435B2 (en) Program, information storage medium, and image generation system
KR20210151114A (en) Hybrid rendering
JP3492761B2 (en) Image generation method and apparatus
KR20150106947A (en) Rendering graphics data using visibility information
JP4717622B2 (en) Program, information recording medium, and image generation system
JP4804122B2 (en) Program, texture data structure, information storage medium, and image generation system
JP2006195882A (en) Program, information storage medium and image generation system
US8686999B2 (en) Dynamic fragment coverage antialiasing
JP3748451B1 (en) Program, information storage medium, and image generation system
JP4754384B2 (en) Program, information recording medium, and image generation system
JP5864474B2 (en) Image processing apparatus and image processing method for processing graphics by dividing space
JP2006323512A (en) Image generation system, program, and information storage medium
JP4936521B2 (en) Data structure, file data processing program, information storage medium
US6728420B2 (en) Image processing apparatus, image processing method, recording medium and its program
JP4201207B2 (en) Program, information storage medium, and image generation system
JP4754385B2 (en) Program, information recording medium, and image generation system
JP4566120B2 (en) Program, information storage medium, and image generation system
JP3468985B2 (en) Graphic drawing apparatus and graphic drawing method
EP1249791B1 (en) 3-D game image processing method and device for drawing border lines
JP2010231364A (en) Image generation system, program and information recording medium
JP4476040B2 (en) Program, information storage medium, and image generation system
JP2008077406A (en) Image generation system, program, and information storage medium
JP4339390B1 (en) Movie display device using computer, display method, program, and information recording medium
JP4693153B2 (en) Image generation system, program, and information storage medium
JP6205200B2 (en) Image processing apparatus and image processing method having sort function

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120130

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120220

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

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4936521

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

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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