JP2009064355A - Program, information storage medium, and image producing system - Google Patents

Program, information storage medium, and image producing system Download PDF

Info

Publication number
JP2009064355A
JP2009064355A JP2007233314A JP2007233314A JP2009064355A JP 2009064355 A JP2009064355 A JP 2009064355A JP 2007233314 A JP2007233314 A JP 2007233314A JP 2007233314 A JP2007233314 A JP 2007233314A JP 2009064355 A JP2009064355 A JP 2009064355A
Authority
JP
Japan
Prior art keywords
image
buffer
viewpoint
area
pixel
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.)
Pending
Application number
JP2007233314A
Other languages
Japanese (ja)
Inventor
Tomohiro Oto
友博 大戸
Shun Tsubosaki
瞬 坪崎
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.)
Cellius Inc
Original Assignee
Cellius 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 Cellius Inc filed Critical Cellius Inc
Priority to JP2007233314A priority Critical patent/JP2009064355A/en
Publication of JP2009064355A publication Critical patent/JP2009064355A/en
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a program, etc. for enabling a flicker-free stereoscopic view image to be effectively produced. <P>SOLUTION: An image producing system includes a buffer TB having first and second areas AR1, AR2, and a drawing part for performing a drawing process for producing a multi-eye stereoscopic view image IS. The drawing part writes a first viewpoint image IR of a multi-eye stereoscopic view to the first area AR1 of the buffer TB after compression into one half in a height direction, and writes a second viewpoint image IL of the multi-eye stereoscopic view to the second area AR2 of the buffer TB after compression into one half in a height direction. Then, a multi-eye stereoscopic view image IS in which a pixel image of the first viewpoint image IR written to the first area AR1 and a pixel image of the second viewpoint image IL written to the second area AR2 are displayed alternately every line is to be produced by reading images from the buffer TB. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。   The present invention relates to a program, an information storage medium, and an image generation system.

従来より、ゲームや映画などの分野において、臨場感溢れる画像を生成するシステムとして、立体視画像の生成が可能な画像生成システムが注目を浴びている。このような画像生成システムとしては例えば特許文献1に開示される従来技術がある。この画像生成システムでは、右目用画像と左目用画像を用意し、これらの画像を表示画面上にフレーム毎(例えば1/60秒毎)に交互に表示する。そして観者は専用の眼鏡を装着し、右目は右目用画像のみを見て、左目は左目用画像のみを見ることで、立体視を実現する。   2. Description of the Related Art Conventionally, image generation systems capable of generating stereoscopic images have attracted attention as systems for generating images with a sense of presence in the fields of games and movies. As such an image generation system, for example, there is a conventional technique disclosed in Patent Document 1. In this image generation system, a right-eye image and a left-eye image are prepared, and these images are alternately displayed on the display screen for each frame (for example, every 1/60 seconds). The viewer wears dedicated glasses, the right eye sees only the right eye image, and the left eye sees only the left eye image, thereby realizing stereoscopic viewing.

しかしながら、この方式の立体視では、右目用画像と左目用画像がフレーム毎に交互に表示されるため、画面にチラツキが発生する。従って、例えば3次元ゲームの画像を、このような方式で表示すると、長時間のゲームプレイが難しいという課題があった。
特開2004−178581号公報
However, in this type of stereoscopic viewing, the right-eye image and the left-eye image are alternately displayed for each frame, and thus flickering occurs on the screen. Therefore, for example, when an image of a three-dimensional game is displayed in this manner, there is a problem that it is difficult to play a game for a long time.
Japanese Patent Laid-Open No. 2004-178581

本発明の幾つかの態様によれば、チラツキの少ない立体視画像の効率的な生成を可能にするプログラム、情報記憶媒体及び画像生成システムを提供できる。   According to some aspects of the present invention, it is possible to provide a program, an information storage medium, and an image generation system that enable efficient generation of a stereoscopic image with less flicker.

本発明は、多眼立体視のための画像生成システムであって、第1の領域と第2の領域を有するバッファと、多眼立体視画像を生成するための描画処理を行う描画部とを含み、前記描画部は、多眼立体視の第1の視点画像を高さ方向において1/2に圧縮して、前記バッファの前記第1の領域に書き込むと共に、多眼立体視の第2の視点画像を高さ方向において1/2に圧縮して、前記バッファの前記第2の領域に書き込み、前記バッファから画像を読み出すことで、前記第1の領域に書き込まれた前記第1の視点画像のピクセル画像と前記第2の領域に書き込まれた前記第2の視点画像のピクセル画像とが、ライン毎に交互に表示される前記多眼立体視画像を生成する画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。   The present invention is an image generation system for multi-view stereoscopic viewing, comprising: a buffer having a first region and a second region; and a rendering unit that performs rendering processing for generating a multi-view stereoscopic image. The drawing unit compresses the first viewpoint image for multi-view stereoscopic viewing by ½ in the height direction, writes the first viewpoint image in the first area of the buffer, and outputs the second viewpoint for multi-view stereoscopic viewing. The first viewpoint image written in the first area by compressing the viewpoint image by half in the height direction, writing to the second area of the buffer, and reading the image from the buffer This pixel image and the pixel image of the second viewpoint image written in the second area relate to an image generation system that generates the multi-view stereoscopic image that is alternately displayed for each line. The present invention also relates to a program that causes a computer to function as each of the above-described units, or a computer-readable information storage medium that stores the program.

本発明によれば、第1、第2の視点画像が、高さ方向に1/2に圧縮されてバッファの第1、第2の領域に書き込まれる。そしてこのバッファから画像を読み出すことで、第1の領域の第1の視点画像と第2の領域の第2の視点画像がライン毎に交互に表示された多眼立体視画像が生成される。このようにすれば、第1、第2の視点画像の高さ方向に圧縮した書き込み処理と、バッファからの画像の読み出し処理だけで、第1、第2の視点画像がライン毎に交互に表示された多眼立体視画像を生成できるため、チラツキの少ない立体視画像の効率的な生成が可能になる。   According to the present invention, the first and second viewpoint images are compressed by half in the height direction and written to the first and second areas of the buffer. By reading out the image from this buffer, a multi-view stereoscopic image in which the first viewpoint image in the first area and the second viewpoint image in the second area are alternately displayed for each line is generated. In this way, the first and second viewpoint images are alternately displayed for each line only by the writing process compressed in the height direction of the first and second viewpoint images and the reading process of the image from the buffer. Since the generated multi-view stereoscopic image can be generated, it is possible to efficiently generate a stereoscopic image with less flicker.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記バッファは、幅がWピクセルであり高さがH/2ピクセルである前記第1の領域と、幅がWピクセルであり高さがH/2ピクセルである前記第2の領域を有し、前記描画部は、前記バッファのメモリピッチを2Nバイトに設定し、幅がWピクセルであり高さがHピクセルである前記第1の視点画像を高さ方向において圧縮して、前記第1の領域に書き込むと共に、幅がWピクセルであり高さがHピクセルである前記第2の視点画像を高さ方向において圧縮して、前記第2の領域に書き込み、前記バッファのメモリピッチをNバイトに設定し、前記バッファから画像を読み出すことで、前記第1の視点画像のピクセル画像と前記第2の視点画像のピクセル画像がライン毎に交互に表示される前記多眼立体視画像を生成してもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the buffer includes the first region having a width of W pixels and a height of H / 2 pixels, and a width of W pixels and a height. The second area is H / 2 pixels, the rendering unit sets the memory pitch of the buffer to 2 N bytes, the width is W pixels, and the height is H pixels. The viewpoint image is compressed in the height direction and written to the first area, and the second viewpoint image having a width of W pixels and a height of H pixels is compressed in the height direction, By writing to the area 2 and setting the memory pitch of the buffer to N bytes and reading the image from the buffer, the pixel image of the first viewpoint image and the pixel image of the second viewpoint image are written. It may generate the multiview stereoscopic image displayed alternately every.

このようにすれば、画像の書き込み時にはメモリピッチを2Nバイトに設定し、画像の読み出し時にはメモリピッチをNバイトに設定することで、第1、第2の視点画像のピクセル画像がライン毎に交互に表示された多眼立体視画像を生成できる。   In this way, the pixel pitch of the first and second viewpoint images is alternated for each line by setting the memory pitch to 2N bytes when writing the image and setting the memory pitch to N bytes when reading the image. A multi-view stereoscopic image displayed on the screen can be generated.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記第1、第2の視点画像を描画するための描画バッファを含み、前記描画部は、前記第1の視点画像を前記描画バッファに描画し、前記描画バッファに描画された前記第1の視点画像を高さ方向において圧縮して前記バッファの前記第1の領域にコピーし、前記第2の視点画像を前記描画バッファに描画し、前記描画バッファに描画された前記第2の視点画像を高さ方向において圧縮して前記バッファの前記第2の領域にコピーしてもよい。   The image generation system, the program, and the information storage medium according to the present invention include a drawing buffer for drawing the first and second viewpoint images, and the drawing unit displays the first viewpoint image in the drawing buffer. The first viewpoint image drawn in the drawing buffer is compressed in the height direction, copied to the first area of the buffer, and the second viewpoint image is drawn in the drawing buffer. The second viewpoint image drawn in the drawing buffer may be compressed in the height direction and copied to the second area of the buffer.

このようにすれば、高さ方向での画像の圧縮は、描画バッファから第1、第2の領域へのコピー処理の際に行えば済むため、処理の簡素化、効率化を図れる。   In this way, the image can be compressed in the height direction at the time of copying from the drawing buffer to the first and second areas, so that the processing can be simplified and made more efficient.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画部は、前記描画バッファに描画された前記第1の視点画像を、前記第1の領域のサイズのポリゴンにテクスチャマッピングして前記第1の領域に描画することで、前記描画バッファから前記第1の領域への前記第1の視点画像のコピーを行い、前記描画バッファに描画された前記第2の視点画像を、前記第2の領域のサイズのポリゴンにテクスチャマッピングして前記第2の領域に描画することで、前記描画バッファから前記第2の領域への前記第2の視点画像のコピーを行ってもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the drawing unit texture-maps the first viewpoint image drawn in the drawing buffer to a polygon having a size of the first region. By drawing in the first area, the first viewpoint image is copied from the drawing buffer to the first area, and the second viewpoint image drawn in the drawing buffer is copied to the first area. The second viewpoint image may be copied from the drawing buffer to the second area by performing texture mapping on the polygon having the size of area 2 and drawing in the second area.

このようにすれば、ポリゴンのサイズの設定だけで高さ方向の画像圧縮を実現できるため、処理の更なる簡素化、効率化を図れる。   In this way, since the image compression in the height direction can be realized only by setting the polygon size, the processing can be further simplified and made more efficient.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画部は、前記第2の視点画像を前記第2の領域のサイズのポリゴンにテクスチャマッピングする際に、高さ方向のテクスチャ座標を1テクセル分だけシフトさせてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the rendering unit may perform texture mapping in the height direction when texture mapping the second viewpoint image onto the polygon having the size of the second region. May be shifted by one texel.

このようにすれば、第1、第2の視点画像のピクセル画像が適正に配列された多眼立体視画像を生成できる。   In this way, it is possible to generate a multi-view stereoscopic image in which the pixel images of the first and second viewpoint images are appropriately arranged.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画部は、前記第1、第2の視点画像が前記第1、第2の領域にコピーされた後に、前記バッファの画像を前記描画バッファに書き戻してもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the drawing unit may store the image of the buffer after the first and second viewpoint images are copied to the first and second areas. You may write back to the drawing buffer.

このようにすれば、描画バッファを用いた既存の描画アルゴリズムに対して、バッファ等を追加するだけで、多眼立体視画像を生成できるようになる。   In this way, a multi-view stereoscopic image can be generated simply by adding a buffer or the like to an existing drawing algorithm using a drawing buffer.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画部は、前記バッファの画像を、前記描画バッファのサイズのポリゴンにテクスチャマッピングして前記描画バッファに描画することで、前記バッファの画像を前記描画バッファに書き戻してもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the drawing unit texture-maps the buffer image to a polygon having the size of the drawing buffer and draws the buffer in the drawing buffer. May be written back to the drawing buffer.

このようにすれば、テクスチャマッピングを有効活用した効率的な処理で、描画バッファへの画像の書き戻しを実現できる。   In this way, it is possible to realize the writing back of the image to the drawing buffer by an efficient process that effectively uses the texture mapping.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画バッファとして、第1、第2の描画バッファが用意され、前記描画部は、前記第1、第2の描画バッファの一方の描画バッファから前記バッファへの画像のコピー処理及び前記バッファから前記一方の描画バッファへの画像の書き戻し処理を行った後に、前記一方の描画バッファをバックバッファからフロントバッファに切り替え、前記一方とは異なる他方の描画バッファをフロントバッファからバックバッファに切り替えてもよい。   In the image generation system, the program, and the information storage medium according to the present invention, first and second drawing buffers are prepared as the drawing buffer, and the drawing unit is one of the first and second drawing buffers. After the image copy process from the drawing buffer to the buffer and the image write back process from the buffer to the one drawing buffer, the one drawing buffer is switched from the back buffer to the front buffer. The other different drawing buffer may be switched from the front buffer to the back buffer.

