[go: up one dir, main page]

JP4637199B2 - Image processing apparatus, image processing method, and program - Google Patents

Image processing apparatus, image processing method, and program Download PDF

Info

Publication number
JP4637199B2
JP4637199B2 JP2008087037A JP2008087037A JP4637199B2 JP 4637199 B2 JP4637199 B2 JP 4637199B2 JP 2008087037 A JP2008087037 A JP 2008087037A JP 2008087037 A JP2008087037 A JP 2008087037A JP 4637199 B2 JP4637199 B2 JP 4637199B2
Authority
JP
Japan
Prior art keywords
image
section
tile
maximum length
storage unit
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.)
Active
Application number
JP2008087037A
Other languages
Japanese (ja)
Other versions
JP2009238192A (en
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.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment 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 Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2008087037A priority Critical patent/JP4637199B2/en
Publication of JP2009238192A publication Critical patent/JP2009238192A/en
Application granted granted Critical
Publication of JP4637199B2 publication Critical patent/JP4637199B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Description

本発明は、タイル状の画像を並べて描画するハードウェアやシステムコール、ライブラリを用いて、高速に画像を生成するのに好適な画像処理装置、画像処理方法、ならびに、これらをコンピュータにより実現するためのプログラムに関する。   The present invention provides an image processing apparatus and an image processing method suitable for generating images at high speed using hardware, system calls, and libraries for drawing tiled images side by side, and for realizing them by a computer. Related to the program.

従来から、一定のサイズ(以下の幅をw、高さをhとする。)のタイル状の画像(以下「タイル画像」という。)をあらかじめ用意する一方で、画面に表示すべき画像を記憶する画像バッファを用意しておき、このタイル状の画像のいずれを画像バッファのどの位置に描画するか、をハードウェアやシステムコール、BIOS(Basic Input Output System)等のライブラリに指定することで、画像を生成する画像処理装置が提案されている。   Conventionally, a tile-shaped image (hereinafter referred to as “tile image”) of a certain size (hereinafter referred to as “w” and height “h”) is prepared in advance, and an image to be displayed on the screen is stored. By preparing an image buffer to be used and specifying which position of the tiled image is to be drawn in the image buffer in a library such as a hardware, system call, or BIOS (Basic Input Output System), An image processing apparatus that generates an image has been proposed.

たとえば、RPG(Roll Playing Game)などにおけるマップ表示においては、草地を表すタイル画像を1枚、砂地を表すタイル画像を1枚、道路を表すタイル画像を1枚用意しておき、これらのタイル画像を適宜並べることで、「草地と砂地の中を道路が配置された地図」の画像を生成することができる。   For example, in a map display in RPG (Roll Playing Game) or the like, one tile image representing grassland, one tile image representing sand, and one tile image representing a road are prepared, and these tile images are prepared. By arranging them appropriately, it is possible to generate an image of “a map in which roads are arranged in grassland and sand”.

このような画像の生成技術については、たとえば以下の文献に開示されている。
特許第3270928号公報
Such image generation techniques are disclosed in the following documents, for example.
Japanese Patent No. 3270928

ここで、[特許文献1]においては、マップをブロックに区切り、ブロックに割り当てられるタイル画像を変形して、タイル画像の境界線をより自然で複雑なものとする技術が開示されている。   Here, in [Patent Document 1], a technique is disclosed in which a map is divided into blocks, and tile images assigned to the blocks are deformed to make the boundary lines of the tile images more natural and complex.

たとえばゲーム装置用のコンピュータ等では、以下の3つの情報をハードウェア、システムコール、または、ライブラリ等の描画部に指定することでタイル画像を画像バッファ内に描画することができるものが多い。
(a)タイル画像の識別番号id。一般にタイル画像は所定のタイル画像記憶領域に記憶されるので、idと、そのidを有するタイル画像が記憶されるアドレスとは1対1に対応付けることができる。
(b)タイル画像を画像バッファ内で描画する位置(x,y)。タイル画像を1つ描画すると、画像バッファ内の領域(x,y)〜(x+w-1,y+h-1)の画素が変化する。
(c)描画するタイル画像の個数n。識別番号id,id+1,id+2,…,id+n-1を有するn個のタイル画像が、描画の対象となる。
For example, many computers for game devices can draw tile images in an image buffer by designating the following three pieces of information to a drawing unit such as hardware, system call, or library.
(A) Tile image identification number id. In general, since tile images are stored in a predetermined tile image storage area, the id and the address at which the tile image having the id is stored can be associated on a one-to-one basis.
(B) Position (x, y) at which the tile image is drawn in the image buffer. When one tile image is drawn, the pixels in the regions (x, y) to (x + w-1, y + h-1) in the image buffer change.
(C) The number n of tile images to be drawn. N tile images having identification numbers id, id + 1, id + 2,..., Id + n−1 are to be drawn.

したがって、このような3つ組が指定されると、画像バッファ内の領域(x,y)〜(x+n×w-1,y+h-1)に、識別番号id〜id+n-1のタイル画像が順に並べられて描画される。すなわち、
(1)識別番号idのタイル画像が領域(x,y)〜(x+w-1,y+h-1)に描画され、
(2)識別番号id+1のタイル画像が領域(x+w,y)〜(x+2×w-1,y+h-1)に描画され、
(3)識別番号id+2のタイル画像が領域(x+2×w,y)〜(x+3×w-1,y+h-1)に描画され、

(n)識別番号id+n-1のタイル画像が領域(x+(n-1)×w,y)〜(x+n×w-1,y+h-1)に描画される
こととなる。
Therefore, when such a triplet is designated, identification numbers id to id + n− are assigned to areas (x, y) to (x + n × w−1, y + h−1) in the image buffer. One tile image is drawn in order. That is,
(1) The tile image with the identification number id is drawn in the region (x, y) to (x + w-1, y + h-1),
(2) The tile image with the identification number id + 1 is drawn in the region (x + w, y) to (x + 2 × w-1, y + h-1),
(3) The tile image with the identification number id + 2 is drawn in the region (x + 2 × w, y) to (x + 3 × w-1, y + h-1),
...
(N) The tile image with the identification number id + n−1 is drawn in the region (x + (n−1) × w, y) to (x + n × w−1, y + h−1). .

従来、このようなタイル画像の描画機能を用いてRPG用のマップなどを表示する場合には、マップ全体(一般には、表示画面より広い領域)を2次元の配列で表現し、配列の各要素にはタイル画像の識別番号を記憶することとし、マップ配列のうちの現在の画面に表示可能な領域(一般に、プレイヤーキャラクターを中心とする領域で、マップの中を当該領域が移動すると、表示の際にはプレイヤーにはスクロールして見える。)の要素のそれぞれを順次読み出して、当該識別番号と、画像バッファ内での位置と、個数1と、を、描画部に指定して表示画像を生成するのが一般的であった。   Conventionally, when an RPG map or the like is displayed using such a tile image drawing function, the entire map (generally, an area wider than the display screen) is represented by a two-dimensional array, and each element of the array Is the area that can be displayed on the current screen in the map array (generally the area centered on the player character, and when the area moves in the map, In this case, each of the elements is sequentially read out, and a display image is generated by designating the identification number, the position in the image buffer, and the number 1 in the drawing unit. It was common to do.

しかしながら、描画部に3つ組を与えて呼び出す際には、呼び出しのオーバヘッドが存在するのが一般的である。したがって、呼び出し回数をできるだけ抑制して、高速に描画ができるようにしたい、との要望がある。   However, in general, there is a call overhead when calling a drawing unit by giving a triplet. Therefore, there is a desire to reduce the number of calls as much as possible so that drawing can be performed at high speed.

本発明は、上記のような課題を解決するもので、タイル状の画像を並べて描画するハードウェアやシステムコール、ライブラリを用いて、高速に画像を生成するのに好適な画像処理装置、画像処理方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することを目的とする。   The present invention solves the above-described problems. An image processing apparatus and image processing suitable for generating images at high speed using hardware, system calls, and libraries that draw tiled images side by side. It is an object of the present invention to provide a method and a program for realizing these by a computer.

以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。   In order to achieve the above object, the following invention is disclosed in accordance with the principle of the present invention.

本発明の第1の観点に係る画像処理装置は、タイル画像記憶部、描画部、順序記憶部、最大長取得部、制御部を備え、以下のように構成する。   An image processing apparatus according to a first aspect of the present invention includes a tile image storage unit, a drawing unit, an order storage unit, a maximum length acquisition unit, and a control unit, and is configured as follows.

すなわち、タイル画像記憶部には、所定のサイズのタイル画像の列が記憶される。   That is, the tile image storage unit stores a column of tile images of a predetermined size.

上記のように、タイル画像に互いに重複しない識別番号が付されている場合には、当該番号順に列が構成されていると考えることができる。   As described above, when identification numbers that do not overlap each other are attached to the tile images, it can be considered that the columns are configured in the order of the numbers.

一方、描画部は、画面に表示すべき画像における位置と、記憶される列における順序と、表示すべき個数と、の三つ組が指定されると、当該画像において、当該指定された順序から始まる当該指定された個数の長さのタイル画像の列を、当該指定された位置に描画する。   On the other hand, when a triplet of the position in the image to be displayed on the screen, the order in the stored column, and the number to be displayed is specified, the drawing unit starts from the specified order in the image. A column of tile images having a specified number of lengths is drawn at the specified position.

上記のように、描画部は、一般には、ハードウェア、システムコール、BIOS等のライブラリ等が呼び出されると、上記の描画部の処理が実行される。その際に、位置、順序(これは、タイル画像の識別番号を意味する。)、個数の三つ組がパラメータとして指定される。   As described above, the drawing unit generally executes the processing of the drawing unit when a library such as a hardware, a system call, or a BIOS is called. At that time, a triple of position, order (which means an identification number of the tile image), and number is designated as a parameter.

さらに、順序記憶部は、仮想空間を当該所定のサイズに区切る区画のそれぞれについて、当該区画に描画すべきタイル画像の記憶される列における順序と、当該区画の位置と、を、当該区画に対応付けて記憶する。   Further, the order storage unit corresponds, for each partition that divides the virtual space into the predetermined size, the order in the column in which tile images to be drawn in the partition are stored and the position of the partition. Add and remember.

たとえば、仮想空間のマップの画像を本願発明により描画する場合には、順序記憶部を2次元の配列とし、その各要素には、タイル画像の順序、すなわち、タイル画像の識別番号が記憶されることになる。各区画は、1枚のタイル画像が貼り付けられる領域を意味する。   For example, when an image of a virtual space map is drawn according to the present invention, the order storage unit is a two-dimensional array, and the order of tile images, that is, the identification number of the tile image is stored in each element. It will be. Each section means an area where one tile image is pasted.

さらに、最大長取得部は、当該区画のうち、いずれかの区画が指定されると、当該指定された区画について、当該区画から所定の方向に並ぶ区画の列に描画すべきタイル画像の順序が、当該記憶される列の順序と一致する最大長を取得する。   Further, when any of the sections is designated, the maximum length acquisition unit determines the order of the tile images to be drawn in a row of sections arranged in a predetermined direction from the section for the designated section. , To obtain the maximum length that matches the order of the stored columns.

当該最大長を取得する具体的な手法は種々考えられ、たとえば以下の好適実施形態によって、実現される。   Various specific methods for obtaining the maximum length are conceivable, and are realized by, for example, the following preferred embodiments.

さらに、制御部は、当該区画のうち、当該画像内に描画すべき区画のすべてについて、当該区画が当該画像においてまだ描画されていなければ、
(a)当該区画に対応付けられる位置と、
(b)当該区画に対応付けて記憶される順序と、
(c)当該区画を最大長取得部に指定して得られる最大長と、
の三つ組を、描画部に指定する。
Further, the control unit, for all of the sections to be drawn in the image, if the section is not yet drawn in the image,
(A) a position associated with the section;
(B) the order stored in association with the section;
(C) a maximum length obtained by designating the section as a maximum length acquisition unit;
Are specified in the drawing section.

たとえばRPGのマップ表示の場合、仮想空間全体のマップのうちの、一部のみが画面に表示されることになる。したがって、マップを表す2次元配列の一部に相当する区画だけが描画ならびに表示の対象となる。この対象となる区画のそれぞれが、「画像内に描画すべき区画」である。典型的には、RAM(Random Access Memory)等に確保された画像バッファ内に、表示すべき画像が生成されるので、各区画は、当該画像バッファ内に描画される。   For example, in the case of RPG map display, only a part of the map of the entire virtual space is displayed on the screen. Therefore, only the section corresponding to a part of the two-dimensional array representing the map is to be drawn and displayed. Each of the target sections is a “section to be drawn in the image”. Typically, since an image to be displayed is generated in an image buffer secured in a RAM (Random Access Memory) or the like, each section is drawn in the image buffer.

最大長取得部は、描画部の1回の処理でまとめて描画できるタイル画像の個数を取得しているので、制御部により1回描画がされると、1個以上の区画に対する描画が行われる。このため、描画すべき区画のすべてについて上記の処理を行おうとすると、当該区画が以前に描画済であることが生じうる。この場合には、その区画については、あえて描画を行う必要はない。   Since the maximum length acquisition unit acquires the number of tile images that can be drawn collectively in one process of the drawing unit, drawing is performed for one or more sections when the control unit performs drawing once. . For this reason, if it is going to perform said process about all the divisions which should be drawn, it may arise that the said division has been drawn previously. In this case, it is not necessary to draw for the section.

このように、本発明によれば、描画すべきタイル画像が連続しているものである場合には、1回の処理でまとめて描画することにより、描画部の呼び出し回数を抑制することで、1回に1個のタイル画像を描画するよりも、高速な画像の生成ができるようになる。   As described above, according to the present invention, when the tile images to be drawn are continuous, the number of calls of the drawing unit is suppressed by drawing all at once in one process, It is possible to generate an image faster than drawing one tile image at a time.

また、本発明の画像処理装置は、最大長記憶部をさらに備え、以下のように構成することができる。   The image processing apparatus of the present invention further includes a maximum length storage unit and can be configured as follows.

すなわち、最大長記憶部は、当該区画のそれぞれについて、当該区画から所定の方向に並ぶ区画の列に描画すべきタイル画像の順序が、当該記憶される列の順序と一致する最大長を、当該区画に対応付けて記憶し、最大長取得部は、当該与えられた区画について最大長記憶部に記憶される最大長を、当該取得の結果とする。   That is, the maximum length storage unit sets, for each of the sections, the maximum length at which the order of tile images to be drawn in the section columns arranged in a predetermined direction from the section matches the order of the stored columns. The maximum length acquisition unit stores the maximum length stored in the maximum length storage unit for the given partition as a result of the acquisition.

上記のように、マップが2次元配列で構成され、タイル画像の順序(識別番号)が要素として記憶されている状況を想定すると、最大長記憶部も、マップと同じ要素数の2次元配列として構成するのが典型的である。   As described above, assuming that the map is composed of a two-dimensional array and the order (identification number) of tile images is stored as elements, the maximum length storage unit is also a two-dimensional array having the same number of elements as the map. Typically, it is configured.

この場合、当該最大長記憶部の各要素に対応するマップの要素から順にマップ内の要素を走査していき、識別番号が連続して1ずつ増加しているのは、要素何個分か、を、あらかじめ調べて、その個数を、最大長記憶部の当該要素に記憶するのである。   In this case, the elements in the map are sequentially scanned from the element of the map corresponding to each element of the maximum length storage unit, and the number of elements whose identification number is successively increased by 1 is the number of elements, Are stored in advance in the relevant element of the maximum length storage unit.

本発明は、上記発明の好適実施形態に係るもので、描画部に指定する個数のパラメータをあらかじめ調べて記憶することにより、高速な描画を行うことができるようになる。   The present invention relates to a preferred embodiment of the above-described invention. By examining and storing in advance the number of parameters designated for the drawing unit, high-speed drawing can be performed.

また、本発明の画像処理装置において、最大長取得部は、当該区画が与えられると、順序記憶部と、タイル画像記憶部と、を走査して、当該最大長を取得するように構成することができる。   In the image processing apparatus of the present invention, the maximum length acquisition unit is configured to scan the order storage unit and the tile image storage unit and acquire the maximum length when the section is given. Can do.

上記発明では、あらかじめ識別番号の連続数(最大長)を調べて最大長記憶部に記憶することとしていたが、本発明においては、描画を行おうとするごとに、マップの配列(順序記憶部)を走査して、識別番号の連続数(最大長)を取得することとしている。   In the above invention, the number of consecutive identification numbers (maximum length) is checked in advance and stored in the maximum length storage unit. However, in the present invention, each time an attempt is made to draw, an array of maps (order storage unit) And the number of consecutive identification numbers (maximum length) is acquired.

本発明は、上記発明の好適実施形態に係るもので、最大長記憶部を省略することにより、メモリ使用量を抑制することができるようになる。   The present invention relates to a preferred embodiment of the above invention, and the memory usage can be suppressed by omitting the maximum length storage unit.

また、本発明の画像処理装置において、当該区画のうち、描画すべき区画は、当該仮想空間の一部の領域であり、制御部は、当該(a)(b)(c)の三つ組にかえて、   Further, in the image processing apparatus of the present invention, among the sections, the section to be drawn is a partial area of the virtual space, and the control unit changes to the three sets of (a), (b), and (c). And

(a')当該区画に対応付けて記憶される位置と当該領域の当該仮想空間における位置から定められる当該区画の当該領域における相対的な位置と、   (A ′) the relative position in the region of the partition determined from the position stored in association with the partition and the position of the region in the virtual space;

(b')当該区画に対応付けて記憶される順序と、   (B ′) the order stored in association with the section;

(c')当該区画から始まり当該区画に対して取得された最大長の長さのタイル画像の列のうち当該領域に含まれるタイル画像の個数と、
の三つ組を、描画部に指定するように構成することができる。
(C ′) the number of tile images included in the area of the maximum length tile image sequence acquired for the section starting from the section;
Can be configured to be designated in the drawing unit.

本発明は、2次元マップの一部のみを描画する場合を特に考慮したものである。すなわち、描画部に指定する「個数」のパラメータは、取得された最大長をそのまま指定するのではなく、描画の対象となる領域に対する相対的な位置によって、適宜小さくする調整を行うのである。   The present invention specifically considers the case of drawing only a part of a two-dimensional map. That is, the parameter “number” specified in the drawing unit does not specify the acquired maximum length as it is, but adjusts it to be appropriately reduced depending on the relative position with respect to the drawing target area.

本発明によれば、仮想空間の一部の領域に対する画像を生成する際に、画像の描画を高速に行うことができるようになる。   According to the present invention, when an image for a partial region of the virtual space is generated, the image can be drawn at high speed.

また、本発明の画像処理装置は、表示部をさらに備え、表示部は、当該領域に含まれる区画のすべてについての描画がされると、当該画像を画面に表示するように構成することができる。   The image processing apparatus of the present invention further includes a display unit, and the display unit can be configured to display the image on the screen when all the sections included in the region are drawn. .

本発明は、上記発明の好適実施形態に係るもので、画像全体が生成されるごとに、画面に生成された画像が表示され、ユーザに必要な情報を提供することができるようになる。   The present invention relates to a preferred embodiment of the above-described invention, and each time an entire image is generated, the generated image is displayed on the screen, so that necessary information can be provided to the user.

また、本発明の画像処理装置は、領域移動部を備え、領域移動部は、ユーザの指示入力により、当該領域を当該仮想空間の中で移動させるように構成することができる。   In addition, the image processing apparatus of the present invention includes an area moving unit, and the area moving unit can be configured to move the area in the virtual space in response to a user instruction input.

本発明は、上記発明の好適実施形態に係るものであり、たとえばRPGなどのゲームにおいては、ユーザの指示によってプレイヤーキャラクターが仮想空間の区画の中を移動し、プレイヤーキャラクターが配置される区画が画面に現在表示されている領域の縁の区画である場合に、プレイヤーキャラクターが画面中央になるように表示領域を移動するスクロール処理が行われることがある。   The present invention relates to a preferred embodiment of the above invention. For example, in a game such as RPG, a player character moves in a virtual space section according to a user instruction, and the section where the player character is arranged is a screen. , A scroll process may be performed to move the display area so that the player character is in the center of the screen.

本発明によれば、このようなスクロール処理が行われる表示装置において、高速に画像の生成を行うことが可能となる。   According to the present invention, an image can be generated at high speed in a display device that performs such scroll processing.

本発明のその他の観点に係る画像処理方法は、タイル画像記憶部、描画部、順序記憶部、最大長取得部、制御部を有する画像処理装置が実行し、以下のように構成する。   An image processing method according to another aspect of the present invention is executed by an image processing apparatus including a tile image storage unit, a drawing unit, an order storage unit, a maximum length acquisition unit, and a control unit, and is configured as follows.

すなわちタイル画像記憶部には、所定のサイズのタイル画像の列が記憶される。   That is, the tile image storage unit stores a sequence of tile images of a predetermined size.

一方、順序記憶部には、仮想空間を当該所定のサイズに区切る区画のそれぞれについて、当該区画に描画すべきタイル画像の記憶される列における順序と、当該区画の位置と、が、当該区画に対応付けて記憶される。   On the other hand, in the order storage unit, for each of the sections that divide the virtual space into the predetermined size, the order in the column in which tile images to be drawn in the section are stored and the positions of the sections are stored in the sections. Correspondingly stored.

さらに、描画工程では、描画部が、画面に表示すべき画像における位置と、記憶される列における順序と、表示すべき個数と、の三つ組が指定されると、当該画像において、当該指定された順序から始まる当該指定された個数の長さのタイル画像の列を、当該指定された位置に描画する。   Furthermore, in the drawing process, when the drawing unit specifies a triplet of the position in the image to be displayed on the screen, the order in the stored column, and the number to be displayed, the specified in the image A column of tile images of the specified number of lengths starting from the order is drawn at the specified position.

そして、最大長取得工程では、最大長取得部が、当該区画のうち、いずれかの区画が指定されると、当該指定された区画について、当該区画から所定の方向に並ぶ区画の列に描画すべきタイル画像の順序が、当該記憶される列の順序と一致する最大長を取得する。   Then, in the maximum length acquisition step, when any of the sections is designated, the maximum length acquisition unit draws the designated section in a row of sections arranged in a predetermined direction from the section. The maximum length in which the order of the power tile images matches the order of the stored columns is acquired.

一方、制御工程では、制御部が、当該区画のうち、当該画像内に描画すべき区画のすべてについて、当該区画が当該画像においてまだ描画されていなければ、
(a)当該区画に対応付けられる位置と、
(b)当該区画に対応付けて記憶される順序と、
(c)当該区画を最大長取得工程に指定して得られる最大長と、
の三つ組を、描画部に指定する。
On the other hand, in the control process, the control unit, for all of the sections to be drawn in the image, is not drawn in the image,
(A) a position associated with the section;
(B) the order stored in association with the section;
(C) a maximum length obtained by designating the section in the maximum length acquisition step;
Are specified in the drawing section.

本発明のその他の観点に係るプログラムは、コンピュータを、上記の画像処理装置の各部として機能させ、コンピュータに、上記の画像処理方法の各工程を実行させるように構成する。   A program according to another aspect of the present invention is configured to cause a computer to function as each unit of the above-described image processing apparatus and to cause the computer to execute each step of the above-described image processing method.

また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。   The program of the present invention can be recorded on a computer-readable information storage medium such as a compact disk, flexible disk, hard disk, magneto-optical disk, digital video disk, magnetic tape, and semiconductor memory.

上記プログラムは、当該プログラムを実行するコンピュータや、当該プログラムによって再構成されて電子回路を構成するFPGA(Field Programmable Gate Array)やDSP(Ditigal Signal Processor)などの電子装置とは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。   The above-mentioned program is independent of a computer that executes the program, and an electronic device such as an FPGA (Field Programmable Gate Array) or DSP (Ditigal Signal Processor) that is reconfigured by the program and forms an electronic circuit. It can be distributed and sold via the network. The information storage medium can be distributed and sold independently from the computer.

本発明によれば、タイル状の画像を並べて描画するハードウェアやシステムコール、ライブラリを用いて、高速に画像を生成するのに好適な画像処理装置、画像処理方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することができる。   According to the present invention, an image processing apparatus and an image processing method suitable for generating images at high speed using hardware, a system call, and a library that draw tiled images side by side, and these are realized by a computer. A program can be provided.

以下に本発明の実施形態を説明する。   Embodiments of the present invention will be described below.

図1は、本実施形態に係る画像処理装置が実現される典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。   FIG. 1 is a schematic diagram illustrating a schematic configuration of a typical information processing apparatus in which the image processing apparatus according to the present embodiment is realized. Hereinafter, a description will be given with reference to FIG.

情報処理装置100は、CPU(Central Processing Unit)101と、ROM 102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、マイク111と、を備える。   The information processing apparatus 100 includes a CPU (Central Processing Unit) 101, a ROM 102, a RAM (Random Access Memory) 103, an interface 104, a controller 105, an external memory 106, an image processing unit 107, and a DVD-ROM. (Digital Versatile Disc ROM) drive 108, NIC (Network Interface Card) 109, audio processing unit 110, and microphone 111.

プログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態の画像処理装置が実現される。   When the DVD-ROM storing the program and data is loaded into the DVD-ROM drive 108 and the information processing apparatus 100 is turned on, the program is executed and the image processing apparatus of the present embodiment is realized.

CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。   The CPU 101 controls the overall operation of the information processing apparatus 100 and is connected to each component to exchange control signals and data. Further, the CPU 101 uses arithmetic operations such as addition / subtraction / multiplication / division, logical sum, logical product, etc. using an ALU (Arithmetic Logic Unit) (not shown) for a storage area called a register (not shown) that can be accessed at high speed. , Logic operations such as logical negation, bit operations such as bit sum, bit product, bit inversion, bit shift, and bit rotation can be performed. In addition, the CPU 101 itself is configured so that saturation operations such as addition / subtraction / multiplication / division for multimedia processing, vector operations such as trigonometric functions, etc. can be performed at a high speed, and those provided with a coprocessor. There is.

ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。   The ROM 102 records an IPL (Initial Program Loader) that is executed immediately after the power is turned on, and when this is executed, the program recorded on the DVD-ROM is read out to the RAM 103 and execution by the CPU 101 is started. The The ROM 102 stores an operating system program and various data necessary for operation control of the entire information processing apparatus 100.

RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。   The RAM 103 is for temporarily storing data and programs, and holds programs and data read from the DVD-ROM and other data necessary for game progress and chat communication. Further, the CPU 101 provides a variable area in the RAM 103 and performs an operation by directly operating the ALU on the value stored in the variable, or temporarily stores the value stored in the RAM 103 in the register. Perform operations such as performing operations on registers and writing back the operation results to memory.

インターフェイス104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う各種の操作入力、たとえば、画面に表示すべき領域を仮想空間内で移動させるための操作入力を受け付ける。   The controller 105 connected via the interface 104 receives various operation inputs performed by the user when the game is executed, for example, operation inputs for moving an area to be displayed on the screen in the virtual space.

インターフェイス104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。   The external memory 106 detachably connected via the interface 104 stores data indicating game play status (past results, etc.), data indicating game progress, and log of chat communication in the case of a network match ( Data) is stored in a rewritable manner. The user can record these data in the external memory 106 as appropriate by inputting an instruction via the controller 105.

DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。   A DVD-ROM mounted on the DVD-ROM drive 108 stores a program for realizing the game and image data and audio data associated with the game. Under the control of the CPU 101, the DVD-ROM drive 108 performs a reading process on the DVD-ROM loaded therein, reads out necessary programs and data, and these are temporarily stored in the RAM 103 or the like.

画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。   The image processing unit 107 processes the data read from the DVD-ROM by an image arithmetic processor (not shown) included in the CPU 101 or the image processing unit 107, and then processes the processed data on a frame memory ( (Not shown). The image information recorded in the frame memory is converted into a video signal at a predetermined synchronization timing and output to a monitor (not shown) connected to the image processing unit 107. Thereby, various image displays are possible.

画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。   The image calculation processor can execute a two-dimensional image overlay calculation, a transmission calculation such as α blending, and various saturation calculations at high speed.

また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。   Also, polygon information arranged in the virtual three-dimensional space and added with various texture information is rendered by the Z buffer method, and the polygon arranged in the virtual three-dimensional space from the predetermined viewpoint position is determined in the direction of the predetermined line of sight It is also possible to perform high-speed execution of operations for obtaining rendered images.

このほか、上記のようなハードウェア、システムコール、BIOSなどのライブラリ呼び出しにより、タイル画像を用いた画像生成を行うこともできる。   In addition, it is also possible to generate an image using a tile image by calling a library such as the hardware, system call, and BIOS described above.

さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。   Further, the CPU 101 and the image arithmetic processor operate in a coordinated manner, so that a character string can be drawn as a two-dimensional image in a frame memory or drawn on the surface of each polygon according to font information that defines the character shape. is there.

NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。   The NIC 109 is used to connect the information processing apparatus 100 to a computer communication network (not shown) such as the Internet, and is based on the 10BASE-T / 100BASE-T standard used when configuring a LAN (Local Area Network). To connect to the Internet using an analog modem, ISDN (Integrated Services Digital Network) modem, ADSL (Asymmetric Digital Subscriber Line) modem, cable television line A cable modem or the like and an interface (not shown) that mediates between these and the CPU 101 are configured.

音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。   The audio processing unit 110 converts audio data read from the DVD-ROM into an analog audio signal and outputs the analog audio signal from a speaker (not shown) connected thereto. Further, under the control of the CPU 101, sound effects and music data to be generated during the progress of the game are generated, and sound corresponding to this is output from the speaker.

音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。   When the audio data recorded on the DVD-ROM is MIDI data, the audio processing unit 110 refers to the sound source data included in the audio data and converts the MIDI data into PCM data. If the compressed audio data is in ADPCM format or Ogg Vorbis format, it is expanded and converted to PCM data. The PCM data can be output by performing D / A (Digital / Analog) conversion at a timing corresponding to the sampling frequency and outputting it to a speaker.

さらに、情報処理装置100には、インターフェイス104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。   Furthermore, a microphone 111 can be connected to the information processing apparatus 100 via the interface 104. In this case, the analog signal from the microphone 111 is subjected to A / D conversion at an appropriate sampling frequency so that processing such as mixing in the sound processing unit 110 can be performed as a PCM format digital signal.

このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。   In addition, the information processing apparatus 100 uses a large-capacity external storage device such as a hard disk so as to perform the same function as the ROM 102, the RAM 103, the external memory 106, the DVD-ROM mounted on the DVD-ROM drive 108, and the like. You may comprise.

以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。   The information processing apparatus 100 described above corresponds to a so-called “consumer video game apparatus”, but the present invention can be realized as long as it performs image processing to display a virtual space. Therefore, the present invention can be realized on various computers such as a mobile phone, a portable game device, a karaoke apparatus, and a general business computer.

たとえば、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NICを備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用する。   For example, a general computer, like the information processing apparatus 100, includes an image processing unit that includes a CPU, RAM, ROM, DVD-ROM drive, and NIC and has simpler functions than the information processing apparatus 100. In addition to having a hard disk as an external storage device, a flexible disk, a magneto-optical disk, a magnetic tape, and the like can be used. Further, not the controller 105 but a keyboard or a mouse is used as an input device.

図2は、本実施形態に係る画像処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。   FIG. 2 is a schematic diagram illustrating a schematic configuration of the image processing apparatus according to the present embodiment. Hereinafter, a description will be given with reference to FIG.

本実施形態に係る画像処理装置201は、タイル画像記憶部202、描画部203、順序記憶部204、最大長取得部205、制御部206を備える。また、実施形態によっては、最大長記憶部207、表示部208、領域移動部209を備えるように構成しても良い。   An image processing apparatus 201 according to the present embodiment includes a tile image storage unit 202, a drawing unit 203, an order storage unit 204, a maximum length acquisition unit 205, and a control unit 206. Further, depending on the embodiment, the maximum length storage unit 207, the display unit 208, and the area moving unit 209 may be provided.

図3は、本実施形態に係る画像処理装置201にて実行される画像処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。   FIG. 3 is a flowchart showing a flow of image processing control executed by the image processing apparatus 201 according to the present embodiment. Hereinafter, a description will be given with reference to FIG.

本処理が開始されると、CPU 101は、DVD−ROMドライブ108に装着されたDVDやROMカセット、外部メモリ106等から、RAM 103に確保されたタイル画像記憶部202に、所定のサイズ(以下、横wドット、縦hドットとする。)のタイル画像の列を読み出し、順序記憶部204に、仮想空間を当該所定のサイズに区切る区画のそれぞれについて、当該区画に描画すべきタイル画像の記憶される列における順序と、当該区画の位置と、を、当該区画に対応付けて読み出して、初期化を行う(ステップS301)。   When this processing is started, the CPU 101 transfers a predetermined size (hereinafter, referred to as a tile image storage unit 202 secured in the RAM 103 from a DVD, a ROM cassette, the external memory 106, or the like mounted on the DVD-ROM drive 108). , Horizontal w dots, and vertical h dots) are read out, and the tile image to be drawn in each partition is stored in the order storage unit 204 for each partition that divides the virtual space into the predetermined size. The order in the columns to be processed and the position of the section are read in association with the section, and initialization is performed (step S301).

タイル画像記憶部202に読み出された「タイル画像の列」は、複数のタイル画像が連続したアドレスに順に記憶されるのが典型的であるが、後述するように、1つのタイル画像の画素の情報が一定の規則をもって飛び飛びのアドレスに記憶されるような態様も含まれる。したがって、「タイル画像の列」とは、「○○番目のタイル画像」のように、含まれるタイル画像が数字で順序付けできるような態様すべてを含む。   In the “tile image sequence” read out to the tile image storage unit 202, a plurality of tile images are typically stored in order at consecutive addresses. As will be described later, one tile image pixel is stored. Is also included in which the information is stored in a jumping address with a certain rule. Therefore, the “column of tile images” includes all modes in which the tile images included can be ordered numerically, such as “XXth tile image”.

図4は、タイル画像記憶部202に読み出される複数のタイル画像の列の様子を示す説明図である。図5は、枠線と番号を明示したタイル画像の様子を示す説明図である。以下、これらの図を参照して説明する。   FIG. 4 is an explanatory diagram illustrating a state of a plurality of tile image rows read out to the tile image storage unit 202. FIG. 5 is an explanatory diagram showing a state of a tile image in which a frame line and a number are clearly shown. Hereinafter, description will be given with reference to these drawings.

これら図に示す例では、タイル画像401の列は、桝目状に配置されており、その1枚1枚は、それぞれ、横w = 8ドット、縦h = 8ドットの正方形の形状をしている。本図では白黒で表示しているが、各ドットは、256色のパレットからいずれかの色を選択した画素値を有している。したがって、タイル画像の1枚は、64バイトで表現されることになる。   In the examples shown in these figures, the columns of the tile images 401 are arranged in a checkered pattern, and each of the tile images 401 has a square shape with horizontal w = 8 dots and vertical h = 8 dots. . In this drawing, the dots are displayed in black and white, but each dot has a pixel value obtained by selecting one of the colors from the 256-color palette. Therefore, one tile image is represented by 64 bytes.

図4は、タイル画像を並べて全体として1枚の画像となるように表示した図であるが、図5では、理解を容易にするために、図4に示す例に対してタイル画像の枠線を明示するとともに、その順序を表す番号を一部に示している。   FIG. 4 is a diagram in which tile images are arranged and displayed so as to form a single image as a whole. In FIG. 5, for ease of understanding, the tile lines of the tile images are compared with the example shown in FIG. And some of the numbers representing the order are shown.

本図に示すように、タイル画像401は横A = 25枚、縦B = 16枚並んでおり、全体では0番から399番までの400個が用意されている。   As shown in the figure, the tile images 401 are arranged in a horizontal A = 25 and a vertical B = 16, and 400 tiles from 0 to 399 are prepared as a whole.

したがって、タイル画像401を並べた画像全体は、横200ドット、縦128ドットの画像と考えることができ、全体としては、Aw×Bh = 200×128バイトの配列で表現される。   Therefore, the entire image in which the tile images 401 are arranged can be considered as an image of 200 dots wide and 128 dots long, and the whole image is expressed by an array of Aw × Bh = 200 × 128 bytes.

左から右へx座標、上から下へy座標を考えたときには、座標(x,y)に対する画素値は、当該配列における(A×w×y + x)番目の要素で表現される。   When considering the x coordinate from the left to the right and the y coordinate from the top to the bottom, the pixel value for the coordinate (x, y) is expressed by the (A × w × y + x) th element in the array.

一方、aをbで割った商をa div b、aをbで割った余りをa mod bと表記すると、n番目のタイル画像401は、
x座標 … (a mod b)×w〜(a mod b)×w + w - 1;
y座標 … (a div b)×h〜(a div b)×h + h - 1
の範囲を持つから、これらの座標値から、画像配列において画素値が記憶される場所を一意に定めることができる。
On the other hand, if the quotient obtained by dividing a by b is a div b, and the remainder obtained by dividing a by b is a mod b, the nth tile image 401 is
x coordinate (a mod b) x w to (a mod b) x w + w-1;
y coordinate (a div b) x h to (a div b) x h + h-1
From these coordinate values, the location where the pixel value is stored in the image array can be uniquely determined.

なお、タイル画像401を並べて全体として1枚の画像となるように配置するほか、w×hバイトのタイル画像401の配列を考えて、n番目のタイル画像の画素をw×h×nバイト目〜w×h×(n+1) - 1バイト目に配置するような態様を想定しても良い。   In addition to arranging the tile images 401 so as to form a single image as a whole, considering the arrangement of w × h byte tile images 401, the pixels of the nth tile image are set to w × h × n bytes. ~ W × h × (n + 1) − A mode in which the first byte is arranged may be assumed.

このように、タイル画像記憶部202には、タイル画像401がその順序に一意に対応付けられて記憶される。   In this way, the tile image 401 is stored in the tile image storage unit 202 so as to be uniquely associated with the order.

図6は、タイル画像401を並べてできたマップ画像の表示例を示す説明図である。図7は、タイル画像401の枠線を付したマップ画像の例を示す説明図である。以下、これらの図を参照して説明する。   FIG. 6 is an explanatory diagram illustrating a display example of a map image formed by arranging tile images 401. FIG. 7 is an explanatory diagram illustrating an example of a map image with a frame line of the tile image 401. Hereinafter, description will be given with reference to these drawings.

マップ画像701は、モニタや液晶ディスプレイ等の表示装置に表示される画像であって、ユーザが実際に見ることができる画像であり、本実施形態では、横J = 24列、縦K = 16行の、合計384枚の桝目状の区画に、あらかじめ用意されたタイル画像401のいずれかを嵌め込むことによって構成される。このとき、同じタイル画像が、複数の場所に嵌め込まれることがありうる。   The map image 701 is an image displayed on a display device such as a monitor or a liquid crystal display, and is an image that can be actually viewed by the user. In this embodiment, horizontal J = 24 columns and vertical K = 16 rows. This is configured by fitting one of the tile images 401 prepared in advance into a total of 384 square-shaped sections. At this time, the same tile image may be fitted in a plurality of places.

マップ画像701は、より広大なマップ配列である順序記憶部204の一部を表現したものである。順序記憶部204の配列は、横P個、縦Q個の2次元配列Sで、その要素には、0〜A×B - 1までのいずれかの数値、すなわち、タイル画像401の順序が記憶されている。   The map image 701 represents a part of the order storage unit 204 that is a larger map arrangement. The array of the order storage unit 204 is a two-dimensional array S of P in the horizontal direction and Q in the vertical direction, and the element stores any numerical value from 0 to A × B −1, that is, the order of the tile image 401. Has been.

マップ画像701は、P×Q配列から、その一部であるJ×K配列を抽出して、各要素に記憶されている順序のタイル画像401を、その位置に嵌め込むことによって構成された画像である。   The map image 701 is an image formed by extracting a J × K array that is a part of the map image 701 from the P × Q array, and fitting the tile image 401 in the order stored in each element at that position. It is.

また、図7では、一部のタイル画像401を白い枠で囲んでいる。以下では、これらの領域を取り出して説明する。   In FIG. 7, some tile images 401 are surrounded by a white frame. Hereinafter, these areas will be described.

図8は、マップ画像701の一部(白い枠で囲まれたタイル画像401)を拡大して枠線を付した説明図であり、図9は、当該拡大された領域に嵌め込まれたタイル画像401の枠線および番号を明示した説明図である。以下、本図を参照して説明する。   FIG. 8 is an explanatory diagram in which a part of the map image 701 (tile image 401 surrounded by a white frame) is enlarged and attached with a frame line, and FIG. 9 is a tile image fitted in the enlarged region. It is explanatory drawing which specified the frame line and number of 401. FIG. Hereinafter, a description will be given with reference to FIG.

本図に示すように、拡大された領域には、10個のタイル画像401(本図では、符号を図示せず。)が配置されており、そのタイル画像の順序の数値は、順に、
37,42,50,51,52,53,54,55,39,43
となっている。
As shown in the figure, ten tile images 401 (not shown in the figure) are arranged in the enlarged area, and the numerical values of the order of the tile images are as follows.
37, 42, 50, 51, 52, 53, 54, 55, 39, 43
It has become.

このように、マップ画像701においては、50〜55のようにタイル画像401の順序が連続する部分が生じることがある。タイル画像401をデザインする際に、大きな構造物の絵を描いてから、これを桝目状の区画に切り分けることが多いからである。   Thus, in the map image 701, there may be a portion where the order of the tile images 401 is continuous, such as 50 to 55. This is because, when designing the tile image 401, after drawing a picture of a large structure, the tile image 401 is often cut into grid-like sections.

本実施形態では、このように、タイル画像401の順序が連続する部分について特別な処理を行うことで、描画処理の高速化を図るものとしている。   In the present embodiment, the drawing process is speeded up by performing a special process on the portion in which the order of the tile images 401 continues in this way.

ついで、CPU 101は、順序記憶部204のP×Q配列のうち、画面に表示するマップ画像を表すJ×K配列の位置(X,Y)を取得する(ステップS302)。   Next, the CPU 101 acquires the position (X, Y) of the J × K array representing the map image to be displayed on the screen from the P × Q array of the order storage unit 204 (step S302).

この座標(X,Y)は、ステップS301の初期化とともに初期化され、ユーザによる指示操作をコントローラ105等の領域移動部209が受け付けて、当該指示操作にしたがって、適宜値が変更されるように構成するのが一般的である。   The coordinates (X, Y) are initialized together with the initialization in step S301 so that the area moving unit 209 such as the controller 105 receives an instruction operation by the user and the value is appropriately changed according to the instruction operation. It is common to configure.

さらに、CPU 101は、RAM 103内に用意された変数yを0で初期化して(ステップS303)、y < Kである間(ステップS304;Yes)、ステップS314までの処理を繰り返す。   Further, the CPU 101 initializes the variable y prepared in the RAM 103 with 0 (step S303), and repeats the processing up to step S314 while y <K (step S304; Yes).

すなわち、CPU 101は、RAM 103内に用意された変数xを0で初期化して(ステップS305)、x < Jである間(ステップS306;Yes)、ステップS313までの処理を繰り返す。   That is, the CPU 101 initializes the variable x prepared in the RAM 103 with 0 (step S305), and repeats the processing up to step S313 while x <J (step S306; Yes).

まず、CPU 101は、現在注目している場所(X+x,Y+y)のタイル画像401の順序番号S[X+x,Y+y]を、RAM 103内に用意された変数pに代入する(ステップS307)。   First, the CPU 101 sets the sequence number S [X + x, Y + y] of the tile image 401 at the currently focused location (X + x, Y + y) as a variable p prepared in the RAM 103. Substitute (step S307).

次に、RAM 103内に用意されたカウンタ変数cを0で初期化し(ステップS308)、x+c+1<Jであれば(ステップS309;Yes)、タイル画像401の順序番号S[X+x+c+1,Y+y]が、p+1に等しいか否かを調べる(ステップS310)。   Next, the counter variable c prepared in the RAM 103 is initialized with 0 (step S308). If x + c + 1 <J (step S309; Yes), the sequence number S [X + of the tile image 401 is set. It is checked whether x + c + 1, Y + y] is equal to p + 1 (step S310).

等しければ(ステップS310;Yes)、pにS[X+x+c+1,Y+y]を代入し(ステップS311)、cの値を1増やして(ステップS312)、ステップS309に戻る。   If they are equal (step S310; Yes), S [X + x + c + 1, Y + y] is substituted for p (step S311), the value of c is incremented by 1 (step S312), and the process returns to step S309.

一方、等しくなければ(ステップS310;No)、cの値を1増やして(ステップS313)、ステップS314に進む。   On the other hand, if they are not equal (step S310; No), the value of c is increased by 1 (step S313), and the process proceeds to step S314.

一方、x+c+1<Jでなければ(ステップS309;No)、ステップS314に進む。   On the other hand, if x + c + 1 <J is not satisfied (step S309; No), the process proceeds to step S314.

この計算処理によって、図9において、(x,y)が、
(1)順序「37」の区画を指している場合には、c = 1となり、
(2)順序「42」の区画を指している場合には、c = 1となり、
(3)順序「50」の区画を指している場合には、c = 6となり、
(4)順序「51」の区画を指している場合には、c = 5となり、
(5)順序「52」の区画を指している場合には、c = 4となり、
(6)順序「53」の区画を指している場合には、c = 3となり、
(7)順序「54」の区画を指している場合には、c = 2となり、
(8)順序「55」の区画を指している場合には、c = 1となり、
(9)順序「39」の区画を指している場合には、c = 1となり、
(10)順序「43」の区画を指している場合には、c = 1となる。
By this calculation process, (x, y) in FIG.
(1) When pointing to the section of order “37”, c = 1,
(2) If it points to the section of order “42”, c = 1.
(3) When pointing to the section of order “50”, c = 6,
(4) When pointing to the section of order “51”, c = 5,
(5) When pointing to the section of order “52”, c = 4,
(6) When pointing to the section of order “53”, c = 3,
(7) c = 2 when pointing to a block of order “54”,
(8) When pointing to the section of order “55”, c = 1,
(9) When pointing to the section of order “39”, c = 1,
(10) c = 1 when pointing to the section of order “43”.

すなわち、cは、現在注目している区画から何個だけ、タイル画像401の順序番号が連続しているか、を算出した値であり、いずれか与えられた区画(位置(x,y)に配置された区画)について、当該区画から所定の方向(横方向)に並ぶ区画の列に描画すべきタイル画像401の順序が、当該記憶される列の順序と一致する最大長に相当する。   That is, c is a value obtained by calculating how many tile images 401 have consecutive sequence numbers from the currently focused section, and is arranged in any given section (position (x, y)). The order of the tile images 401 to be drawn in the rows of the compartments arranged in a predetermined direction (lateral direction) from the compartment corresponds to the maximum length that matches the order of the stored rows.

したがって、CPU 101は、RAM 103と共同して、最大長取得部205として機能する。   Therefore, the CPU 101 functions as the maximum length acquisition unit 205 in cooperation with the RAM 103.

ついで、CPU 101は、ハードウェア、システムコール、BIOS等のライブラリ等を用いて画像処理部107に、以下の3つ組
(a)現在注目している区画(x,y)に対応付けられる座標値(x×w,y×h);
(b)現在注目している区画に対応付けて記憶される順序S[X+x+c,Y+y];
(c)得られた最大長c
を指定して、RAM 103内に用意された画像バッファ内に、c個分のタイル画像401の列を描画させる(ステップS314)。
Next, the CPU 101 uses the library such as hardware, system call, and BIOS to store the following triplet (a) coordinates corresponding to the currently focused partition (x, y). Value (x × w, y × h);
(B) Order S [X + x + c, Y + y] stored in association with the currently focused section;
(C) Maximum length c obtained
Is specified, and c columns of tile images 401 are drawn in the image buffer prepared in the RAM 103 (step S314).

したがって、画像処理部107は、描画部203として機能する。   Therefore, the image processing unit 107 functions as the drawing unit 203.

ついで、xの値をcだけ増やして(ステップS315)、ステップS306に戻る。   Next, the value of x is increased by c (step S315), and the process returns to step S306.

単純なループを用いて実行した場合(従来の手法)は、常にc = 1とした場合に相当するが、一般に、描画部203の呼び出しは、ハードウェア、システムコール、BIOS等のライブラリ等を用いるため、その前処理や後処理に計算時間を要することがある。   When executed using a simple loop (conventional method), this always corresponds to the case where c = 1, but in general, the drawing unit 203 is called using hardware, a system call, a library such as BIOS, or the like. Therefore, calculation time may be required for the pre-processing and post-processing.

本実施形態では、タイル画像401が連続して配置されている場合には、描画可能な最大長の値cを使用して描画部203を呼び出すので、一般に、描画部203の呼び出し回数が減少することになる。したがって、本実施形態によれば、最大長cを求める処理が追加されたとしても、高速な描画が可能となるのである。   In the present embodiment, when the tile images 401 are continuously arranged, the drawing unit 203 is called using the maximum value c that can be drawn, so that the number of calls of the drawing unit 203 generally decreases. It will be. Therefore, according to the present embodiment, even if processing for obtaining the maximum length c is added, high-speed drawing can be performed.

ステップS306において、x≧Jとなった場合(ステップS306;No)、一行分の描画が終わったこととなるので、yの値を1だけ増やして(ステップS316)、ステップS304に戻る。   In step S306, when x ≧ J (step S306; No), drawing for one line is completed, so the value of y is increased by 1 (step S316), and the process returns to step S304.

ステップS304において、y≧Kとなった場合(ステップS304;No)、一画面分の描画が終わったこととなる。したがって、CPU 101は、RAM 103等と共同して、制御部206として機能する。   In step S304, when y ≧ K (step S304; No), drawing for one screen is completed. Therefore, the CPU 101 functions as the control unit 206 in cooperation with the RAM 103 and the like.

さて、一画面分の描画が終わると、CPU 101は、垂直同期割込を待ち(ステップS317)、割込が発生したら、画像処理部107に、RAM 103内の画像バッファに記憶された画像をモニタや液晶ディスプレイ等に表示するよう指示を出して(ステップS318)、ステップS304に戻る。   When drawing for one screen is completed, the CPU 101 waits for a vertical synchronization interrupt (step S317). When the interrupt occurs, the image processing unit 107 displays the image stored in the image buffer in the RAM 103. An instruction is given to display on a monitor, a liquid crystal display, or the like (step S318), and the process returns to step S304.

したがって、CPU 101の制御の下、モニタや液晶ディスプレイ等は、画像処理部107と共同して、表示部208として機能する。   Therefore, under the control of the CPU 101, a monitor, a liquid crystal display, and the like function as the display unit 208 in cooperation with the image processing unit 107.

なお、ステップS315の待機中や、ステップS316からステップS304に戻る前などに、適宜他の処理を実行することも可能である。   It should be noted that other processing may be executed as appropriate during standby in step S315 or before returning from step S316 to step S304.

これまでの説明では、毎回描画の際に最大長取得部205が順序記憶部204を走査して、最大長cを計算していたが、以下では、この処理をさらに高速に行うことを考える。   In the above description, the maximum length acquisition unit 205 scans the order storage unit 204 and calculates the maximum length c every time drawing is performed. However, in the following, it is considered that this process is performed at higher speed.

すなわち、RAM 103内にあらかじめP×Q次元の配列Rを用意して、これを最大長記憶部207として機能させる。   That is, a P × Q-dimensional array R is prepared in advance in the RAM 103 and functions as the maximum length storage unit 207.

そして、この配列Rの各要素は、以下のように初期化する。   Then, each element of the array R is initialized as follows.

図10は、最大長記憶部207の初期化処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。   FIG. 10 is a flowchart showing a control flow of initialization processing of the maximum length storage unit 207. Hereinafter, a description will be given with reference to FIG.

すなわち、CPU 101は、RAM 103内に用意された変数yを0で初期化して(ステップS901)、y < Qである間(ステップS902;Yes)、ステップS919までの処理を繰り返す。   That is, the CPU 101 initializes the variable y prepared in the RAM 103 with 0 (step S901), and repeats the processing up to step S919 while y <Q (step S902; Yes).

ここで、CPU 101は、RAM 103内に用意された変数xを0で初期化して(ステップS903)、x < Pである間(ステップS904;Yes)、ステップS913までの処理を繰り返す。   Here, the CPU 101 initializes the variable x prepared in the RAM 103 with 0 (step S903), and repeats the processing up to step S913 while x <P (step S904; Yes).

すなわち、CPU 101は、現在注目している場所(x,y)のタイル画像401の順序番号S[x,y]を、RAM 103内に用意された変数pに代入する(ステップS905)。   That is, the CPU 101 substitutes the sequence number S [x, y] of the tile image 401 at the currently focused location (x, y) into the variable p prepared in the RAM 103 (step S905).

次に、RAM 103内に用意されたカウンタ変数cを0で初期化し(ステップS906)、x+c+1<Pであれば(ステップS907;Yes)、タイル画像401の順序番号S[x+c+1,y]が、p+1に等しいか否かを調べる(ステップS908)。   Next, the counter variable c prepared in the RAM 103 is initialized with 0 (step S906). If x + c + 1 <P (step S907; Yes), the sequence number S [x + of the tile image 401 is set. It is checked whether c + 1, y] is equal to p + 1 (step S908).

等しければ(ステップS908;Yes)、pにS[x+c+1,y]を代入し(ステップS909)、cの値を1増やして(ステップS910)、ステップS907に戻る。   If they are equal (step S908; Yes), S [x + c + 1, y] is substituted for p (step S909), the value of c is incremented by 1 (step S910), and the process returns to step S907.

一方、等しくなければ(ステップS908;No)、cの値を1増やして(ステップS911)、R[x,y]にcの値を代入して(ステップS912)、xの値を1増やして(ステップS913)、ステップS904に戻る。   On the other hand, if they are not equal (step S908; No), the value of c is increased by 1 (step S911), the value of c is substituted into R [x, y] (step S912), and the value of x is increased by 1. (Step S913), the process returns to Step S904.

一方、x+c+1<Pでなければ(ステップS907;No)、ステップS912に進む。   On the other hand, if x + c + 1 <P is not satisfied (step S907; No), the process proceeds to step S912.

ステップS904において、x≧Pである場合(ステップS904;No)、yの値を1増やして(ステップS919)、ステップS902に戻る。   In step S904, when x ≧ P (step S904; No), the value of y is increased by 1 (step S919), and the process returns to step S902.

一方、ステップS902において、y≧Qである場合(ステップS902;No)、本処理を終了する。   On the other hand, in step S902, when y ≧ Q (step S902; No), this process ends.

配列Rからなる初期化処理は、事前に行っておいて、DVD−ROMやROMカセット等には、生成された配列Rの値そのものを記憶し、ステップS301においてロードすることとしても良い。   The initialization process including the array R may be performed in advance, and the generated array R value itself may be stored in a DVD-ROM, a ROM cassette, or the like, and loaded in step S301.

このようにして配列Rに記憶される値は、上記のように、画面に表示される領域が変化することを考慮すると、最大長cの候補としての役割を果たす。   The values stored in the array R in this manner serve as candidates for the maximum length c in consideration of changes in the area displayed on the screen as described above.

そして、図3におけるフローチャートのステップS307〜ステップS313にかえて、以下の処理を行う。図11は、当該差し替えられた画像処理の制御の流れを示すフローチャートの一部抽出図である。以下、本図を参照して説明する。   Then, the following processing is performed in place of steps S307 to S313 in the flowchart in FIG. FIG. 11 is a partial extraction diagram of a flowchart showing a flow of control of the replaced image processing. Hereinafter, a description will be given with reference to FIG.

すなわち、ステップS306においてx < Jであると判断された後(ステップS306;Yes)、ステップS307に進むのにかえて、CPU 101は、最大長記憶部207をなす配列Rの、注目位置の要素R[X+x,Y+y]を変数cに取得する(ステップS951)。   That is, after it is determined in step S306 that x <J (step S306; Yes), instead of proceeding to step S307, the CPU 101 determines the element at the target position of the array R forming the maximum length storage unit 207. R [X + x, Y + y] is acquired in the variable c (step S951).

そして、c<J-xであるか否かを調べ(ステップS952)、そうであれば(ステップS952;Yes)、ステップS314に進む。   Then, it is checked whether or not c <J-x (step S952). If so (step S952; Yes), the process proceeds to step S314.

そうでなければ(ステップS952;No)、cにJ-xを代入して(ステップS953)、ステップS314に進む。   Otherwise (step S952; No), J-x is substituted for c (step S953), and the process proceeds to step S314.

J-xは、未描画のタイル画像401を横方向に数えた個数であり、これ以上横方向に描画することはありえない。そこで、上記のような判断を行って、最大長記憶部207に記憶される値を調整するのである。   J-x is the number of undrawn tile images 401 counted in the horizontal direction and cannot be drawn further in the horizontal direction. Therefore, the value stored in the maximum length storage unit 207 is adjusted by making the above determination.

本実施形態によれば、あらかじめ最大長を計算しておくことで、一層高速な描画処理が可能となる。   According to the present embodiment, by calculating the maximum length in advance, it is possible to perform drawing processing at higher speed.

以上説明したように、本発明によれば、タイル状の画像を並べて描画するハードウェアやシステムコール、ライブラリを用いて、高速に画像を生成するのに好適な画像処理装置、画像処理方法、ならびに、これらをコンピュータにより実現するためのプログラムを提供することができる。   As described above, according to the present invention, an image processing apparatus, an image processing method, and an image processing apparatus suitable for generating images at high speed using hardware, system calls, and libraries that draw tiled images side by side, and A program for realizing these by a computer can be provided.

本実施形態に係る画像処理装置が実現される典型的な情報処理装置の概要構成を示す模式図である。It is a mimetic diagram showing the outline composition of the typical information processor with which the image processing device concerning this embodiment is realized. 本実施形態に係る画像処理装置の概要構成を示す模式図である。1 is a schematic diagram illustrating a schematic configuration of an image processing apparatus according to the present embodiment. 本実施形態に係る画像処理装置にて実行される画像処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the image processing performed with the image processing apparatus which concerns on this embodiment. タイル画像記憶部に読み出される複数のタイル画像の列の様子を示す説明図である。It is explanatory drawing which shows the mode of the row | line | column of the several tile image read to a tile image storage part. 枠線と番号を明示したタイル画像の様子を示す説明図である。It is explanatory drawing which shows the mode of the tile image which specified the frame line and the number. タイル画像を並べてできたマップ画像の表示例を示す説明図である。It is explanatory drawing which shows the example of a display of the map image formed by arranging the tile image. タイル画像の枠線を付したマップ画像の例を示す説明図である。It is explanatory drawing which shows the example of the map image which attached the frame line of the tile image. マップ画像の一部タイル画像を拡大して枠線を付した説明図である。It is explanatory drawing which expanded the partial tile image of the map image, and attached the frame line. 拡大された領域に嵌め込まれたタイル画像の枠線および番号を明示した説明図である。It is explanatory drawing which specified the frame line and number of the tile image inserted by the expanded area | region. 最大長記憶部の初期化処理の制御の流れを示すフローチャートである。It is a flowchart which shows the flow of control of the initialization process of a maximum length memory | storage part. 当該差し替えられた画像処理の制御の流れを示すフローチャートの一部抽出図である。It is a partial extraction figure of the flowchart which shows the flow of control of the said replaced image processing.

符号の説明Explanation of symbols

100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
201 画像処理装置
202 タイル画像記憶部
203 描画部
204 順序記憶部
205 最大長取得部
206 制御部
207 最大長記憶部
208 表示部
209 領域移動部
401 タイル画像
701 マップ画像
100 Information processing apparatus 101 CPU
102 ROM
103 RAM
104 Interface 105 Controller 106 External Memory 107 Image Processing Unit 108 DVD-ROM Drive 109 NIC
DESCRIPTION OF SYMBOLS 110 Audio | voice processing part 111 Microphone 201 Image processing apparatus 202 Tile image memory | storage part 203 Drawing part 204 Order memory | storage part 205 Maximum length acquisition part 206 Control part 207 Maximum length memory | storage part 208 Display part 209 Area movement part 401 Tile image 701 Map image

Claims (8)

所定のサイズのタイル画像の列を記憶するタイル画像記憶部、
画面に表示すべき画像における位置と、前記タイル画像記憶部に記憶される列内における順序を表す識別番号と、表示すべき個数と、の三つ組が指定されると、当該画像において、当該指定された識別番号により表される順序の位置から始まる当該指定された個数の長さのタイル画像の列を、当該指定された位置に描画する描画部、
仮想空間を当該所定のサイズに区切る区画のそれぞれについて、当該区画に描画すべきタイル画像の前記タイル画像記憶部に記憶される列内における順序を表す識別番号と、当該区画の位置と、を、当該区画に対応付けて記憶する順序記憶部、
当該区画のうち、いずれかの区画が指定されると、当該指定された区画について、当該区画から所定の方向に並ぶ区画の列に描画すべきタイル画像の識別番号が、前記タイル画像記憶部に記憶される列内における順序を表す識別番号と一致する最大長を取得する最大長取得部、
当該区画のうち、当該画像内に描画すべき区画のすべてについて、当該区画が当該画像においてまだ描画されていなければ、
(a)当該区画に対応付けられる位置と、
(b)当該区画に対応付けて記憶される識別番号と、
(c)当該区画を前記最大長取得部に指定して得られる最大長と、
の三つ組を、前記描画部に指定する制御部
を備えることを特徴とする画像処理装置。
A tile image storage unit for storing a sequence of tile images of a predetermined size;
When a triplet of the position in the image to be displayed on the screen, the identification number indicating the order in the column stored in the tile image storage unit, and the number to be displayed is designated, the designation is made in the image. A drawing unit that draws a column of tile images of the designated number of lengths starting from the position of the order represented by the identification number at the designated position;
For each of the sections that divide the virtual space into the predetermined size, an identification number that represents the order of the tile images to be drawn in the section in the column stored in the tile image storage unit, and the position of the section, An order storage unit for storing in association with the section;
When any one of the sections is designated, an identification number of a tile image to be drawn in a row of sections arranged in a predetermined direction from the section for the designated section is stored in the tile image storage unit. A maximum length acquisition unit for acquiring a maximum length that matches an identification number representing an order in a stored column;
For all of the sections to be drawn in the image, if the section is not yet drawn in the image,
(A) a position associated with the section;
(B) an identification number stored in association with the section;
(C) a maximum length obtained by designating the section as the maximum length acquisition unit;
An image processing apparatus comprising: a control unit that designates the triplet as the drawing unit.
請求項1に記載の画像処理装置であって、
当該区画のそれぞれについて、当該区画から所定の方向に並ぶ区画の列に描画すべきタイル画像の識別番号が、当該記憶される列内における順序を表す識別番号と一致する最大長を、当該区画に対応付けて記憶する最大長記憶部
をさらに備え、
前記最大長取得部は、当該与えられた区画について前記最大長記憶部に記憶される最大長を、当該取得の結果とする
ことを特徴とする画像処理装置。
The image processing apparatus according to claim 1,
For each of the sections, the maximum length for which the identification number of the tile image to be drawn in the section row aligned in a predetermined direction from the section matches the identification number indicating the order in the stored column is set in the section. A maximum length storage unit for storing the information in association;
The maximum length acquisition unit uses the maximum length stored in the maximum length storage unit for the given section as a result of the acquisition.
請求項1に記載の画像処理装置であって、
前記最大長取得部は、当該区画が与えられると、前記順序記憶部と、前記タイル画像記憶部と、を走査して、当該最大長を取得する
ことを特徴とする画像処理装置。
The image processing apparatus according to claim 1,
The maximum length acquisition unit, when the section is given, scans the order storage unit and the tile image storage unit to acquire the maximum length.
請求項1から3のいずれか1項に記載の画像処理装置であって、
当該区画のうち、描画すべき区画は、当該仮想空間の一部の領域であり、
前記制御部は、当該(a)(b)(c)の三つ組にかえて、
(a')当該区画に対応付けて記憶される位置と当該領域の当該仮想空間における位置から定められる当該区画の当該領域における相対的な位置と、
(b')当該区画に対応付けて記憶される識別番号と、
(c')当該区画から始まり当該区画に対して前記取得された最大長の長さのタイル画像の列のうち当該領域に含まれるタイル画像の個数と、
の三つ組を、前記描画部に指定する
ことを特徴とする画像処理装置。
The image processing apparatus according to any one of claims 1 to 3,
Among the sections, the section to be drawn is a partial area of the virtual space,
The control unit is changed to the triple of (a), (b) and (c),
(A ′) the relative position in the region of the partition determined from the position stored in association with the partition and the position of the region in the virtual space;
(B ′) an identification number stored in association with the section;
(C ′) the number of tile images included in the region in the column of tile images of the maximum length acquired for the partition starting from the partition;
An image processing apparatus characterized by designating the triplet to the drawing unit.
請求項4に記載の画像処理装置であって、
当該領域に含まれる区画のすべてについての描画がされると、当該画像を画面に表示する表示部
をさらに備えることを特徴とする画像処理装置。
The image processing apparatus according to claim 4,
An image processing apparatus, further comprising: a display unit configured to display the image on a screen when all the sections included in the region are drawn.
請求項5に記載の画像処理装置であって、
ユーザの指示入力により、当該領域を当該仮想空間の中で移動させる領域移動部
をさらに備えることを特徴とする画像処理装置。
The image processing apparatus according to claim 5,
An image processing apparatus, further comprising: a region moving unit that moves the region in the virtual space in response to a user instruction input.
タイル画像記憶部、描画部、順序記憶部、最大長取得部、制御部を有する画像処理装置が実行する画像処理方法であって、
前記タイル画像記憶部には、所定のサイズのタイル画像の列が記憶され、
前記順序記憶部には、仮想空間を当該所定のサイズに区切る区画のそれぞれについて、当該区画に描画すべきタイル画像の前記タイル画像記憶部に記憶される列内における順序を表す識別番号と、当該区画の位置と、が、当該区画に対応付けて記憶され、
前記描画部が、画面に表示すべき画像における位置と、前記タイル画像記憶部に記憶される列内における順序を表す識別番号と、表示すべき個数と、の三つ組が指定されると、当該画像において、当該指定された識別番号により表される順序の位置から始まる当該指定された個数の長さのタイル画像の列を、当該指定された位置に描画する描画工程、
前記最大長取得部が、当該区画のうち、いずれかの区画が指定されると、当該指定された区画について、当該区画から所定の方向に並ぶ区画の列に描画すべきタイル画像の識別番号が、前記タイル画像記憶部に記憶される列内における順序を表す識別番号と一致する最大長を取得する最大長取得工程、
前記制御部が、当該区画のうち、当該画像内に描画すべき区画のすべてについて、当該区画が当該画像においてまだ描画されていなければ、
(a)当該区画に対応付けられる位置と、
(b)当該区画に対応付けて記憶される識別番号と、
(c)当該区画を前記最大長取得工程に指定して得られる最大長と、
の三つ組を、前記描画部に指定する制御工程
を備えることを特徴とする画像処理方法。
An image processing method executed by an image processing apparatus having a tile image storage unit, a drawing unit, an order storage unit, a maximum length acquisition unit, and a control unit,
The tile image storage unit stores a column of tile images of a predetermined size,
In the order storage unit, for each of the sections that divide the virtual space into the predetermined size, an identification number that represents the order in the column stored in the tile image storage unit of tile images to be drawn in the section, and The position of the section is stored in association with the section,
When the drawing unit designates a triple of a position in an image to be displayed on the screen, an identification number indicating an order in a column stored in the tile image storage unit, and the number to be displayed, the image A drawing step of drawing a column of tile images of the specified number of lengths starting from the position in the order represented by the specified identification number at the specified position;
When any one of the sections is designated by the maximum length acquisition unit, the identification number of the tile image to be drawn in the row of the sections arranged in a predetermined direction from the section for the designated section. A maximum length acquisition step of acquiring a maximum length that matches an identification number representing an order in a column stored in the tile image storage unit ;
The control unit, for all of the sections to be drawn in the image, the section is not yet drawn in the image,
(A) a position associated with the section;
(B) an identification number stored in association with the section;
(C) a maximum length obtained by designating the section in the maximum length acquisition step;
An image processing method comprising: a control step of designating the triplet to the drawing unit.
コンピュータを、
所定のサイズのタイル画像の列を記憶するタイル画像記憶部、
画面に表示すべき画像における位置と、前記タイル画像記憶部に記憶される列内における順序を表す識別番号と、表示すべき個数と、の三つ組が指定されると、当該画像において、当該指定された識別番号により表される順序の位置から始まる当該指定された個数の長さのタイル画像の列を、当該指定された位置に描画する描画部、
仮想空間を当該所定のサイズに区切る区画のそれぞれについて、当該区画に描画すべきタイル画像の前記タイル画像記憶部に記憶される列内における順序を表す識別番号と、当該区画の位置と、を、当該区画に対応付けて記憶する順序記憶部、
当該区画のうち、いずれかの区画が指定されると、当該指定された区画について、当該区画から所定の方向に並ぶ区画の列に描画すべきタイル画像の識別番号が、前記タイル画像記憶部に記憶される列内における順序を表す識別番号と一致する最大長を取得する最大長取得部、
当該区画のうち、当該画像内に描画すべき区画のすべてについて、当該区画が当該画像においてまだ描画されていなければ、
(a)当該区画に対応付けられる位置と、
(b)当該区画に対応付けて記憶される識別番号と、
(c)当該区画を前記最大長取得部に指定して得られる最大長と、
の三つ組を、前記描画部に指定する制御部
として機能させることを特徴とするプログラム。
Computer
A tile image storage unit for storing a sequence of tile images of a predetermined size;
When a triplet of the position in the image to be displayed on the screen, the identification number indicating the order in the column stored in the tile image storage unit, and the number to be displayed is designated, the designation is made in the image. A drawing unit that draws a column of tile images of the designated number of lengths starting from the position of the order represented by the identification number at the designated position;
For each of the sections that divide the virtual space into the predetermined size, an identification number that represents the order of the tile images to be drawn in the section in the column stored in the tile image storage unit, and the position of the section, An order storage unit for storing in association with the section;
When any one of the sections is designated, an identification number of a tile image to be drawn in a row of sections arranged in a predetermined direction from the section is stored in the tile image storage unit. A maximum length acquisition unit for acquiring a maximum length that matches an identification number representing an order in a stored column;
For all of the sections to be drawn in the image, if the section is not yet drawn in the image,
(A) a position associated with the section;
(B) an identification number stored in association with the section;
(C) a maximum length obtained by designating the section as the maximum length acquisition unit;
A program for causing the triple to function as a control unit for designating the drawing unit.
JP2008087037A 2008-03-28 2008-03-28 Image processing apparatus, image processing method, and program Active JP4637199B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008087037A JP4637199B2 (en) 2008-03-28 2008-03-28 Image processing apparatus, image processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008087037A JP4637199B2 (en) 2008-03-28 2008-03-28 Image processing apparatus, image processing method, and program

Publications (2)

Publication Number Publication Date
JP2009238192A JP2009238192A (en) 2009-10-15
JP4637199B2 true JP4637199B2 (en) 2011-02-23

Family

ID=41251999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008087037A Active JP4637199B2 (en) 2008-03-28 2008-03-28 Image processing apparatus, image processing method, and program

Country Status (1)

Country Link
JP (1) JP4637199B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012063279A1 (en) * 2010-11-09 2012-05-18 三菱電機株式会社 Map-symbol rendering device
KR101799978B1 (en) 2011-06-17 2017-11-22 삼성전자주식회사 Method and apparatus for tile based rendering using tile-to-tile locality

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09325749A (en) * 1996-06-03 1997-12-16 Toshiba Corp Character pattern forming apparatus and character pattern forming method
JP4030014B2 (en) * 2003-01-27 2008-01-09 Kddi株式会社 Image display device and program thereof

Also Published As

Publication number Publication date
JP2009238192A (en) 2009-10-15

Similar Documents

Publication Publication Date Title
JP3949674B2 (en) Display device, display method, and program
JP3853329B2 (en) GAME PROGRAM AND GAME DEVICE
US9202440B2 (en) Information processing apparatus, information processing method, and data structure of content file
JP3617839B2 (en) GAME SOUND CONTROL PROGRAM, GAME SOUND CONTROL METHOD, AND GAME DEVICE
EP2133842A1 (en) Image generating apparatus, image processing method, information recording medium, and program
US20090262139A1 (en) Video image display device and video image display method
US9697638B2 (en) Image processing apparatus, image processing method, and data structure of image file
US20090305782A1 (en) Double render processing for handheld video game device
WO2022193614A1 (en) Water wave special effect generation method and apparatus, storage medium, computer device
CN101317151B (en) Object selecting device, object selecting method
EP1795240B1 (en) Game machine, game machine control method, information recording medium, and program
WO2013080662A1 (en) Selection device, selection system, method for controlling selection device, information storage medium, and program
JP4637199B2 (en) Image processing apparatus, image processing method, and program
WO2006080282A1 (en) Image creating device, light arranging method, recording medium, and program
JP4037889B2 (en) Image generating apparatus, image generating method, and program
JP5351674B2 (en) GAME DEVICE, GAME CONTROL METHOD, AND PROGRAM
JP5028263B2 (en) Presentation display device, computer control method and program
JP3779717B2 (en) GAME PROGRAM AND GAME DEVICE
JP4815410B2 (en) Display device, display method, and program
JP2009015706A (en) Image generating apparatus, image generating method, and program
JP5155427B2 (en) GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
JP5073717B2 (en) GAME DEVICE, GAME CONTROL METHOD, AND PROGRAM
JP5301590B2 (en) GAME DEVICE, GAME DEVICE CONTROL METHOD, AND PROGRAM
JP2002259959A (en) Image generating method, image generating device, recording medium and program
JP2002197481A (en) Three-dimensional shape processing device, three-dimensional shape processing method, and recording medium storing program for implementing the method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101025

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

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

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

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4637199

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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