このようにすれば、複数バッファ方式を採用した既存の描画アルゴリズムに対して、バッファ等を追加するだけで、多眼立体視画像を生成できるようになる。   In this way, a multi-view stereoscopic image can be generated simply by adding a buffer or the like to an existing drawing algorithm that employs a multiple buffer method.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画部は、前記第1、第2の視点画像を高さ方向において圧縮して前記第1、第2の領域に書き込む際に、前記第1、第2の視点画像の第iのラインのピクセル画像と次の第i+1のラインのピクセル画像の平均化処理を行ってもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the drawing unit compresses the first and second viewpoint images in the height direction and writes them in the first and second areas. The pixel image of the i-th line of the first and second viewpoint images and the pixel image of the next i + 1-th line may be averaged.

このようにすれば、ジャギー等を低減して、高品位の画像を生成できるようになる。   In this way, jaggy and the like can be reduced and a high-quality image can be generated.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画部は、前記第1、第2の視点画像を、前記第1、第2の領域のサイズのポリゴンにテクセル補間方式でテクスチャマッピングして前記第1、第2の領域に描画することで、前記第iのラインのピクセル画像と前記第i+1のラインのピクセル画像の前記平均化処理を行ってもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the drawing unit textures the first and second viewpoint images into polygons having the sizes of the first and second regions by a texel interpolation method. The averaging process of the pixel image of the i-th line and the pixel image of the i + 1-th line may be performed by mapping and drawing in the first and second regions.

このようにすれば、テクスチャマッピングを行うことで、平均化処理が自動的に実行されるようになるため、処理を効率化できる。   In this way, by performing texture mapping, the averaging process is automatically executed, so the process can be made more efficient.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画部は、前記多眼立体視画像の第mのラインについては、前記第1の視点画像の第jのラインのピクセル画像と次の第j+1のラインのピクセル画像の平均化が行われ、前記多眼立体視画像の第m+1のラインについては、前記第2の視点画像の第j+1のラインのピクセル画像と次の第j+2のラインのピクセル画像の平均化が行われるように、前記平均化処理を行ってもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the drawing unit may include a pixel image of the j-th line of the first viewpoint image for the m-th line of the multi-view stereoscopic image. The pixel image of the next j + 1-th line is averaged, and the m + 1-th line of the multi-view stereoscopic image is the pixel image of the j + 1-th line of the second viewpoint image and the next j + 2-th line. The averaging process may be performed so that the line pixel images are averaged.

このようにすれば、適正な位置に適正な第1、第2の視点画像のピクセル画像が表示された多眼立体視画像を生成できる。   In this way, it is possible to generate a multi-view stereoscopic image in which pixel images of appropriate first and second viewpoint images are displayed at appropriate positions.

また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記描画部は、多眼立体視の第1の視点用の仮想カメラの注視点と、多眼立体視の第2の視点用の仮想カメラの注視点を、高さ方向においてずらして、前記第1の視点画像と前記第2の視点画像を生成してもよい。   In the image generation system, the program, and the information storage medium according to the present invention, the drawing unit includes a point of sight of the virtual camera for the first viewpoint for multi-view stereoscopic viewing and the second viewpoint for the multi-view stereoscopic viewing. The first viewpoint image and the second viewpoint image may be generated by shifting the gazing point of the virtual camera in the height direction.

このようにすれば、更に適正な多眼立体視画像を生成できる。   In this way, a more appropriate multi-view stereoscopic image can be generated.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   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 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は、プレーヤが操作データを入力するためのものであり、その機能は、方向キー、操作ボタン、アナログスティック、レバー、ステアリング、アクセル、ブレーキ、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。   The operation unit 160 is for a player to input operation data, and the function can be realized by a direction key, operation buttons, analog stick, lever, steering, accelerator, brake, microphone, touch panel display, or the like.

記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(DRAM、VRAM)などにより実現できる。この記憶部170は、電源を切るとデータが消えてしまう揮発性のメモリにより構成できるが、補助記憶装置194よりも高速な記憶装置になっている。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。   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 (DRAM, VRAM) or the like. The storage unit 170 can be configured by a volatile memory that loses data when the power is turned off, but is a storage device that is faster than the auxiliary storage device 194. Then, the game program and game data necessary for executing the game program are held in the storage unit 170.

情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、HDD(ハードディスクドライブ)、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。   An information storage medium 180 (a computer-readable medium) stores programs, data, and the like, and functions thereof by an optical disk (CD, DVD), HDD (hard disk drive), memory (ROM, etc.), and the like. realizable. 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, in the information storage medium 180, a program for causing a computer (an apparatus including an operation unit, a processing unit, a storage unit, and an output unit) to function as each unit of the present embodiment (a program for causing the computer to execute processing of each unit). Is memorized.

表示部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(補助メモリ、2次メモリ)は、記憶部170の容量を補うために使用される大容量の記憶装置であり、SDメモリーカード、マルチメディアカードなどのメモリーカードや、HDDなどにより実現できる。この補助記憶装置194は脱着自在になっているが、内蔵されるものであってもよい。この補助記憶装置194は、ゲームの途中結果などのセーブデータや、プレーヤ(ユーザ)の個人的な画像データや音楽データなどを保存するために使用される。   The auxiliary storage device 194 (auxiliary memory, secondary memory) is a large-capacity storage device that is used to supplement the capacity of the storage unit 170, and may be a memory card such as an SD memory card or a multimedia card, an HDD, or the like. realizable. The auxiliary storage device 194 is detachable, but may be built-in. The auxiliary storage device 194 is used to save save data such as the game midway results, personal image data and music data of the player (user), and the like.

通信部196は、有線や無線のネットワークを介して外部(例えば他の画像生成システム、サーバ、ホスト装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。   The communication unit 196 communicates with the outside (for example, another image generation system, a server, or a host device) via a wired or wireless network, and functions as a communication ASIC, a communication processor, or the like. It can be realized by hardware and communication firmware.

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

処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部100は記憶部170(主記憶部172)をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、GPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。   The processing unit 100 (processor) performs game processing, image generation processing, sound generation processing, and the like based on operation data from the operation unit 160, a program, and the like. The processing unit 100 performs various processes using the storage unit 170 (main storage unit 172) as a work area. The functions of the processing unit 100 can be realized by hardware such as various processors (CPU, GPU, etc.), ASIC (gate array, etc.), and programs.

処理部100は、ゲーム演算部102、オブジェクト空間設定部104、移動体演算部106、仮想カメラ制御部108、描画部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。   The processing unit 100 includes a game calculation unit 102, an object space setting unit 104, a moving body calculation unit 106, a virtual camera control unit 108, a drawing unit 120, and a sound generation unit 130. Note that some of these may be omitted.

ゲーム演算部102はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。   The game calculation unit 102 performs game calculation processing. Here, as a game calculation, a process for starting a game when a game start condition is satisfied, a process for advancing the game, a process for calculating a game result, or a process for ending a game when a game end condition is satisfied and so on.

オブジェクト空間設定部104は、モデルオブジェクト(車、戦闘機、人、ロボット、ミサイル、弾等の移動体)、マップ(地形)、建物、コース(道路)、樹木、壁などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のモデルデータ記憶部MSには、オブジェクトの位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。そしてこのオブジェクトデータは、移動体演算部106の移動体演算処理等により順次更新される。   The object space setting unit 104 displays various display objects such as model objects (moving bodies such as cars, fighters, people, robots, missiles, and bullets), maps (terrain), buildings, courses (roads), trees, and walls. Processing for setting an object (an object composed of a primitive surface such as a polygon, a free-form surface, or a subdivision surface) 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. Specifically, the model data storage unit MS of the storage unit 170 stores object data that is data such as the position, rotation angle, movement speed, and movement direction of the object in association with the object number. Then, the object data is sequentially updated by a moving object calculation process or the like of the moving object calculation unit 106.

オブジェクト空間設定部104はカリング処理部105を含む。このカリング処理部105は例えばソフトウェアによるカリング処理を行う。具体的には、オブジェクトデータのオブジェクトリストの中から、当該フレームにおいて表示されることがないオブジェクトを削除する処理を行う。例えば当該フレームにおいて仮想カメラの視野範囲内に存在せず、表示処理を行う必要がないオブジェクトを予め削除する。このようにすれば、削除されたオブジェクトを構成するポリゴンについては頂点データ等を作成しなくても済むため、処理負荷を大幅に軽減できる。   The object space setting unit 104 includes a culling processing unit 105. The culling processing unit 105 performs culling processing by software, for example. Specifically, a process of deleting an object that is not displayed in the frame from the object list of the object data is performed. For example, an object that does not exist within the field of view of the virtual camera in the frame and does not need to be displayed is deleted in advance. In this way, it is not necessary to create vertex data or the like for the polygons constituting the deleted object, so that the processing load can be greatly reduced.

移動体演算部(移動体制御部)106は、移動体(移動体オブジェクト)を移動させるための演算を行う。また移動体を動作させるための演算も行う。即ち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、移動体(オブジェクト、モデルオブジェクト)をオブジェクト空間内で移動させたり、移動体を動作(モーション、アニメーション)させる処理を行う。具体的には、移動体の移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。   The moving object calculation unit (moving object control unit) 106 performs an operation for moving the moving object (moving object). Also, calculations for operating the moving body are performed. That is, based on operation data input by the player through the operation unit 160, a program (movement / motion algorithm), various data (motion data), etc., a moving body (object, model object) is moved in the object space, Performs processing to move the moving body (motion, animation). Specifically, a simulation process for sequentially obtaining movement information (position, rotation angle, speed, or acceleration) and motion information (part object position or rotation angle) of a moving body for each frame (1/60 second). I do. A frame is a unit of time for performing a moving / movement process (simulation process) and an image generation process of a moving object.

より具体的には、移動体演算部106は、モーションデータ記憶部MTSに記憶されるモーションデータに基づいて、オブジェクトのモーションを再生する処理を行う。即ち、オブジェクト(スケルトン)を構成する各パーツオブジェクト(スケルトンを構成する骨)の位置又は回転角度(方向)等を含むモーションデータを、モーションデータ記憶部MTSから読み出す。そして、オブジェクトの各パーツオブジェクト(骨)を動かすことで(スケルトン形状を変形させることで)、オブジェクトのモーションを再生する。   More specifically, the moving body calculation unit 106 performs processing for reproducing the motion of the object based on the motion data stored in the motion data storage unit MTS. That is, motion data including the position or rotation angle (direction) of each part object (bone constituting the skeleton) constituting the object (skeleton) is read from the motion data storage unit MTS. Then, by moving each part object (bone) of the object (by deforming the skeleton shape), the motion of the object is reproduced.

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

例えば仮想カメラにより車、キャラクタ、戦闘機などの移動体を後方から撮影する場合には、移動体の位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動体演算部106で得られた移動体の位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。   For example, when a moving body such as a car, character, or fighter is photographed from behind using a virtual camera, the position or rotation angle of the virtual camera (virtual camera is set so that the virtual camera follows changes in the position or rotation of the moving body. The direction). In this case, the virtual camera can be controlled based on information such as the position, rotation angle, or speed of the moving object obtained by the moving object computing unit 106. 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.

なお本実施形態では仮想カメラ制御部108は、多眼立体視画像を生成するために、複数の視点の仮想カメラの制御を行う。具体的には第1の視点用(例えば右目用)の仮想カメラと第2の視点用(例えば左目用)の仮想カメラを制御して、プレーヤに立体感を感じさせるための両眼視差等を実現する。   In the present embodiment, the virtual camera control unit 108 controls the virtual cameras of a plurality of viewpoints in order to generate a multi-view stereoscopic image. Specifically, the binocular parallax or the like for controlling the first viewpoint (for example, right eye) virtual camera and the second viewpoint (for example, left eye) virtual camera to make the player feel a stereoscopic effect, etc. Realize.

描画部120(画像生成部)は、処理部100で行われる種々の処理(ゲーム処理、シミュレーション処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずモデル(オブジェクト)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が生成され、これらのデータに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。   The drawing unit 120 (image generation unit) performs drawing processing based on the results of various processing (game processing and simulation processing) performed by the processing unit 100, thereby generating an image and outputting it to the display unit 190. In order to generate a so-called three-dimensional game image, first, vertex data (vertex position coordinates, texture coordinates, color data, normal vector, α value, etc.) of each vertex of the model (object) is generated. Based on the above, vertex processing (shading by a vertex shader) is performed. When performing the vertex processing, vertex generation processing (tessellation, curved surface division, polygon division) for re-dividing the polygon may be performed as necessary.

頂点処理(頂点シェーダ処理)では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。   In vertex processing (vertex shader processing), vertex movement processing, coordinate transformation (world coordinate transformation, camera coordinate transformation), clipping processing, perspective transformation, etc., according to a vertex processing program (vertex shader program, first shader program) Geometry processing is performed, and based on the processing result, the vertex data given to the vertex group constituting the object is changed (updated, 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.

ピクセル処理(ピクセルシェーダ処理)では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたモデルの描画色を描画バッファDB(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット、フレームバッファ)に出力(描画)する。即ち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定或いは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。   In pixel processing (pixel shader processing), according to the pixel processing program (pixel shader program, second shader program), various processes such as texture reading (texture mapping), color data setting / changing, translucent composition, anti-aliasing, etc. The final drawing color of the pixels constituting the image is determined, and the drawing color of the perspective-converted model is stored in the drawing buffer DB (buffer that can store image information in units of pixels; VRAM, rendering target, frame buffer). Output (draw). 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 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は、ライティング処理部122、テクスチャマッピング部124を含む。なおこれらの一部を省略する構成としてもよい。   The drawing unit 120 includes a lighting processing unit 122 and a texture mapping unit 124. Note that some of these may be omitted.

ライティング処理部122は、照明モデル等に基づくライティング処理(シェーディング処理)を行う。具体的にはこのライティング処理は、光源情報(光源ベクトル、光源色、明るさ、光源タイプ等)、仮想カメラ(視点)の視線ベクトル、オブジェクト(半透明オブジェクト)の法線ベクトル、オブジェクトのマテリアル(色、材質)などを用いて行われる。なお照明モデルとしては、アンビエント光とディフューズ光だけを考慮したランバードの拡散照明モデルや、アンビエント光、ディフューズ光に加えてスペキュラ光も考慮するフォンの照明モデルやブリン・フォンの照明モデルなどがある。   The lighting processing unit 122 performs lighting processing (shading processing) based on an illumination model or the like. Specifically, this lighting processing includes light source information (light source vector, light source color, brightness, light source type, etc.), line-of-sight vector of virtual camera (viewpoint), normal vector of object (translucent object), object material ( Color, material) and the like. Illumination models include the Lumbard diffuse lighting model that considers only ambient light and diffuse light, the phone lighting model that considers specular light in addition to ambient light and diffuse light, and the Bling phone lighting model. is there.

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

そして本実施形態では描画部120は、多眼立体視画像(n眼立体視画像。n≧2)を生成するための描画処理を行う。具体的には描画部120は、多眼立体視(2眼立体視)の第1の視点画像(例えば右目用画像)を高さ方向(縦方向)において例えば1/2に圧縮(縮小)して、バッファTBの第1の領域AR1(例えば左半分側の領域)に書き込む。また多眼立体視の第2の視点画像(例えば左目用画像)を高さ方向(縦方向)において例えば1/2に圧縮(縮小)して、バッファTBの第2の領域AR2(例えば右半分側の領域)に書き込む。そしてバッファTBから画像(AR1、AR2の画像)を読み出すことで、第1の領域AR1に書き込まれた第1の視点画像のピクセル画像(R、G、B、α)と第2の領域AR2に書き込まれた第2の視点画像のピクセル画像とが、ライン毎(例えば走査ライン毎、ビットマップライン毎)に交互に表示される多眼立体視画像を生成する。   In the present embodiment, the drawing unit 120 performs a drawing process for generating a multi-view stereoscopic image (n-eye stereoscopic image, n ≧ 2). Specifically, the drawing unit 120 compresses (reduces), for example, a first viewpoint image (for example, a right-eye image) for multi-view stereoscopic viewing (two-view stereoscopic viewing) to, for example, 1/2 in the height direction (vertical direction). Thus, the data is written into the first area AR1 (for example, the left half area) of the buffer TB. Further, the second viewpoint image (for example, the left-eye image) for multi-view stereoscopic viewing is compressed (reduced) to, for example, 1/2 in the height direction (vertical direction), and the second area AR2 (for example, the right half) of the buffer TB Side area). Then, by reading out the image (the image of AR1, AR2) from the buffer TB, the pixel image (R, G, B, α) of the first viewpoint image written in the first area AR1 and the second area AR2 are read. A multi-view stereoscopic image is generated in which the pixel image of the written second viewpoint image is alternately displayed for each line (for example, for each scanning line or for each bitmap line).

更に具体的には、第1、第2の領域AR1、AR2は、幅がWピクセル(例えば1920ピクセル)であり高さがH/2ピクセル(例えば1080/2=540ピクセル)の領域になっている。   More specifically, the first and second areas AR1 and AR2 are areas having a width of W pixels (for example, 1920 pixels) and a height of H / 2 pixels (for example, 1080/2 = 540 pixels). Yes.

そして画像の書き込み時には、バッファTBのメモリピッチを2Nバイト(例えば2×4バイト×2048ピクセル=16384バイト)に設定する。ここでメモリピッチ(ピッチサイズ)は、ビットマップラインの先頭を表すアドレスと、次のラインの先頭を表すアドレスとのバイト単位の距離である。描画部120は、このように設定されたバッファTBにおいて、幅がWピクセルであり高さがHピクセルである第1の視点画像を、第1の領域AR1に書き込む。また幅がWピクセルであり高さがHピクセルである第2の視点画像を、第2の領域AR2に書き込む。例えば第1の視点画像を描画バッファDB(DB1又はDB2)に描画し、描画された第1の視点画像を高さ方向において圧縮してバッファTBの第1の領域AR1にコピーする。また第2の視点画像を描画バッファDB(DB1又はDB2)に描画し、描画された第2の視点画像を高さ方向において圧縮してバッファTBの第2の領域AR2にコピーする。この場合のコピー処理は、第1、第2の領域AR1、AR2のサイズのポリゴン(画面に表示されない仮想的なポリゴン)に対して、第1又は第2の視点画像をテクスチャとしてマッピングし、当該ポリゴンを第1又は第2の領域AR1、AR2に描画することで実現できる。   At the time of image writing, the memory pitch of the buffer TB is set to 2N bytes (for example, 2 × 4 bytes × 2048 pixels = 16384 bytes). Here, the memory pitch (pitch size) is a distance in bytes between the address representing the head of the bitmap line and the address representing the head of the next line. In the buffer TB set in this way, the drawing unit 120 writes the first viewpoint image having a width of W pixels and a height of H pixels in the first area AR1. A second viewpoint image having a width of W pixels and a height of H pixels is written in the second area AR2. For example, the first viewpoint image is drawn in the drawing buffer DB (DB1 or DB2), and the drawn first viewpoint image is compressed in the height direction and copied to the first area AR1 of the buffer TB. In addition, the second viewpoint image is drawn in the drawing buffer DB (DB1 or DB2), the drawn second viewpoint image is compressed in the height direction, and is copied to the second area AR2 of the buffer TB. In this case, the copy processing is performed by mapping the first or second viewpoint image as a texture to the polygons of the sizes of the first and second areas AR1 and AR2 (virtual polygons not displayed on the screen). This can be realized by drawing a polygon in the first or second area AR1, AR2.

一方、画像の読み出し時には、バッファTBのメモリピッチをNバイトに設定する。描画部120は、このように設定されたバッファTBから画像を読み出すことで、多眼立体視画像を生成する。例えば第1、第2の視点画像が第1、第2の領域AR1、AR2にコピーされた後に、バッファTBの画像を描画バッファDB(DB1又はDB2)に書き戻す(ライトバックする)。この場合の書き戻し処理は、バッファTBの画像を、描画バッファDB(DB1又はDB2)のサイズのポリゴンにテクスチャマッピングし、当該ポリゴンを描画バッファDBに描画することなどで実現できる。   On the other hand, when reading an image, the memory pitch of the buffer TB is set to N bytes. The drawing unit 120 generates a multi-view stereoscopic image by reading an image from the buffer TB set in this way. For example, after the first and second viewpoint images are copied to the first and second areas AR1 and AR2, the image in the buffer TB is written back (written back) to the drawing buffer DB (DB1 or DB2). The write-back process in this case can be realized by texture mapping the image in the buffer TB to a polygon having the size of the drawing buffer DB (DB1 or DB2) and drawing the polygon in the drawing buffer DB.

音生成部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.1 立体視方式
まず、図2、図3を用いて、本実施形態において採用される立体視方式の一例について説明する。
2. 2. Method of the Present Embodiment 2.1 Stereoscopic Method First, an example of the stereoscopic method employed in the present embodiment will be described with reference to FIGS. 2 and 3.

図2の画像生成システム300(例えばゲーム装置)により生成された多眼立体視画像は、表示装置310(例えばハイビジョン対応テレビ)の表示画面に表示される。表示画面には、右目用偏光フィルタと左目用偏光フィルタが走査ライン毎に交互に配列されたフィルム312が貼られている。プレーヤは、これらの偏光フィルタに対応する偏光眼鏡320を掛けて表示画面を見ることで、立体視映像を鑑賞する。   The multi-view stereoscopic image generated by the image generation system 300 (for example, a game device) in FIG. 2 is displayed on the display screen of the display device 310 (for example, a high-definition television). A film 312 in which right-eye polarizing filters and left-eye polarizing filters are alternately arranged for each scanning line is attached to the display screen. The player views a stereoscopic image by wearing the polarizing glasses 320 corresponding to these polarizing filters and viewing the display screen.

具体的には表示装置310の表示画面には、走査ライン毎に右目用画像と左目用画像とが交互に表示される。プレーヤは、偏光眼鏡320の右目部分322に設けられた偏光フィルタを介して、フィルム312の右目用偏光フィルタにより偏光された各走査ラインの右目用画像を見る。また偏光眼鏡320の左目部分324を介して、フィルム312の左目用偏光フィルタにより偏光された各走査ラインの左目用画像を見る。   Specifically, the right eye image and the left eye image are alternately displayed on the display screen of the display device 310 for each scanning line. The player views the right-eye image of each scanning line polarized by the right-eye polarizing filter of the film 312 via the polarizing filter provided on the right-eye portion 322 of the polarizing glasses 320. Further, the left eye image of each scanning line polarized by the left eye polarizing filter of the film 312 is viewed through the left eye portion 324 of the polarizing glasses 320.

図2の立体視方式によれば、プレーヤは、右目用画像及び左目用画像を偏光眼鏡320の右目部分322及び左目部分324を介して同時に見ることができる。従って、右目用画像と左目用画像がフレーム毎に交互に表示される従来の立体視方式に比べて、チラツキが少なく疲れにくい理想的な立体視表示を実現できる。特に3次元ゲーム映像のように、動きの速い映像では、従来の立体視方式では立体感が失われたり、眼の疲労が大きくなるなどの欠点があるが、図2の立体視方式によれば、このような欠点を解消できる。   2, the player can view the right-eye image and the left-eye image simultaneously through the right-eye portion 322 and the left-eye portion 324 of the polarizing glasses 320. Therefore, it is possible to realize an ideal stereoscopic display with less flickering and less fatigue compared to a conventional stereoscopic method in which a right-eye image and a left-eye image are alternately displayed for each frame. In particular, a fast-moving video such as a three-dimensional game video has disadvantages such as loss of stereoscopic effect and increased eye fatigue in the conventional stereoscopic method, but according to the stereoscopic method shown in FIG. Such a drawback can be solved.

図3に右目用画像IR、左目用画像IL、多眼立体視画像ISを概念的に示す。図3の多眼立体視画像ISでは、奇数番目の走査ラインには右目用画像IRのピクセル画像が表示され、偶数番目の走査ラインには左目用画像ILのピクセル画像が表示される。プレーヤは、奇数番目の走査ラインのピクセル画像を偏光眼鏡320の右目部分322を介して見ると共に、偶数番目の走査ラインのピクセル画像を左目部分324を介して見ることで、立体感のある映像を楽しむことができる。   FIG. 3 conceptually shows a right-eye image IR, a left-eye image IL, and a multi-view stereoscopic image IS. In the multi-view stereoscopic image IS of FIG. 3, the pixel image of the right-eye image IR is displayed on the odd-numbered scan lines, and the pixel image of the left-eye image IL is displayed on the even-numbered scan lines. The player views the pixel image of the odd-numbered scan line through the right eye portion 322 of the polarizing glasses 320 and also views the pixel image of the even-numbered scan line through the left eye portion 324, thereby obtaining a stereoscopic image. I can enjoy it.

図4(A)、図4(B)、図5に、本実施形態の画像生成システムにより生成される右目用画像IR、左目用画像IL、多眼立体視画像ISの一例を示す。これらは3次元レースゲームに本実施形態の手法を適用した場合の画像例である。   4A, 4B, and 5 show examples of the right-eye image IR, the left-eye image IL, and the multi-view stereoscopic image IS that are generated by the image generation system of the present embodiment. These are examples of images when the method of this embodiment is applied to a three-dimensional race game.

図4(A)、図4(B)では、全ての走査ラインについて右目用画像IR、左目用画像ILのピクセル画像が生成されている。例えばフルハイビジョン対応の場合には、1080本の全ての走査ラインについてピクセル画像が生成される。そして図5の多眼立体視画像ISは、これらのフルハイビジョン対応の右目用画像IR、左目用画像ILを合成することで生成される。従って、フルハイビジョンの解像度で立体視ゲーム映像を表示できるため、プレーヤの仮想現実感を飛躍的に向上できる。即ち従来の立体視方式では、立体視画像にすることで、解像度が落ちたり、フレームレートが低下するため、画像品質が低下してしまうという問題があったが、図4(A)〜図5の手法によればこのような問題を解消できる。   4A and 4B, pixel images of the right-eye image IR and the left-eye image IL are generated for all scanning lines. For example, in the case of full high-definition support, pixel images are generated for all 1080 scan lines. Then, the multi-view stereoscopic image IS of FIG. 5 is generated by combining the right-eye image IR and the left-eye image IL that are compatible with full high-definition. Accordingly, since the stereoscopic game video can be displayed at full high-definition resolution, the virtual reality of the player can be dramatically improved. That is, in the conventional stereoscopic method, there is a problem that the image quality is deteriorated because the resolution is lowered or the frame rate is lowered by making the stereoscopic image, but FIGS. This method can solve such a problem.

2.2 立体視画像の生成手法
次に本実施形態の立体視画像の生成手法について説明する。本実施形態では、図4(A)〜図5に示すような高品質の立体視画像を生成するために以下に説明する手法を採用している。なお以下では第1の視点画像が右目用画像であり、第2の視点画像が左目用画像である場合を例にとり説明するが、本実施形態はこれに限定されない。例えば第1の視点画像が左目用画像等であり、第2の視点画像が右目用画像等であってもよい。
2.2 Stereoscopic Image Generation Method Next, a stereoscopic image generation method according to the present embodiment will be described. In the present embodiment, the method described below is adopted in order to generate a high-quality stereoscopic image as shown in FIGS. In the following, a case where the first viewpoint image is a right-eye image and the second viewpoint image is a left-eye image will be described as an example, but the present embodiment is not limited to this. For example, the first viewpoint image may be a left eye image or the like, and the second viewpoint image may be a right eye image or the like.

図6に示すように本実施形態では、バッファTBに第1、第2の領域AR1、AR2を確保する。そして図4(A)に例示されるような右目用画像IR(広義には第1の視点画像)を生成し、この右目用画像IRを高さ方向(縦方向)において圧縮(縮小)して、バッファTBの第1の領域AR1に書き込む。また図4(B)に例示されるような左目用画像IL(広義には第2の視点画像)を生成し、この左目用画像ILを高さ方向において圧縮して、バッファTBの第2の領域AR2に書き込む。   As shown in FIG. 6, in this embodiment, first and second areas AR1 and AR2 are secured in the buffer TB. Then, a right-eye image IR (first viewpoint image in a broad sense) as illustrated in FIG. 4A is generated, and the right-eye image IR is compressed (reduced) in the height direction (vertical direction). And write to the first area AR1 of the buffer TB. Further, a left-eye image IL (second viewpoint image in a broad sense) as illustrated in FIG. 4B is generated, the left-eye image IL is compressed in the height direction, and the second eye of the buffer TB is generated. Write to area AR2.

そして、このバッファTBから画像を読み出すことで、図5に例示されるような多眼立体視画像ISを生成(合成)する。即ち領域AR1の右目用のピクセル画像と領域AR2の左目用のピクセル画像とが、ライン毎(走査ライン毎、ビットマップライン毎)に交互に表示される多眼立体視画像ISを生成する。   Then, by reading out the image from the buffer TB, a multi-view stereoscopic image IS as exemplified in FIG. 5 is generated (synthesized). That is, a multi-view stereoscopic image IS in which the right-eye pixel image in the area AR1 and the left-eye pixel image in the area AR2 are alternately displayed for each line (for each scanning line and for each bitmap line) is generated.

具体的には右目用画像IR、左目用画像ILは、幅がWピクセル、高さがHピクセルの画像になっている。フルハイビジョン対応の場合には例えばW=1920、H=1080になる。一方、領域AR1、AR2は、幅がWピクセル、高さがH/2ピクセルの領域になっている。   Specifically, the right-eye image IR and the left-eye image IL are images having a width of W pixels and a height of H pixels. In the case of full high-definition support, for example, W = 1920 and H = 1080. On the other hand, the areas AR1 and AR2 are areas having a width of W pixels and a height of H / 2 pixels.

バッファTBへの画像の書き込み時においては、バッファTBのメモリピッチ(ラインの先頭アドレスから次のラインの先頭アドレスまでのバイト単位の距離)は2Nバイトに設定される。例えば1ピクセル(R、G、B、α)が4バイトである場合には、フルハイビジョン対応では例えば2Nバイト=2×4×2048バイトになる。そして図6では、幅がWピクセル、高さがHピクセルである右目用画像IRが、高さ方向において1/2に圧縮されて、領域AR1に書き込まれ、幅がWピクセルであり高さがHピクセルである左目用画像ILが、高さ方向において1/2に圧縮されて、領域AR2に書き込まれる。   At the time of writing an image to the buffer TB, the memory pitch of the buffer TB (distance in bytes from the head address of the next line to the head address of the next line) is set to 2N bytes. For example, when one pixel (R, G, B, α) is 4 bytes, for example, 2N bytes = 2 × 4 × 2048 bytes for full high-definition support. In FIG. 6, the right-eye image IR having a width of W pixels and a height of H pixels is compressed by half in the height direction and written in the area AR1, and the width is W pixels and the height is The left-eye image IL that is H pixels is compressed in half in the height direction and written in the area AR2.

一方、バッファTBからの画像の読み出し時においては、バッファTBのメモリピッチはNバイトに設定される。そしてこのように設定されたバッファTBから右目用画像IR、左目用画像ILを読み出すことで、図5に例示されるような多眼立体視画像ISが合成される。   On the other hand, when reading an image from the buffer TB, the memory pitch of the buffer TB is set to N bytes. Then, by reading the right-eye image IR and the left-eye image IL from the buffer TB set in this way, a multi-view stereoscopic image IS as illustrated in FIG. 5 is synthesized.

具体的には、書き込み時に2Nバイトに設定されたメモリピッチ(ピッチサイズ)を、読み出し時にNバイトに設定することで、領域AR1の第1のラインの右目用ピクセル画像が、多眼立体視画像ISの第1のラインに表示され、領域AR2の第1のラインの左目用ピクセル画像が、多眼立体視画像ISの第2のラインに表示されるようになる。また領域AR1の第2のラインの右目用ピクセル画像が、多眼立体視画像ISの第3のラインに表示され、領域AR2の第2のラインの左目用ピクセル画像が、多眼立体視画像ISの第4のラインに表示されるようになる。即ち右目用ピクセル画像と左目用ピクセル画像がライン毎に交互に表示されるようになる。   Specifically, by setting the memory pitch (pitch size) set to 2N bytes at the time of writing to N bytes at the time of reading, the right-eye pixel image of the first line in the area AR1 is a multi-view stereoscopic image. The left-eye pixel image of the first line in the area AR2 displayed on the first line of the IS is displayed on the second line of the multi-view stereoscopic image IS. The right-eye pixel image of the second line in the area AR1 is displayed on the third line of the multi-view stereoscopic image IS, and the left-eye pixel image of the second line in the area AR2 is displayed in the multi-view stereoscopic image IS. Is displayed in the fourth line. That is, the right-eye pixel image and the left-eye pixel image are alternately displayed for each line.

2.3 描画バッファの利用
レンダリングにより生成された右目用画像IR、左目用画像ILは、直接にバッファTBの領域AR1、AR2に描画してもよいが、図7(A)、図7(B)に示すように、描画バッファDBに描画した後に、領域AR1、AR2にコピーするようにしてもよい。
2.3 Use of Rendering Buffer The right-eye image IR and the left-eye image IL generated by rendering may be directly rendered in the areas AR1 and AR2 of the buffer TB, but FIG. 7 (A) and FIG. ), After drawing in the drawing buffer DB, it may be copied to the areas AR1 and AR2.

即ち図7(A)では、右目用画像IRを描画バッファDBに描画し、描画された右目用画像IRを高さ方向において圧縮して、テンポラリバッファ(ワークバッファ)として機能するバッファTBの領域AR1にコピーする。また図7(B)では、左目用画像ILを描画バッファDBに描画し、描画された左目用画像ILを高さ方向において圧縮して、バッファTBの領域AR2にコピーする。   That is, in FIG. 7A, the right-eye image IR is drawn in the drawing buffer DB, the drawn right-eye image IR is compressed in the height direction, and an area AR1 of the buffer TB that functions as a temporary buffer (work buffer). Copy to. In FIG. 7B, the left-eye image IL is drawn in the drawing buffer DB, the drawn left-eye image IL is compressed in the height direction, and copied to the area AR2 of the buffer TB.

このようにすれば、高さ方向での画像の圧縮(平均化、間引き、縮小)は、描画バッファDBから領域AR1、AR2へのコピー処理の際に行えばよく、画像圧縮と右目用・左目用画像の生成を同時に行わなくても済むため、処理の簡素化、効率化を図れる。   In this way, compression (averaging, thinning, reduction) of the image in the height direction may be performed at the time of copy processing from the drawing buffer DB to the areas AR1 and AR2, and image compression and right eye / left eye are performed. Since it is not necessary to simultaneously generate the image for processing, the process can be simplified and improved in efficiency.

この場合に図7(A)、図7(B)のコピー処理は、例えばテクスチャマッピングを利用して実現できる。   In this case, the copy processing in FIGS. 7A and 7B can be realized by using, for example, texture mapping.

具体的には図8(A)に示すように、描画バッファDBに描画された右目用画像IRを、領域AR1のサイズのポリゴンPL(画面に表示されない仮想的なプリミティブ面)にテクスチャマッピングする。この場合に、テクスチャマッピングは、ポイントサンプリング方式ではなく例えばテクセル補間方式(狭義にはバイリニアフィルタモード)に設定する。そしてこのように右目用画像IRがテクスチャとしてマッピングされたポリゴンPLを領域AR1に描画することで、図7(A)のコピー処理を実現する。   Specifically, as shown in FIG. 8A, the right-eye image IR drawn in the drawing buffer DB is texture-mapped to a polygon PL (virtual primitive surface not displayed on the screen) having the size of the area AR1. In this case, the texture mapping is set not to the point sampling method but to, for example, a texel interpolation method (bilinear filter mode in a narrow sense). Then, the polygon PL in which the right-eye image IR is mapped as a texture is rendered in the area AR1 in this way, thereby realizing the copy process of FIG.

また図8(B)に示すように、描画バッファDBに描画された左目用画像ILを、領域AR2のサイズのポリゴンPLにテクスチャマッピングする。この場合に、テクスチャマッピングはテクセル補間方式に設定する。また高さ方向にテクスチャ座標(UV空間の例えばV座標)を例えば1テクセル分だけシフトしてテクスチャマッピングを行う。そしてこのように左目用画像ILがテクスチャとしてマッピングされたポリゴンPLを領域AR2に描画することで、図7(B)のコピー処理を実現する。   Further, as shown in FIG. 8B, the left eye image IL drawn in the drawing buffer DB is texture-mapped to the polygon PL having the size of the area AR2. In this case, texture mapping is set to the texel interpolation method. Also, texture mapping is performed by shifting texture coordinates (for example, V coordinates in the UV space) in the height direction by, for example, one texel. Then, the polygon PL in which the left eye image IL is mapped as a texture is rendered in the area AR2, thereby realizing the copy process of FIG.

図8(A)、図8(B)のようにテクスチャマッピングによりコピー処理を実現すれば、ポリゴンPLのサイズの設定だけで高さ方向の画像圧縮を実現できるため、処理の簡素化、効率化を図れる。また、後述するような隣り合うラインのピクセル画像の平均化処理を、テクスチャマッピングのテクセル補間方式(バイリニアフィルタ)を利用して実現できるため、更に処理を効率化できる。   If copy processing is realized by texture mapping as shown in FIGS. 8A and 8B, image compression in the height direction can be realized only by setting the size of the polygon PL, thereby simplifying and increasing the efficiency of the processing. Can be planned. Moreover, since the averaging process of pixel images of adjacent lines as will be described later can be realized using a texture mapping texel interpolation method (bilinear filter), the processing can be made more efficient.

なお図7(A)、図7(B)のように右目用画像IR、左目用画像ILが領域AR1、AR2にコピーされた後に、バッファTBの画像は描画バッファDBに書き戻される。具体的にはバッファTBのメモリピッチを2NバイトからNバイトに変更して、バッファTBの画像を描画バッファDBに書き戻し、図5に例示されるような多眼立体視画像ISを生成する。   As shown in FIGS. 7A and 7B, after the right-eye image IR and the left-eye image IL are copied to the areas AR1 and AR2, the image in the buffer TB is written back to the drawing buffer DB. Specifically, the memory pitch of the buffer TB is changed from 2N bytes to N bytes, and the image of the buffer TB is written back to the drawing buffer DB to generate a multi-view stereoscopic image IS as illustrated in FIG.

このようにすれば、描画バッファDBを利用した既存の描画アルゴリズムに対して、テンポラリバッファであるバッファTBやコピー・書き戻しアルゴリズム等を追加するだけで、右目用画像IR、左目用画像ILのテンポラリバッファTBへのコピー処理を実現して、多眼立体視画像ISを生成できるようになる。   In this way, the temporary buffer of the right-eye image IR and the left-eye image IL can be simply added to the existing drawing algorithm using the drawing buffer DB by adding a buffer TB as a temporary buffer, a copy / write-back algorithm, or the like. Copy processing to the buffer TB is realized, and a multi-view stereoscopic image IS can be generated.

なお描画バッファDBへの画像の書き戻し(ライトバック)は、図8(A)、図8(B)と同様にテクスチャマッピングを利用した手法により実現できる。具体的には、バッファTBのピッチサイズを2NバイトからNバイトに変更する。そしてバッファTBの画像(TBの全体の画像)を、描画バッファDB(DB1又はDB2)のサイズのポリゴンにテクスチャマッピングする。そして、バッファTBの画像がテクスチャマッピングされたポリゴンを描画バッファDBに描画することで、バッファTBの画像を描画バッファDBに書き戻す。   Note that image write-back (write back) to the drawing buffer DB can be realized by a technique using texture mapping in the same manner as in FIGS. 8A and 8B. Specifically, the pitch size of the buffer TB is changed from 2N bytes to N bytes. Then, the texture of the image of the buffer TB (the entire image of TB) is texture-mapped to a polygon having the size of the drawing buffer DB (DB1 or DB2). Then, by drawing the texture-mapped polygon of the image in the buffer TB in the drawing buffer DB, the image in the buffer TB is written back into the drawing buffer DB.

2.4 ダブルバッファ方式
描画バッファDBとしてダブルバッファ方式(或いはトリプルバッファ等の複数バッファ方式)を採用する場合には、図9(A)、図9(B)に示す手法を採用することが望ましい。
2.4 Double Buffer Method When the double buffer method (or a multiple buffer method such as a triple buffer) is used as the drawing buffer DB, it is desirable to adopt the method shown in FIGS. 9A and 9B. .

例えば図9(A)では、描画バッファDBとして、第1、第2の描画バッファDB1、DB2が用意(確保)されている。また図9(A)の期間では、第1の描画バッファDB1がバックバッファ(描画用バッファ)に設定され、第2の描画バッファDB2がフロントバッファ(表示用バッファ)に設定されている。なおトリプルバッファ等の複数バッファ方式では、第1、第2の描画バッファDB1、DB2を含む3個以上の描画バッファを用意(確保)すればよい。   For example, in FIG. 9A, first and second drawing buffers DB1 and DB2 are prepared (reserved) as the drawing buffer DB. 9A, the first drawing buffer DB1 is set as a back buffer (drawing buffer), and the second drawing buffer DB2 is set as a front buffer (display buffer). In the multiple buffer system such as a triple buffer, three or more drawing buffers including the first and second drawing buffers DB1 and DB2 may be prepared (reserved).

そして図9(A)では、描画バッファDB1(広義には、第1、第2の描画バッファの一方の描画バッファ)からバッファTBに対して、図7(A)、図7(B)で説明した画像のコピー処理が行われる。またバッファTBから描画バッファDB1への画像の書き戻し処理が行われる。これにより、描画バッファDB1には、次のフレームに表示すべき多眼立体視画像ISが生成される。   In FIG. 9A, the drawing buffer DB1 (one drawing buffer of the first and second drawing buffers in a broad sense) to the buffer TB is described with reference to FIGS. 7A and 7B. The copied image is processed. In addition, an image write-back process from the buffer TB to the drawing buffer DB1 is performed. As a result, a multi-view stereoscopic image IS to be displayed in the next frame is generated in the drawing buffer DB1.

このように多眼立体視画像ISが描画バッファDB1に生成された後に、図9(B)に示すように、描画バッファDB1をバックバッファからフロントバッファに切り替える(フリップする)。これにより、描画バッファDB1の多眼立体視画像ISが表示装置の画面に表示される。またこの時に、描画バッファDB2(広義には、一方とは異なる他方の描画バッファ)は、フロントバッファからバックバッファに切り替えられる。   After the multi-view stereoscopic image IS is generated in the drawing buffer DB1, the drawing buffer DB1 is switched from the back buffer to the front buffer (flip) as shown in FIG. 9B. Thereby, the multi-view stereoscopic image IS of the drawing buffer DB1 is displayed on the screen of the display device. At this time, the drawing buffer DB2 (in other words, the other drawing buffer different from one) is switched from the front buffer to the back buffer.

そして図9(B)では、描画バッファDB2からバッファTBに対して、図7(A)、図7(B)で説明した画像のコピー処理が行われる。またバッファTBから描画バッファDB2への画像の書き戻し処理が行われる。これにより、描画バッファDB2には、次のフレームに表示すべき多眼立体視画像ISが生成される。   In FIG. 9B, the image copy processing described in FIGS. 7A and 7B is performed from the drawing buffer DB2 to the buffer TB. Further, an image write-back process from the buffer TB to the drawing buffer DB2 is performed. As a result, a multi-view stereoscopic image IS to be displayed in the next frame is generated in the drawing buffer DB2.

以上の図9(A)、図9(B)の手法によれば、ダブルバッファ方式の既存の描画アルゴリズムに対して、テンポラリバッファであるバッファTBやコピー・書き戻しアルゴリズム等を追加するだけで、ダブルバッファ方式と本実施形態による多眼立体視画像ISの生成手法を両立できるようになる。   According to the methods shown in FIGS. 9A and 9B, a buffer TB that is a temporary buffer, a copy / write-back algorithm, and the like are added to the existing drawing algorithm of the double buffer method. The double buffer method and the method for generating the multi-view stereoscopic image IS according to the present embodiment can be compatible.

2.5 平均化処理
図6に示すように高さ方向(走査ラインの並ぶ方向)での圧縮処理を行う場合には、隣り合うラインのピクセル画像の平均化処理(補間処理)を行うことが望ましい。
2.5 Averaging Processing When compression processing in the height direction (scanning line arrangement direction) is performed as shown in FIG. 6, averaging processing (interpolation processing) of pixel images of adjacent lines may be performed. desirable.

具体的には図10に示すように、右目用画像IR(第1の視点画像)を高さ方向において圧縮して領域AR1に書き込む際に、右目用画像の第i(iは自然数)のラインのピクセル画像と次の第i+1のラインのピクセル画像の平均化処理を行う。同様に、左目用画像IL(第2の視点画像)を高さ方向において圧縮して領域AR2に書き込む際に、左目用画像の第iのラインのピクセル画像と次の第i+1のラインのピクセル画像の平均化処理を行う。   Specifically, as shown in FIG. 10, when the right-eye image IR (first viewpoint image) is compressed in the height direction and written in the area AR1, the i-th (i is a natural number) line of the right-eye image. And the pixel image of the next (i + 1) th line are averaged. Similarly, when the left eye image IL (second viewpoint image) is compressed in the height direction and written in the area AR2, the pixel image of the i-th line and the pixel image of the next i + 1-th line of the left-eye image are written. Averaging processing is performed.

例えば図10において、右目用画像IRの第1、第2、第3、第4のラインのピクセル画像(ライン中の特定ピクセルのRGB画像)をR1、R2、R3、R4とする。この場合には、領域AR1の第1のラインのピクセル画像は、R1とR2の平均化処理により(R1+R2)/2になり、第2のラインのピクセル画像は、R3とR4の平均化処理により(R3+R4)/2になる。右目用画像IRの他のラインや、左目用画像ILについても同様である。   For example, in FIG. 10, the pixel images of the first, second, third, and fourth lines (RGB images of specific pixels in the line) of the right-eye image IR are R1, R2, R3, and R4. In this case, the pixel image of the first line in the area AR1 becomes (R1 + R2) / 2 by the averaging process of R1 and R2, and the pixel image of the second line becomes the averaging process of R3 and R4. (R3 + R4) / 2. The same applies to the other lines of the right eye image IR and the left eye image IL.

このような平均化処理を行えば、多眼立体視画像において右目用ピクセル画像と左目用ピクセル画像がライン毎に交互に表示される場合にも、例えばハイビジョン等に対応した高精細な解像度を維持した立体視画像の表示が可能になる。また、ジャギーやエイリアシングの発生を低減でき、高品位な立体視画像を生成できる。   By performing such an averaging process, even when the right-eye pixel image and the left-eye pixel image are alternately displayed for each line in a multi-view stereoscopic image, for example, a high-definition resolution compatible with, for example, high-definition is maintained. The stereoscopic image thus displayed can be displayed. In addition, the occurrence of jaggy and aliasing can be reduced, and a high-quality stereoscopic image can be generated.

なおこのような平均化処理は、図8(A)、図8(B)で説明したように、テクスチャのマッピングモードをテクセル補間方式(バイリニアフィルタモード)に設定して、高さ方向にテクスチャを圧縮したテクスチャマッピングを行うことで、自動的に実行できる。具体的には、右目用画像IR、左目用画像ILを、領域AR1、AR2のサイズのポリゴンにテクセル補間方式でテクスチャマッピングして領域AR1、AR2に描画することで、第iのラインのピクセル画像と第i+1のラインのピクセル画像の平均化処理を実現する。   In this averaging process, as described in FIGS. 8A and 8B, the texture mapping mode is set to the texel interpolation method (bilinear filter mode), and the texture is set in the height direction. This can be done automatically by performing compressed texture mapping. Specifically, the right-eye image IR and the left-eye image IL are texture-mapped to the polygons of the sizes of the areas AR1 and AR2 by the texel interpolation method, and are drawn in the areas AR1 and AR2. And the pixel image of the (i + 1) th line are averaged.

即ちテクスチャを高さ方向に1/2に圧縮すると、右目用画像IR、左目用画像ILのテクスチャのテクセル間隔と、領域AR1、AR2のピクセル間隔が一致しなくなり、テクセル間隔はピクセル間隔の例えば1/2倍になる。従って、複数のテクセル画像を平均化した画像が、領域AR1、AR2の各ピクセルにマッピングされるようになる。これにより図10に示すような平均化処理が自動的に実行されるため、処理を効率化できる。   In other words, when the texture is compressed by half in the height direction, the texture texel intervals of the right-eye image IR and the left-eye image IL do not match the pixel intervals of the areas AR1 and AR2, and the texel interval is, for example, 1 pixel interval. / Doubled. Therefore, an image obtained by averaging a plurality of texel images is mapped to each pixel in the areas AR1 and AR2. Thereby, since the averaging process as shown in FIG. 10 is automatically executed, the process can be made efficient.

図11に、本実施形態の平均化処理の更に詳細な具体例を示す。図11では、多眼立体視画像ISの第m(mは自然数)のラインについては、右目用画像IR(第1の視点画像)の第j(jは自然数)のラインのピクセル画像と次の第j+1のラインのピクセル画像の平均化が行われる。また多眼立体視画像ISの第m+1のラインについては、左目用画像IL(第2の視点画像)の第j+1のラインのピクセル画像と次の第j+2のラインのピクセル画像の平均化が行われる。これは図8(B)で説明したテクスチャ座標の1テクセル分のシフトにより実現できる。   FIG. 11 shows a more detailed specific example of the averaging process of the present embodiment. In FIG. 11, for the m-th (m is a natural number) line of the multi-view stereoscopic image IS, the pixel image of the j-th (j is a natural number) line of the right-eye image IR (first viewpoint image) and the next The pixel image of the (j + 1) th line is averaged. For the (m + 1) th line of the multi-view stereoscopic image IS, the pixel image of the j + 1th line and the pixel image of the next j + 2 line of the left eye image IL (second viewpoint image) are averaged. . This can be realized by shifting the texture coordinates by one texel described with reference to FIG.

例えば右目用画像IRの第1〜第6のラインのピクセル画像をR1〜R6とし、左目用画像ILの第1〜第7のラインのピクセル画像をL1〜L7としたとする。この場合に、多眼立体視画像ISの第1のライン(第mのライン)には、右目用画像IRの第1のライン(第jのライン)のピクセル画像R1と、第2のライン(第j+1のライン)のピクセル画像R2を平均化した画像(R1+R2)/2が表示(配列)される。また多眼立体視画像ISの第2のライン(第m+1のライン)には、左目用画像ILの第2のライン(第j+1のライン)のピクセル画像L2と、第3のライン(第j+2のライン)のピクセル画像L3を平均化した画像(L2+L3)/2が表示される。   For example, assume that the pixel images of the first to sixth lines of the right-eye image IR are R1 to R6, and the pixel images of the first to seventh lines of the left-eye image IL are L1 to L7. In this case, the first line (m-th line) of the multi-view stereoscopic image IS includes the pixel image R1 of the first line (j-th line) of the right-eye image IR and the second line ( An image (R1 + R2) / 2 obtained by averaging pixel images R2 of the (j + 1) th line) is displayed (arranged). The second line (m + 1th line) of the multi-view stereoscopic image IS includes the pixel image L2 of the second line (j + 1th line) of the left-eye image IL and the third line (j + 2th line). An image (L2 + L3) / 2 obtained by averaging the pixel image L3 of (line) is displayed.

同様に、多眼立体視画像ISの第3のラインには、右目用画像IRの第3のラインのピクセル画像R3と、第4のラインのピクセル画像R4を平均化した画像(R3+R4)/2が表示される。また多眼立体視画像ISの第4のラインには、左目用画像ILの第4のラインのピクセル画像L4と、第5のラインのピクセル画像L5を平均化した画像(L4+L5)/2が表示される。他のラインについても同様である。なお図11では、多眼立体視画像ISの最終ラインでは、ピクセル画像L1080の合成対象となるピクセル画像が存在しないため、ピクセル画像L1080が表示されるようになる。   Similarly, the third line of the multi-view stereoscopic image IS has an image (R3 + R4) / 2 obtained by averaging the pixel image R3 of the third line of the right-eye image IR and the pixel image R4 of the fourth line. Is displayed. Further, the fourth line of the multi-view stereoscopic image IS displays an image (L4 + L5) / 2 obtained by averaging the pixel image L4 of the fourth line of the image for left eye IL and the pixel image L5 of the fifth line. Is done. The same applies to the other lines. In FIG. 11, the pixel image L1080 is displayed in the final line of the multi-view stereoscopic image IS because there is no pixel image to be synthesized with the pixel image L1080.

図11の手法によれば、多眼立体視画像ISにおいて適正な位置に適正な右目用ピクセル画像又は左目用ピクセル画像が表示されるようになるため、ジャギーやアンチエイリアシングを効果的に低減できる。   According to the method shown in FIG. 11, the right-eye pixel image or the left-eye pixel image is displayed at an appropriate position in the multi-view stereoscopic image IS, so that jaggy and anti-aliasing can be effectively reduced.

例えば図12に、本実施形態の平均化手法を採用した場合に生成される画像の例を示す。図12は、例えばレースゲームにおけるガードレール部分を拡大した画像である。図12に示すように、階段状に変化するガードレールのエッジ部分に対して、平均化処理によるブラーがかかったような表示が行われるため、ジャギーが目立たなくなり、アンチエイリアシングを低減できる。   For example, FIG. 12 shows an example of an image generated when the averaging method of this embodiment is adopted. FIG. 12 is an enlarged image of a guardrail portion in a racing game, for example. As shown in FIG. 12, since the display of blurring due to the averaging process is performed on the edge portion of the guardrail that changes in a staircase pattern, jaggies become inconspicuous and anti-aliasing can be reduced.

一方、図13は、本実施形態の平均化手法を採用しなかった場合に生成される画像の例である。具体的には図13では、多眼立体視画像ISの第1のラインに右目用の画像R1、第2のラインに左目用の画像L2、第3のラインに右目用の画像R3、第4のラインに左目の画像L4が表示される。図13では、階段状に変化するガードレールのエッジ部分に対して、図12に示すようなブラーがかからないため、ジャギーが目立ってしまい、画像の品質が劣化する。本実施形態の平均化手法によれば、このような問題を解消できる。   On the other hand, FIG. 13 is an example of an image generated when the averaging method of the present embodiment is not adopted. Specifically, in FIG. 13, the right-eye image R1 is displayed on the first line of the multi-view stereoscopic image IS, the left-eye image L2 is displayed on the second line, the right-eye image R3 is displayed on the third line, and the fourth line. The left eye image L4 is displayed on the line. In FIG. 13, since the blur as shown in FIG. 12 is not applied to the edge portion of the guard rail that changes in a staircase pattern, jaggies are conspicuous and the image quality deteriorates. According to the averaging method of this embodiment, such a problem can be solved.

なお図11では、多眼立体視画像ISの最終ライン(L1080)では、平均化処理が行われず、この部分では正しい表示を実現できないという問題がある。このような問題を解決するために、仮想カメラの注視点(描画範囲)をずらす手法を採用してもよい。   In FIG. 11, the averaging process is not performed on the final line (L1080) of the multi-view stereoscopic image IS, and there is a problem that correct display cannot be realized in this portion. In order to solve such a problem, a method of shifting the gazing point (drawing range) of the virtual camera may be employed.

具体的には図14に示すように、多眼立体視の右目用(第1の視点用)の仮想カメラVCRの注視点と、多眼立体視の左目用(第2の視点用)の仮想カメラVCLの注視点を、例えば高さ方向(走査ラインの並ぶ方向)においてずらして(シフトさせて)、右目用画像、左目用画像(第1の視点画像、第2の視点画像)を生成している。   Specifically, as shown in FIG. 14, the gazing point of the virtual camera VCR for the right eye (for the first viewpoint) for multi-view stereoscopic viewing and the virtual for the left eye (for the second viewpoint) for multi-view stereoscopic viewing. The gazing point of the camera VCL is shifted (shifted), for example, in the height direction (the direction in which the scanning lines are arranged) to generate a right-eye image and a left-eye image (first viewpoint image, second viewpoint image). ing.

更に具体的には、右目用の仮想カメラVCRの注視点については、例えば上方向に0.5ピクセルだけずらし、左目用の仮想カメラVCLの注視点については、例えば下方向に0.5ピクセルだけずらす。これにより、左右の注視点は上下に例えば1ピクセルだけずれるようになる。この結果、図11の最終ラインにおいても、画像L1079とL1080を平均化したものが表示されるようになり、生成される画像の品質を更に向上できる。   More specifically, the gazing point of the virtual camera VCR for the right eye is shifted by, for example, 0.5 pixels upward, and the gazing point of the virtual camera VCL for the left eye is, for example, only 0.5 pixels downward. Shift. As a result, the left and right gazing points are shifted up and down by, for example, one pixel. As a result, the average of the images L1079 and L1080 is also displayed on the final line in FIG. 11, and the quality of the generated image can be further improved.

2.6 詳細な処理例
次に本実施形態の詳細な処理例を図15、図16のフローチャートを用いて説明する。
2.6 Detailed Processing Example Next, a detailed processing example of this embodiment will be described with reference to the flowcharts of FIGS. 15 and 16.

まず、図6、図9(A)、図9(B)で説明したように、メモリピッチがNバイト、幅がWピクセル、高さがHピクセルである第1、第2の描画バッファDB1、DB2を確保する(ステップS1)。また、幅がWピクセル、高さがH/2ピクセルである第1、第2の領域AR1、AR2を有し、メモリピッチが2Nバイト、高さがH/2ピクセルであるバッファTBを確保する(ステップS2)。   First, as described with reference to FIGS. 6, 9A, and 9B, the first and second drawing buffers DB1 having a memory pitch of N bytes, a width of W pixels, and a height of H pixels, DB2 is secured (step S1). Further, a buffer TB having first and second areas AR1 and AR2 having a width of W pixels and a height of H / 2 pixels, a memory pitch of 2N bytes, and a height of H / 2 pixels is secured. (Step S2).

次に、右目用の仮想カメラVCRから見える右目用画像IRを第1の描画バッファDB1に描画する(ステップS3)。そして図7(A)〜図8(B)で説明したように、第1の描画バッファDB1に描画された画像(W×Hピクセル)をテクスチャとして、第1の領域AR1(W×H/2ピクセル)にポリゴンを描画することで、DB1の画像を高さ方向に圧縮してAR1にコピーする。この際に、第1の領域AR1に書き込むポリゴンには、第1の描画バッファDB1の画像の全域をマッピングする(ステップS4)。   Next, the right-eye image IR that can be seen from the right-eye virtual camera VCR is drawn in the first drawing buffer DB1 (step S3). Then, as described with reference to FIGS. 7A to 8B, the first area AR1 (W × H / 2) is obtained using the image (W × H pixel) drawn in the first drawing buffer DB1 as a texture. By drawing a polygon in (pixel), the image of DB1 is compressed in the height direction and copied to AR1. At this time, the entire area of the image in the first drawing buffer DB1 is mapped to the polygon to be written in the first area AR1 (step S4).

次に、左目用の仮想カメラVCLから見える左目用画像ILを第1の描画バッファDB1に描画する(ステップS5)。そして、第1の描画バッファDB1に描画された画像(W×Hピクセル)をテクスチャとして、第2の領域AR2(W×H/Zピクセル)にポリゴンを描画することで、DB1の画像を高さ方向に圧縮してAR2にコピーする。この際に、第2の領域AR2に書き込むポリゴンには、第1の描画バッファDB1の画像を下方向に1テクセルずらしてマッピングする(ステップS6)。   Next, the left-eye image IL that can be seen from the left-eye virtual camera VCL is drawn in the first drawing buffer DB1 (step S5). Then, the image drawn in the first drawing buffer DB1 (W × H pixel) is used as a texture, and a polygon is drawn in the second area AR2 (W × H / Z pixel), thereby heightening the image in DB1. Compress in direction and copy to AR2. At this time, the polygon written in the second area AR2 is mapped by shifting the image of the first drawing buffer DB1 downward by 1 texel (step S6).

次に、バッファTBの全領域をメモリピッチがNバイト、幅がWピクセル、高さがHピクセルのテクスチャとして、DB1の全域(W×Hピクセル)にポリゴンを描画することで、バッファTBの画像を第1の描画バッファDB1にコピーする(ステップS7)。次の、VSYNCのタイミング(フレームの切り替えタイミング)で、図9(A)、図9(B)で説明したように、第1の描画バッファDB1をバックバッファからフロントバッファに切り替える(ステップS8)。   Next, the entire area of the buffer TB is rendered as a texture having a memory pitch of N bytes, a width of W pixels, and a height of H pixels, and polygons are drawn over the entire area of DB1 (W × H pixels). Is copied to the first drawing buffer DB1 (step S7). At the next VSYNC timing (frame switching timing), the first drawing buffer DB1 is switched from the back buffer to the front buffer as described with reference to FIGS. 9A and 9B (step S8).

次に、右目用の仮想カメラVCRから見える右目用画像IRを第2の描画バッファDB2に描画する(ステップS9)。そして、第2の描画バッファDB2に描画された画像(W×Hピクセル)をテクスチャとして、第1の領域AR1(W×H/2ピクセル)にポリゴンを描画することで、DB2の画像を高さ方向に圧縮してAR1にコピーする。この際に、第1の領域AR1に書き込むポリゴンには、第2の描画バッファDB2の画像の全域をマッピングする(ステップS10)。   Next, the right-eye image IR that can be seen from the right-eye virtual camera VCR is drawn in the second drawing buffer DB2 (step S9). Then, the image drawn in the second drawing buffer DB2 (W × H pixel) is used as a texture, and a polygon is drawn in the first area AR1 (W × H / 2 pixel), thereby heightening the image in DB2. Compress in direction and copy to AR1. At this time, the entire area of the image in the second drawing buffer DB2 is mapped to the polygon to be written in the first area AR1 (step S10).

次に、左目用の仮想カメラVCLから見える左目用画像ILを第2の描画バッファDB2に描画する(ステップS11)。そして、第2の描画バッファDB2に描画された画像(W×Hピクセル)をテクスチャとして、第2の領域AR2(W×H/2ピクセル)にポリゴンを描画することで、DB2の画像を高さ方向に圧縮してAR2にコピーする。この際に、第2の領域AR2に書き込むポリゴンには、第2の描画バッファDB2の画像を下方向に1テクセルずらしてマッピングする(ステップS12)。   Next, the left-eye image IL that can be seen from the left-eye virtual camera VCL is drawn in the second drawing buffer DB2 (step S11). Then, the image drawn in the second drawing buffer DB2 (W × H pixels) is used as a texture, and a polygon is drawn in the second area AR2 (W × H / 2 pixels), thereby heightening the image in DB2. Compress in direction and copy to AR2. At this time, the polygon written in the second area AR2 is mapped by shifting the image in the second drawing buffer DB2 downward by 1 texel (step S12).

次に、バッファTBの全領域をメモリピッチがNバイト、幅がWピクセル、高さがHピクセルのテクスチャとして、第2の描画バッファDB2の全域(W×Hピクセル)にポリゴンを描画することで、バッファTBの画像を第2の描画バッファDB2にコピーする(ステップS13)。   Next, by rendering the entire area of the buffer TB as a texture having a memory pitch of N bytes, a width of W pixels, and a height of H pixels, a polygon is drawn over the entire area (W × H pixels) of the second drawing buffer DB2. The image in the buffer TB is copied to the second drawing buffer DB2 (step S13).

次のVSYNCのタイミングで、第2の描画バッファDB2をバックバッファからフロントバッファに切り替える(ステップS14)。   At the next VSYNC timing, the second drawing buffer DB2 is switched from the back buffer to the front buffer (step S14).

3.ハードウェア構成
図17(A)に本実施形態を実現できるハードウェアの構成例を示す。
3. Hardware Configuration FIG. 17A shows a hardware configuration example capable of realizing the present embodiment.

CPU900(メインプロセッサ)は、複数のCPUコア1、CPUコア2、CPUコア3を含むマルチコアプロセッサである。またCPU900は図示しないキャッシュメモリを含む。CPUコア1、2、3の各々にはベクタ演算器等が設けられている。そしてCPUコア1、2、3の各々は、例えば2つのH/Wスレッド処理をコンテクストスイッチをすることなしに並列実行でき、マルチスレッド機能がハードウェアでサポートされている。そして3つのCPUコア1、2、3の合計で、6つのH/Wスレッド処理を並列実行できる。   The CPU 900 (main processor) is a multi-core processor including a plurality of CPU cores 1, CPU cores 2, and CPU cores 3. The CPU 900 includes a cache memory (not shown). Each of the CPU cores 1, 2, and 3 is provided with a vector calculator and the like. Each of the CPU cores 1, 2, and 3 can execute, for example, two H / W thread processes in parallel without performing a context switch, and a multi-thread function is supported by hardware. A total of three CPU cores 1, 2, and 3 can execute six H / W thread processes in parallel.

GPU910(描画プロセッサ)は、頂点処理やピクセル処理を行って、描画(レンダリング)処理を実現する。具体的には、シェーダプログラムに従って、頂点データの作成・変更やピクセル(フラグメント)の描画色の決定を行う。1フレーム分の画像がVRAM920(フレームバッファ)に書き込まれると、その画像はビデオ出力を介してTVなどのディスプレイに表示される。なおメインメモリ930はCPU900やGPU910のワークメモリとして機能する。またGPU910では、複数の頂点スレッド、複数のピクセルスレッドが並列実行され、描画処理のマルチスレッド機能がハードウェアでサポートされている。またGPU910にはハードウェアのテッセレータも備えられている。またGPU910は、頂点シェーダとピクセルシェーダとがハードウェア的に区別されていないユニファイド・シェーダ・タイプとなっている。   The GPU 910 (drawing processor) performs vertex processing and pixel processing to realize drawing (rendering) processing. Specifically, according to the shader program, the vertex data is created / changed and the drawing color of the pixel (fragment) is determined. When an image for one frame is written into the VRAM 920 (frame buffer), the image is displayed on a display such as a TV via a video output. The main memory 930 functions as a work memory for the CPU 900 and the GPU 910. Further, in the GPU 910, a plurality of vertex threads and a plurality of pixel threads are executed in parallel, and a multi-thread function of drawing processing is supported by hardware. The GPU 910 is also provided with a hardware tessellator. The GPU 910 is a unified shader type in which the vertex shader and the pixel shader are not distinguished in terms of hardware.

ブリッジ回路940(サウスブリッジ)は、システム内部の情報流通を制御する回路であり、USBコントローラ(シリアルインターフェース)、ネットワークの通信コントローラ、IDEコントローラ、或いはDMAコントローラなどのコントローラを内蔵する。そしてこのブリッジ回路940により、ゲームコントローラ942、メモリーカード944、HDD946、DVDドライブ948との間のインターフェース機能が実現される。   The bridge circuit 940 (south bridge) is a circuit that controls the flow of information inside the system, and incorporates a controller such as a USB controller (serial interface), a network communication controller, an IDE controller, or a DMA controller. The bridge circuit 940 implements an interface function among the game controller 942, the memory card 944, the HDD 946, and the DVD drive 948.

なお本実施形態を実現できるハードウェア構成は図17(A)に限定されず、例えば図17(B)のような構成であってもよい。   Note that the hardware configuration capable of realizing the present embodiment is not limited to FIG. 17A, and may be, for example, a configuration as shown in FIG.

図17(B)ではCPU902が、プロセッサエレメントPPと8つのプロセッサエレメントPE1〜PE8を含む。プロセッサエレメントPPは汎用的なプロセッサコアであり、プロセッサエレメントPE1〜PE8は比較的シンプルな構成のプロセッサコアである。そしてプロセッサエレメントPPとプロセッサエレメントPE1〜PE8のアーキテクチャは異なっており、プロセッサエレメントPE1〜PE8は、複数のデータに対して1命令で同じ処理を同時にできるSIMD型のプロセッサコアとなっている。これによりストリーミング処理などのマルチメディア処理を効率的に実行できる。プロセッサエレメントPPは、2つのH/Wスレッド処理を並列実行でき、プロセッサエレメントPE1〜PE8の各々は、1つのH/Wスレッド処理を実行できる。従って、CPU902では、合計で10個のH/Wスレッド処理の並列実行が可能になる。   In FIG. 17B, the CPU 902 includes a processor element PP and eight processor elements PE1 to PE8. The processor element PP is a general-purpose processor core, and the processor elements PE1 to PE8 are processor cores having a relatively simple configuration. The architectures of the processor element PP and the processor elements PE1 to PE8 are different, and the processor elements PE1 to PE8 are SIMD type processor cores that can simultaneously perform the same processing on a plurality of data with one instruction. Thereby, multimedia processing such as streaming processing can be executed efficiently. The processor element PP can execute two H / W thread processes in parallel, and each of the processor elements PE1 to PE8 can execute one H / W thread process. Therefore, the CPU 902 can execute a total of 10 H / W thread processes in parallel.

図17(B)では、GPU912とCPU902の連携が密になっており、GPU912は、CPU902側のメインメモリ930に直接にレンダリング処理を行うことができる。また例えばCPU902がジオメトリ処理を行って、頂点データを転送したり、GPU912からCPU902にデータを戻すことも容易にできる。またCPU902が、レンダリングのプリプロセッシング処理やポストプロセッシング処理を行うことも容易であり、テッセレーション(平面分割)やドットフィルをCPU902が実行できる。例えば抽象度の高い処理はCPU902が行い、抽象度が低い細かな処理はGPU912が行うというような役割分担が可能である。   In FIG. 17B, the GPU 912 and the CPU 902 are closely linked, and the GPU 912 can directly perform the rendering process on the main memory 930 on the CPU 902 side. Further, for example, the CPU 902 can perform geometry processing to transfer vertex data, or easily return data from the GPU 912 to the CPU 902. It is also easy for the CPU 902 to perform rendering pre-processing and post-processing, and the CPU 902 can execute tessellation (plane division) and dot fill. For example, the CPU 902 can perform a process with a high level of abstraction, and the GPU 912 can perform a detailed process with a low level of abstraction.

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

なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(第1の視点画像、第2の視点画像、第1の視点、第2の視点等)と共に記載された用語(右目用画像、左目用画像、右目、左目等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。   Although the present embodiment has been described in detail as described above, it will be easily understood by those skilled in the art that many modifications can be made without departing from the novel matters and effects of the present invention. Accordingly, all such modifications are intended to be included in the scope of the present invention. For example, in the specification or drawings, terms (for the right eye) described at least once together with different terms (first viewpoint image, second viewpoint image, first viewpoint, second viewpoint, etc.) having a broader meaning or the same meaning Image, left eye image, right eye, left eye, etc.) may be replaced by the different terms anywhere in the specification or drawings.

また、第1、第2の視点画像の描画処理、コピー処理、書き戻し処理、テクスチャマッピング処理や、描画バッファ、バッファの確保手法等も、本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。   Also, the drawing processing, copy processing, write-back processing, texture mapping processing, drawing buffer, buffer securing method, and the like of the first and second viewpoint images are not limited to those described in the present embodiment, and Equivalent techniques are also included in the scope of the present invention. The present invention can be applied to various games. Further, the present invention is applied to various image generation systems such as a business game system, a home game system, a large attraction system in which a large number of players participate, a simulator, a multimedia terminal, a system board for generating a game image, and a mobile phone. it can.

本実施形態の画像生成システムのブロック図の例。The example of the block diagram of the image generation system of this embodiment. 本実施形態が採用する立体視方式の一例を説明する図。The figure explaining an example of the stereoscopic vision system which this embodiment employ | adopts. 本実施形態が採用する立体視方式の一例を説明する図。The figure explaining an example of the stereoscopic vision system which this embodiment employ | adopts. 図4(A)、図4(B)は本実施形態により生成された右目用画像、左目用画像の例。4A and 4B are examples of the right-eye image and the left-eye image generated according to this embodiment. 本実施形態により生成された多眼立体視画像の例。The example of the multi-view stereoscopic image produced | generated by this embodiment. 本実施形態の多眼立体視画像生成手法の説明図。Explanatory drawing of the multi-view stereoscopic image generation method of this embodiment. 図7(A)、図7(B)は右目用画像、左目用画像のコピー処理の説明図。FIGS. 7A and 7B are explanatory diagrams of copy processing of the right-eye image and the left-eye image. 図8(A)、図8(B)はテクスチャマッピングを利用したコピー処理の説明図。FIGS. 8A and 8B are explanatory diagrams of copy processing using texture mapping. 図9(A)、図9(B)はダブルバッファ方式を採用した場合の本実施形態の手法の説明図。FIG. 9A and FIG. 9B are explanatory diagrams of the method of this embodiment when the double buffer method is adopted. 本実施形態の平均化処理手法の説明図。Explanatory drawing of the averaging process method of this embodiment. 本実施形態の平均化処理手法の説明図。Explanatory drawing of the averaging process method of this embodiment. 本実施形態の平均化手法を採用した場合に生成される画像の例。An example of an image generated when the averaging method of this embodiment is adopted. 本実施形態の平均化手法を採用しなかった場合に生成される画像の例。The example of the image produced | generated when the averaging method of this embodiment is not employ | adopted. 仮想カメラの注視点をシフトする手法の説明図。Explanatory drawing of the method of shifting the gaze point of a virtual camera. 本実施形態の詳細な処理を説明するフローチャート。The flowchart explaining the detailed process of this embodiment. 本実施形態の詳細な処理を説明するフローチャート。The flowchart explaining the detailed process of this embodiment. 図17(A)、図17(B)はハードウェア構成例。FIG. 17A and FIG. 17B are hardware configuration examples.

符号の説明Explanation of symbols

DB 描画バッファ、DB1、DB2 第1、第2の描画バッファ、
TB バッファ、AR1、AR2 第1、第2の領域、MS モデルデータ記憶部、
TS テクスチャ記憶部、MTS モーションデータ記憶部、
100 処理部、102 ゲーム演算部、104 オブジェクト空間設定部、
105 カリング処理部、106 移動体演算部、108 仮想カメラ制御部、
120 描画部、122 ライティング処理部、124 テクスチャマッピング部、
130 音生成部、160 操作部、170 記憶部、180 情報記憶媒体、
190 表示部、192 音出力部、194 補助記憶装置、196 通信部
DB drawing buffer, DB1, DB2 first and second drawing buffers,
TB buffer, AR1, AR2 first and second areas, MS model data storage unit,
TS texture storage unit, MTS motion data storage unit,
100 processing unit, 102 game calculation unit, 104 object space setting unit,
105 culling processing unit, 106 moving object calculation unit, 108 virtual camera control unit,
120 drawing units, 122 lighting processing units, 124 texture mapping units,
130 sound generation unit, 160 operation unit, 170 storage unit, 180 information storage medium,
190 Display unit, 192 Sound output unit, 194 Auxiliary storage device, 196 Communication unit

Claims (14)

第1の領域と第2の領域を有するバッファと、
多眼立体視画像を生成するための描画処理を行う描画部として、
コンピュータを機能させ、
前記描画部は、
多眼立体視の第1の視点画像を高さ方向において1/2に圧縮して、前記バッファの前記第1の領域に書き込むと共に、多眼立体視の第2の視点画像を高さ方向において1/2に圧縮して、前記バッファの前記第2の領域に書き込み、
前記バッファから画像を読み出すことで、前記第1の領域に書き込まれた前記第1の視点画像のピクセル画像と前記第2の領域に書き込まれた前記第2の視点画像のピクセル画像とが、ライン毎に交互に表示される前記多眼立体視画像を生成することを特徴とするプログラム。
A buffer having a first region and a second region;
As a drawing unit that performs drawing processing to generate a multi-view stereoscopic image,
Make the computer work,
The drawing unit
The first viewpoint image for multi-view stereoscopic viewing is compressed in half in the height direction and written to the first area of the buffer, and the second viewpoint image for multi-view stereoscopic viewing is viewed in the height direction. Compressed to 1/2 and written to the second area of the buffer,
By reading the image from the buffer, the pixel image of the first viewpoint image written in the first area and the pixel image of the second viewpoint image written in the second area A program for generating the multi-view stereoscopic image displayed alternately every time.
請求項1において、
前記バッファは、
幅がWピクセルであり高さがH/2ピクセルである前記第1の領域と、幅がWピクセルであり高さがH/2ピクセルである前記第2の領域を有し、
前記描画部は、
前記バッファのメモリピッチを2Nバイトに設定し、幅がWピクセルであり高さがHピクセルである前記第1の視点画像を高さ方向において圧縮して、前記第1の領域に書き込むと共に、幅がWピクセルであり高さがHピクセルである前記第2の視点画像を高さ方向において圧縮して、前記第2の領域に書き込み、
前記バッファのメモリピッチをNバイトに設定し、前記バッファから画像を読み出すことで、前記第1の視点画像のピクセル画像と前記第2の視点画像のピクセル画像がライン毎に交互に表示される前記多眼立体視画像を生成することを特徴とするプログラム。
In claim 1,
The buffer is
The first region having a width of W pixels and a height of H / 2 pixels; and the second region having a width of W pixels and a height of H / 2 pixels;
The drawing unit
The memory pitch of the buffer is set to 2N bytes, the first viewpoint image having a width of W pixels and a height of H pixels is compressed in the height direction, written to the first area, and the width Compresses the second viewpoint image in which W is W pixels and H is H pixels in the height direction, and writes the compressed image to the second area,
By setting the memory pitch of the buffer to N bytes and reading the image from the buffer, the pixel image of the first viewpoint image and the pixel image of the second viewpoint image are alternately displayed for each line. A program for generating a multi-view stereoscopic image.
請求項1又は2において、
前記第1、第2の視点画像を描画するための描画バッファを含み、
前記描画部は、
前記第1の視点画像を前記描画バッファに描画し、前記描画バッファに描画された前記第1の視点画像を高さ方向において圧縮して前記バッファの前記第1の領域にコピーし、前記第2の視点画像を前記描画バッファに描画し、前記描画バッファに描画された前記第2の視点画像を高さ方向において圧縮して前記バッファの前記第2の領域にコピーすることを特徴とするプログラム。
In claim 1 or 2,
A drawing buffer for drawing the first and second viewpoint images;
The drawing unit
The first viewpoint image is drawn in the drawing buffer, the first viewpoint image drawn in the drawing buffer is compressed in the height direction, copied to the first area of the buffer, and the second The viewpoint image is drawn in the drawing buffer, and the second viewpoint image drawn in the drawing buffer is compressed in the height direction and copied to the second area of the buffer.
請求項3において、
前記描画部は、
前記描画バッファに描画された前記第1の視点画像を、前記第1の領域のサイズのポリゴンにテクスチャマッピングして前記第1の領域に描画することで、前記描画バッファから前記第1の領域への前記第1の視点画像のコピーを行い、前記描画バッファに描画された前記第2の視点画像を、前記第2の領域のサイズのポリゴンにテクスチャマッピングして前記第2の領域に描画することで、前記描画バッファから前記第2の領域への前記第2の視点画像のコピーを行うことを特徴とするプログラム。
In claim 3,
The drawing unit
The first viewpoint image drawn in the drawing buffer is texture-mapped to a polygon having the size of the first area and is drawn in the first area, so that the drawing buffer transfers to the first area. The first viewpoint image is copied, and the second viewpoint image drawn in the drawing buffer is texture-mapped to a polygon having the size of the second area and drawn in the second area. The program for copying the second viewpoint image from the drawing buffer to the second area.
請求項4において、
前記描画部は、
前記第2の視点画像を前記第2の領域のサイズのポリゴンにテクスチャマッピングする際に、高さ方向のテクスチャ座標を1テクセル分だけシフトさせることを特徴とするプログラム。
In claim 4,
The drawing unit
A program for shifting texture coordinates in the height direction by one texel when texture mapping the second viewpoint image onto a polygon having the size of the second region.
請求項3乃至5のいずれかにおいて、
前記描画部は、
前記第1、第2の視点画像が前記第1、第2の領域にコピーされた後に、前記バッファの画像を前記描画バッファに書き戻すことを特徴とするプログラム。
In any of claims 3 to 5,
The drawing unit
A program for writing back the buffer image to the drawing buffer after the first and second viewpoint images are copied to the first and second areas.
請求項6において、
前記描画部は、
前記バッファの画像を、前記描画バッファのサイズのポリゴンにテクスチャマッピングして前記描画バッファに描画することで、前記バッファの画像を前記描画バッファに書き戻すことを特徴とするプログラム。
In claim 6,
The drawing unit
A program characterized in that an image in the buffer is texture-mapped to a polygon of the size of the drawing buffer and drawn in the drawing buffer, whereby the image in the buffer is written back into the drawing buffer.
請求項6又は7において、
前記描画バッファとして、第1、第2の描画バッファが用意され、
前記描画部は、
前記第1、第2の描画バッファの一方の描画バッファから前記バッファへの画像のコピー処理及び前記バッファから前記一方の描画バッファへの画像の書き戻し処理を行った後に、前記一方の描画バッファをバックバッファからフロントバッファに切り替え、前記一方とは異なる他方の描画バッファをフロントバッファからバックバッファに切り替えることを特徴とするプログラム。
In claim 6 or 7,
As the drawing buffer, first and second drawing buffers are prepared,
The drawing unit
After performing image copy processing from one drawing buffer of the first and second drawing buffers to the buffer and image writing back processing from the buffer to the one drawing buffer, the one drawing buffer A program that switches from a back buffer to a front buffer and switches the other drawing buffer different from the one from the front buffer to the back buffer.
請求項1乃至8のいずれかにおいて、
前記描画部は、
前記第1、第2の視点画像を高さ方向において圧縮して前記第1、第2の領域に書き込む際に、前記第1、第2の視点画像の第iのラインのピクセル画像と次の第i+1のラインのピクセル画像の平均化処理を行うことを特徴とするプログラム。
In any one of Claims 1 thru | or 8.
The drawing unit
When the first and second viewpoint images are compressed in the height direction and written in the first and second areas, the pixel image of the i-th line of the first and second viewpoint images and the next A program for averaging pixel images of the (i + 1) th line.
請求項9において、
前記描画部は、
前記第1、第2の視点画像を、前記第1、第2の領域のサイズのポリゴンにテクセル補間方式でテクスチャマッピングして前記第1、第2の領域に描画することで、前記第iのラインのピクセル画像と前記第i+1のラインのピクセル画像の前記平均化処理を行うことを特徴とするプログラム。
In claim 9,
The drawing unit
The first and second viewpoint images are texture-mapped to the polygons having the sizes of the first and second regions by a texel interpolation method, and are drawn in the first and second regions. A program for performing the averaging process on a pixel image of a line and a pixel image of the (i + 1) -th line.
請求項9又は10において、
前記描画部は、
前記多眼立体視画像の第mのラインについては、前記第1の視点画像の第jのラインのピクセル画像と次の第j+1のラインのピクセル画像の平均化が行われ、前記多眼立体視画像の第m+1のラインについては、前記第2の視点画像の第j+1のラインのピクセル画像と次の第j+2のラインのピクセル画像の平均化が行われるように、前記平均化処理を行うことを特徴とするプログラム。
In claim 9 or 10,
The drawing unit
For the m-th line of the multi-view stereoscopic image, the pixel image of the j-th line of the first viewpoint image and the pixel image of the next j + 1-th line are averaged, and the multi-view stereoscopic view is obtained. For the m + 1st line of the image, the averaging process is performed so that the pixel image of the j + 1th line of the second viewpoint image and the pixel image of the next j + 2 line are averaged. A featured program.
請求項1乃至11のいずれかにおいて、
前記描画部は、
多眼立体視の第1の視点用の仮想カメラの注視点と、多眼立体視の第2の視点用の仮想カメラの注視点を、高さ方向においてずらして、前記第1の視点画像と前記第2の視点画像を生成することを特徴とするプログラム。
In any one of Claims 1 thru | or 11,
The drawing unit
The gazing point of the virtual camera for the first viewpoint of multi-view stereoscopic vision and the gazing point of the virtual camera for the second viewpoint of multi-view stereoscopic viewing are shifted in the height direction, and the first viewpoint image and A program for generating the second viewpoint image.
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至12のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。   A computer-readable information storage medium, wherein the program according to any one of claims 1 to 12 is stored. 多眼立体視のための画像生成システムであって、
第1の領域と第2の領域を有するバッファと、
多眼立体視画像を生成するための描画処理を行う描画部と、
を含み、
前記描画部は、
多眼立体視の第1の視点画像を高さ方向において1/2に圧縮して、前記バッファの前記第1の領域に書き込むと共に、多眼立体視の第2の視点画像を高さ方向において1/2に圧縮して、前記バッファの前記第2の領域に書き込み、
前記バッファから画像を読み出すことで、前記第1の領域に書き込まれた前記第1の視点画像のピクセル画像と前記第2の領域に書き込まれた前記第2の視点画像のピクセル画像とが、ライン毎に交互に表示される前記多眼立体視画像を生成することを特徴とする画像生成システム。
An image generation system for multi-view stereoscopic viewing,
A buffer having a first region and a second region;
A drawing unit that performs a drawing process for generating a multi-view stereoscopic image;
Including
The drawing unit
The first viewpoint image for multi-view stereoscopic viewing is compressed in half in the height direction and written to the first area of the buffer, and the second viewpoint image for multi-view stereoscopic viewing is viewed in the height direction. Compressed to 1/2 and written to the second area of the buffer,
By reading the image from the buffer, the pixel image of the first viewpoint image written in the first area and the pixel image of the second viewpoint image written in the second area An image generation system for generating the multi-view stereoscopic image displayed alternately every time.
JP2007233314A 2007-09-07 2007-09-07 Program, information storage medium, and image producing system Pending JP2009064355A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007233314A JP2009064355A (en) 2007-09-07 2007-09-07 Program, information storage medium, and image producing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007233314A JP2009064355A (en) 2007-09-07 2007-09-07 Program, information storage medium, and image producing system

Publications (1)

Publication Number Publication Date
JP2009064355A true JP2009064355A (en) 2009-03-26

Family

ID=40558875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007233314A Pending JP2009064355A (en) 2007-09-07 2007-09-07 Program, information storage medium, and image producing system

Country Status (1)

Country Link
JP (1) JP2009064355A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011183070A (en) * 2010-03-10 2011-09-22 Konami Digital Entertainment Co Ltd Game device, operation method, and program
JP2014512032A (en) * 2011-03-14 2014-05-19 クゥアルコム・インコーポレイテッド Stereoscopic conversion for shader-based graphics content
CN109259717A (en) * 2018-08-27 2019-01-25 彭波 A kind of stereo endoscope and endoscope measurement method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011183070A (en) * 2010-03-10 2011-09-22 Konami Digital Entertainment Co Ltd Game device, operation method, and program
JP2014512032A (en) * 2011-03-14 2014-05-19 クゥアルコム・インコーポレイテッド Stereoscopic conversion for shader-based graphics content
US9219902B2 (en) 2011-03-14 2015-12-22 Qualcomm Incorporated 3D to stereoscopic 3D conversion
US9578299B2 (en) 2011-03-14 2017-02-21 Qualcomm Incorporated Stereoscopic conversion for shader based graphics content
CN109259717A (en) * 2018-08-27 2019-01-25 彭波 A kind of stereo endoscope and endoscope measurement method

Similar Documents

Publication Publication Date Title
JP4982862B2 (en) Program, information storage medium, and image generation system
EP1642625B1 (en) Video game device and image processing program
JP2010033296A (en) Program, information storage medium, and image generation system
JP2012253690A (en) Program, information storage medium, and image generation system
JP2012079291A (en) Program, information storage medium and image generation system
JP4728721B2 (en) Program, information storage medium, and image generation system
JP2006318388A (en) Program, information storage medium, and image forming system
JP2006195882A (en) Program, information storage medium and image generation system
JP3989396B2 (en) Image generation system, program, and information storage medium
JP5620202B2 (en) Program, information storage medium, and image generation system
JP4868586B2 (en) Image generation system, program, and information storage medium
JP2008027064A (en) Program, information recording medium, and image forming system
JP4749198B2 (en) Program, information storage medium, and image generation system
JP2009064355A (en) Program, information storage medium, and image producing system
JP4749064B2 (en) Program, information storage medium, and image generation system
JP4806578B2 (en) Program, information storage medium, and image generation system
JP2006011539A (en) Program, information storage medium, and image generating system
JP4447000B2 (en) Image generation system, program, and information storage medium
JP2006252426A (en) Program, information storage medium, and image generation system
JP4743770B2 (en) Image generation system, program, and information storage medium
JP4913399B2 (en) Program, information storage medium, and image generation system
JP2008077406A (en) Image generation system, program, and information storage medium
JP2004334801A (en) Image-generating system, program, and information storage medium
JP2010033253A (en) Program, information storage medium, and image generation system
JP4521811B2 (en) Program, information storage medium, and image generation system