Image processing device, image processing method, and program

The image processing device optimizes the generation of stereoscopic images by using a calculation and rasterization unit to apply mask information, addressing processing delays and enhancing the realism of naked-eye 3D displays.

JP2026038807APending Publication Date: 2026-03-06AKUSERU KK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024142331
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-08-23
Publication Date
2026-03-06

AI Technical Summary

Technical Problem

The high processing load in generating stereoscopic images for naked-eye 3D displays results in delays, preventing a realistic and immersive video experience due to the large amount of calculation required for rasterizing, rendering, and combining right-eye and left-eye images.

Method used

An image processing device that includes a calculation unit for generating vertex data for both eyes, a rasterization unit for applying mask information to create left-eye and right-eye raster images, and a rendering unit for synthesizing these images, optimizing the process to reduce memory and calculation requirements.

Benefits of technology

The solution speeds up the generation of stereoscopic images, reducing delays and enhancing the realism of the 3D display experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026038807000001_ABST
    Figure 2026038807000001_ABST
Patent Text Reader

Abstract

To realize processing for creating an image to be displayed on a naked-eye three-dimensional display with a minimum memory capacity and to reduce the amount of calculation. [Solution] The system includes an acquisition unit (11) that acquires vertex data A of a polygon, a calculation unit (12) that calculates vertex data B for the left eye and vertex data C for the right eye from the vertex data A, a rasterization unit (13) that generates a raster image D for the left eye by rasterizing the left eye vertex data B by discarding pixels that cannot be seen by the viewer's left eye, and generates a raster image E for the right eye by rasterizing the right eye vertex data C by discarding pixels that cannot be seen by the viewer's right eye, and combines the left eye raster image D and the right eye raster image E to generate a raster image F for stereoscopic viewing, and a rendering unit (15) that performs rendering on the stereoscopic raster image F to generate a stereoscopic image G.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an image processing device, an image processing method, and a program. [Background technology]

[0002] The technology of using naked-eye 3D displays to give a three-dimensional effect to images and improve the sense of realism given to the viewer has been known and has made great progress in recent years. Recently, some gaming machines, such as pachinko machines and pachislot machines, also use naked-eye 3D displays as display devices for producing video effects. In 3D image display technology, left and right parallax images (3D images) are calculated from polygon data using image processing, and the 3D images are displayed on display devices such as LCDs and organic EL displays. Images for the right and left eyes included in the 3D images are displayed on the display device, and the viewer is given a three-dimensional visual experience by seeing different images for each eye. Conventionally, stereoscopic images are generated by rasterizing an image of vertex data obtained by modeling and coordinate transformation of polygon data, then rendering it to generate an image for the right eye and an image for the left eye, and then combining these images (see Patent Documents 1 and 2). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2006-331062 [Patent Document 2] Japanese Patent Application Laid-Open No. 2016-212859 Summary of the Invention [Problem to be solved by the invention]

[0004] When real-time processing of video content is required, the amount of calculation required to rasterize, render, and combine the display buffers for the two screens of the right-eye and left-eye images is large, which increases the processing load of the image processing device. As a result, delays occur in generating stereoscopic images, and it may not be possible to provide a realistic and immersive video experience to the viewer. One aspect of the present invention is to speed up the generation of a stereoscopic image to be displayed on a naked-eye three-dimensional display. [Means for solving the problem]

[0005] In one aspect, an image processing device for generating a stereoscopic image includes a calculation unit that calculates vertex data for the left eye and vertex data for the right eye based on vertex data, a rasterization unit that rasterizes the vertex data for the left eye based on mask information corresponding to a parallax barrier provided in a display device that displays the stereoscopic image, to generate a left-eye raster image that is viewed by the left eye of a viewer, a right-eye raster image that is viewed by the right eye of the viewer by rasterizing the vertex data for the right eye, and a stereoscopic raster image that is a composite of the left-eye raster image and the right-eye raster image, and a rendering unit that performs rendering on the stereoscopic raster image to generate the stereoscopic image. [Effects of the Invention]

[0006] According to one aspect of the present invention, it is possible to speed up the generation of a stereoscopic image. [Brief explanation of the drawings]

[0007] [Figure 1] 1 is a diagram showing a schematic configuration of a gaming machine according to an embodiment of the present invention; [Figure 2] FIG. 1 is a diagram illustrating a technique for realizing a naked-eye three-dimensional display. [Figure 3] 1A to 1C are diagrams illustrating a conventionally known procedure for creating a stereoscopic image. [Figure 4] 1A and 1B are diagrams illustrating a process in which a conventional image processing device generates a stereoscopic image. [Figure 5]FIG. 1 is a diagram illustrating an example of a performance control device. [Figure 6] 10A and 10B are diagrams illustrating examples of mask information used by the image processing apparatus of the present embodiment. [Figure 7] 10A and 10B are diagrams illustrating examples of mask information used by the image processing apparatus of the present embodiment. [Figure 8] 1A to 1C are diagrams illustrating a process in which the image processing device of this embodiment generates a stereoscopic image. [Figure 9] 3A to 3D are diagrams illustrating images in a process of generating a stereoscopic image in this embodiment. [Figure 10] FIG. 2 is a diagram illustrating an example of the hardware configuration of a performance control device. [Figure 11] 10 is a flowchart showing the process of creating a three-dimensional image in the performance control device. [Figure 12] FIG. 1 illustrates an example of a hardware configuration of an information processing apparatus. DETAILED DESCRIPTION OF THE INVENTION

[0008] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The present invention is not limited to the following embodiments, and can be implemented with appropriate modifications within the scope of the object of the present invention. FIG. 1 is a diagram showing a schematic configuration of a gaming machine according to this embodiment. As shown in FIG. 1, the gaming machine 100 includes a main control board (main board) 1A, a performance control board (sub-board) 2A, an external storage device 3, and a display device 4. The main control board 1A has a main control device (main CPU) 1 mounted thereon. The performance control board 2A is equipped with a performance control device 2 (sub-CPU). The performance control device 2 is an image processing device capable of controlling the display of a stereoscopic image G, as will be described later. The gaming machine 100 is, for example, a pachinko gaming machine in which a game is played using gaming balls as a gaming medium. The main control board 1A and performance control board 2A, the performance control board 2A and external storage device 3, and the performance control board 2A and display device 4 are all connected so that they can communicate with each other. However, communication between the main control board 1A and performance control board 2A is one-way communication, which only allows commands to be input from the main control board 1A to the performance control device 2. Data and commands cannot be input from the performance control device 2 to the main control board 1A.

[0009] When the gaming machine 100 is a pachinko gaming machine, when the gaming medium shot out into the gaming area by the launching device enters a starting winning hole provided in the gaming area, the main control device 1 draws a pattern using random numbers and determines whether or not there is a jackpot based on the result of this drawing. The main control board 1A outputs a command to the performance control device 2 to specify the time and pattern of symbol variation based on the result of the jackpot determination. Alternatively, if no start winning occurs for a certain period of time, the main control board 1A puts the gaming machine 100 into a customer waiting state (standby state) and inputs a command to the performance control device 2 indicating that the gaming machine has entered the customer waiting state. If a jackpot is determined in the jackpot determination, after the change of the symbols has finished, the game medium enters the opened attacker, and the jackpot is awarded, with prize balls being paid out. Based on commands input from the main control board 1A, the performance control device 2 executes various performances of the gaming machine 100. The performance control device 2 selects a performance to be executed using a performance device such as the display device 4, and controls the execution of the selected performance during a specified variable time or a performance while waiting for customers.

[0010] The display device 4 is placed in front of the viewer (user) and displays a stereoscopic image (display image) created by the performance control device 2 and transferred from the performance control device 2. The display device 4 is a naked-eye three-dimensional display that displays a stereoscopic image that can be viewed as a three-dimensional image with the naked eye. The display device 4 is equipped with the necessary lenses and the like as explained in FIG. 2 for display devices such as LCD (Liquid Crystal Display), PDP (Plasma Display Panel), and OLED (Organic Light Emitting Diode). 2, a parallax barrier is provided as a physical grid on the display device 4. The parallax barrier blocks pixels that are to be visible to the right eye of the viewer so that they cannot be seen by the left eye, and similarly blocks pixels that are to be visible to the left eye of the viewer so that they cannot be seen by the right eye, thereby providing a parallax effect to the viewer by displaying the screen of the display device 4 in a separated manner. There are various possible variations of the parallax barrier provided in the display device 4, and the parallax barrier may be a lenticular lens or a slit. Instead of providing a parallax barrier in the display device 4, a method may be used in which the same parallax effect is obtained by using lens refraction as in the case of blocking with a grid.

[0011] The external storage device 3 is an external storage device connected to a memory I / F (not shown) provided in the performance control device 2, and is, for example, an SSD (Solid State Drive) or a ROM. The external storage device 3 stores various kinds of effect data used for effects of the gaming machine 100, a boot loader for starting the effect control device 2, basic software such as an OS (Operating System), and the like. Unlike the storage device mounted on the performance control board 2A or the storage device built into the performance control device 2, the external storage device 3 has a large capacity and can store a large amount of performance data. The effect data is image data used for, for example, game effects, customer waiting effects (standby effects), and effects during a jackpot. The external storage device 3 stores, as the rendering data, polygon data that is a pre-modeled three-dimensional object made up of a collection of polygons. The polygon data includes vertex data A.

[0012] In response to commands from the main control device 1, the performance control device 2 reads image data from the external storage device 3 and draws an image. The performance control device 2 uses the drawn image to create a display image to be displayed on the display device 4. The performance control device 2 outputs the display image to the display device 4 and causes the display device 4 to display the image.

[0013] The display mode of the display device 4 of this embodiment can be used not only in pachinko machines and pachislot machines, but also in other gaming machines, game machines, digital signage, and other general devices that have a display device. Therefore, the image processing device described as the performance control device 2 in this embodiment can be used for image processing to display three-dimensional images in other gaming machines, game machines, digital signage, and other general devices that have a display device. In this case, the image processing device performs various processes based on the control of a CPU (overall control CPU) provided in the performance control device 2, which will be described later, rather than on instructions from the main control device.

[0014] First, we will outline the technologies for realizing glasses-free 3D displays. 2 is a diagram illustrating a technique for realizing a naked-eye 3D display. A naked-eye 3D display can be realized, for example, by providing a lenticular lens or a parallax barrier on the front side (viewer side) of a normal liquid crystal display 200. 2(a), the liquid crystal display 200 has at least three sub-pixels 210R, 210G, and 210B of R (Red), G (Green), and B (Blue) arranged horizontally to form one pixel 210. The liquid crystal display 200 expresses the color of one pixel by adjusting the amount of light transmitted through each of the R, G, and B sub-pixels.

[0015] The lenticular method shown in Figure 2(b) involves attaching a sheet-like lenticular lens 250 to the surface of the LCD display 200, allowing different images to be seen depending on the viewing angle. A lenticular lens is a sheet with countless tiny, elongated convex lenses arranged on its surface. Parallax images for the right eye and parallax images for the left eye are alternately displayed for each pixel of the liquid crystal display 200. When such a display is viewed through the lenticular lens 250, the parallax image for the right eye is seen from the position of the right eye, and the parallax image for the left eye is seen from the position of the left eye, allowing the viewer to perceive the image in three dimensions.

[0016] In the parallax barrier method shown in Figure 2(c), a barrier (parallax barrier) 260 with fine slits is attached in front of the liquid crystal display 200. As in the case of Figure 2(b), a parallax image for the right eye and a parallax image for the left eye are alternately displayed for each pixel of the liquid crystal display 200. When such a display is viewed through the parallax barrier 260, the right eye's parallax image is seen from the position of the right eye, and the left eye's parallax image is seen from the position of the left eye, allowing the viewer to perceive the image in three dimensions. The parallax barrier method can achieve the same effect as the lenticular method. As described above, in the lenticular system and the parallax barrier system, left and right parallax images are displayed on the liquid crystal display 200 in pixel units. On the other hand, as shown in Figure 2(d), by displaying left and right parallax alternately in subpixel units on an LCD display, it is possible to achieve a higher-definition, more three-dimensional stereoscopic view.

[0017] Before describing the procedure for creating a stereoscopic image in this embodiment, a conventional procedure for creating a stereoscopic image will be described as a comparative example for this embodiment. FIG. 3 is a diagram outlining a conventionally known procedure for creating a stereoscopic image. A conventional performance control device applies a matrix to polygon data including three-dimensional coordinates shown in FIG. 3(a) to calculate two-dimensional projection coordinates, and obtains vertex data for the right eye and vertex data for the left eye. Conventional performance control devices rasterize the vertex data for the right eye to generate a raster image for the right eye shown in Figure 3(b), and rasterize the vertex data for the left eye to generate a raster image for the left eye shown in Figure 3(c). The performance control device renders the raster image for the right eye into a frame buffer to generate the image for the right eye shown in Figure 3(d), and also renders the raster image for the left eye into a frame buffer to generate the image for the right eye shown in Figure 3(e). The performance control device synthesizes pixels selected from the right-eye image and the left-eye image to create a three-dimensional image as shown in FIG. 3(f).

[0018] FIG. 4 is a diagram illustrating a process for generating a stereoscopic image by a conventional image processing device. FIG. 4 explains the creation procedure shown in FIG. 3 in terms of the flow of processing by an information processing device. The image processing device performs coordinate conversion on the polygon data in Figure 3(a) (S11), rasterizes it (S12, Figure 3(c)), renders it in a left-eye drawing frame buffer to generate an image for the left eye (S13, Figure 3(e)), and selects the pixels necessary to generate a stereoscopic image from the left-eye image (S14). The image processing device also performs coordinate conversion on the polygon data in Figure 3(a) (S15), rasterizes it (S16, Figure 3(b)), renders it in a drawing frame buffer for the right eye to generate an image for the right eye (S17, Figure 3(d)), and selects the pixels necessary to generate a stereoscopic image from the image for the right eye (S18). The image processing device then synthesizes pixels selected from the left-eye image and the right-eye image to generate a single stereoscopic image (S19, FIG. 3(f)), and transfers the generated stereoscopic image to the display frame buffer.

[0019] The conventional performance control device shown in Figures 3 and 4 temporarily stores in memory the right-eye image and the left-eye image, which have been subjected to rasterization and rendering (texturing, shading, etc.) of the vertex data, before creating a three-dimensional image.The conventional performance control device then performs a synthesis process on pixels selected from the right-eye image and the left-eye image. Therefore, conventional performance control devices require a larger memory area than when creating a flat image, and processes that are not performed when creating a flat image, such as rasterizing and rendering two screens for the right eye and left eye, and compositing the image for the right eye and the image for the left eye.

[0020] Therefore, when real-time processing of video content is required, the amount of calculation required for the production control device to generate a 3D image increases, which may result in a delay in the generation and display of the 3D image. As a result, it may not be possible to provide a realistic and immersive video experience to the viewer. To address such problems, the performance control device 2 of this embodiment has the configuration described below in order to generate the stereoscopic image G at high speed with a small amount of calculation.

[0021] FIG. 5 is a diagram showing an embodiment of the performance control device, and shows the functional configuration of the performance control device 2. As shown in FIG. The performance control device 2 can function as an image processing device. The performance control device 2 includes an image processing unit 10 and a storage unit 20. The storage unit (internal storage device) 20 is, for example, a RAM (Random Access Memory) and temporarily stores various data described below. The performance control device 2 can be said to be an SoC (System on Chip) that integrates the functions of a GPU that performs image processing with a CPU and RAM. The storage unit 20 includes, for example, a vertex data storage unit 21, a raster image storage unit 22, and a stereoscopic image storage unit 23. The vertex data storage unit 21 stores vertex data A, left-eye vertex data B, and right-eye vertex data C. The raster image storage unit 22 stores a left-eye raster image D, a right-eye raster image E, and a stereoscopic raster image F. The stereoscopic image storage unit 23 stores the created stereoscopic image G. The storage unit 20 includes a mask information storage unit 24. The mask information is set as appropriate depending on the stereoscopic viewing method of the display device 4 that displays the stereoscopic image G. It is also possible to store multiple pieces of mask information in the mask information storage unit 24, and have the performance control device 2 selectively switch between the mask information to be applied to generating the left-eye raster image D and the right-eye raster image E depending on the stereoscopic viewing method of the display device 4. The performance control device 2 can read out the mask information stored in the external storage device 3, for example, into the storage unit 20 (mask information storage unit 24) and use it.

[0022] FIG. 6 is a diagram showing an example of mask information used by the image processing apparatus of this embodiment. FIG. 6(a) shows a first example of the mask information, and FIG. 6(b) shows a second example of the mask information. (a-1) shows the mask information for the left eye in the first example, and (a-2) shows the mask information for the right eye in the second example. In the first example, a vertical pattern is set so that pixels at different positions in the horizontal direction are selected in the mask information for the left eye and the right eye. This mask information corresponds to a lenticular lens that is divided into slits and adjacent slits block light to different eyes. (b-1) shows the mask information for the left eye in the second example, and (b-2) shows the mask information for the right eye in the second example. In the second example, a checkerboard pattern is set so that pixels at different positions in the vertical and horizontal directions are selected in the mask information for the left and right eyes. This mask information corresponds to a lenticular lens that is divided into a grid and adjacent grids block light to different eyes. In the mask information in FIG. 6, mask M corresponds to the lenticular lens. The mask information shown in FIGS. 6(a) and 6(b) is mask information in pixel units, but is not limited to this, and may be mask information in sub-pixel (RGB) units as shown in FIG.

[0023] FIG. 7 is a diagram showing an example of mask information in units of subpixels. The mask information for the right eye MR and the mask information for the left eye ML shown in Figures 7(a) and 7(b) are used to select sub-pixels to be viewed by the right eye and the left eye as parallax images from the target image of the object to be viewed stereoscopically, so that the liquid crystal display 200 provided in the display device 4 can display the image as shown in Figure 2(d). The right-eye mask information MR is information for obtaining a right-eye raster image E by selecting sub-pixels where RGB is specified. The left-eye mask information ML is information for obtaining a left-eye raster image D by selecting sub-pixels where RGB is specified.

[0024] In the right-eye mask information MR shown in FIG. 7(a), right-eye mask information MR1 and MR2 correspond to two adjacent pixels, respectively. The right-eye mask information MR1 masks the G subpixel in one pixel and selects only R and B. The right-eye mask information MR2 masks the R and B subpixels in a pixel adjacent to the above-mentioned one pixel and selects only the G subpixel. Similarly, in the left-eye mask information ML shown in FIG. 7(b), left-eye mask information ML1 and ML2 correspond to two adjacent pixels, respectively. The left-eye mask information ML1 masks the R and B subpixels in one pixel and selects only the G subpixel. The left-eye mask information ML2 masks the G subpixels in the pixels adjacent to the one pixel, and selects only the R and B subpixels.

[0025] The right-eye mask information MR and the left-eye mask information ML may be, for example, the information shown in Fig. 7(c) and Fig. 7(d). The right-eye mask information MR shown in Fig. 7(c) and the left-eye mask information ML shown in Fig. 7(d) are also information for selecting sub-pixels where RGB is specified from the target image so that the liquid crystal display 200 provided in the display device 4 can display an image as shown in Fig. 2(d). In the right-eye mask information MR shown in FIG. 7(c), right-eye mask information MR1, MR2, MR3, and MR4 correspond to four adjacent pixels on the left, right, top, and bottom, respectively.

[0026] The right-eye mask information MR1 masks the G subpixel in one pixel and selects only the R and B subpixels. The right-eye mask information MR2 masks the R and B sub-pixels in the pixel adjacent to the right of the one pixel, and selects only the G sub-pixel. The right-eye mask information MR3 masks the R and B subpixels in the pixel adjacent below the one pixel, and selects only the G subpixel. The right-eye mask information MR4 masks the G subpixel in the pixel to the lower right of the one pixel, and selects only the R and B subpixels.

[0027] In the left-eye mask information ML shown in FIG. 7(d), left-eye mask information ML1, ML2, ML3, and ML4 correspond to four pixels adjacent to each other on the left, right, top, and bottom. The left-eye mask information ML1 masks the R and B subpixels in one pixel and selects only the G subpixel. The left-eye mask information ML2 masks the G subpixel in the pixel adjacent to the right of the one pixel, and selects only the R and B subpixels. The left-eye mask information ML3 masks the G subpixel in the pixel adjacent below the one pixel, and selects only the R and B subpixels. The left-eye mask information ML4 masks the R and B subpixels in the pixel to the lower right of the one pixel, and selects only the G subpixel.

[0028] When using sub-pixel mask information, the coordinate transformation parameters of the left and right vertex data may be adjusted to values ​​different from those used in pixel units so as to enhance the three-dimensional effect of the parallax images (left and right raster images) in sub-pixel units. It is preferable that the values ​​of the right eye mask information MR and the left eye mask information ML are set so that pixels or sub-pixels at different positions in the pixel are selected, but this is not limiting and they may be set so that sub-pixels at positions where a three-dimensional image G can be created are extracted. The pattern of the mask information described above corresponds to the concave and convex patterns of the parallax barrier and lenticular lens described with reference to FIG.

[0029] Returning to the explanation of FIG. 5, the storage unit 20 further temporarily stores data such as a frame buffer (drawing results), a texture cache used by the rendering unit 15, and a cache of data obtained by applying a matrix to vertex data A (described later). The storage unit 20 does not have to temporarily store the various data A to G in the series of image processing flows of this embodiment. In that case, the various data A to G continue to remain inside the arithmetic units (each functional unit).

[0030] The image processing unit 10 includes an acquisition unit 11, a calculation unit 12, a rasterization unit 13, a synthesis unit 14, a rendering unit 15, and a transfer unit 16. Each processing unit of the image processing unit 10 will be outlined below. The acquisition unit 11 reads out image data for performance from an external storage device 3 or other device external to the performance control device 2, and stores the data in the storage unit 20. The image data for performance includes vertex data A of polygons that are used to pre-model a three-dimensional object of the stereoscopic image G to be displayed. Calculation unit 12 applies a matrix to the three-dimensional coordinates of vertex data A stored in storage unit 20, calculates vertex data B for the left eye and vertex data C for the right eye suitable for generating a stereoscopic image G, and stores the calculated data in storage unit 20. Vertex data B for the left eye and vertex data C for the right eye are vertex data obtained by projecting the three-dimensional coordinates of vertex data A onto two dimensions.

[0031] Rasterization unit 13 rasterizes each of the left-eye vertex data B and right-eye vertex data C calculated by calculation unit 12. Rasterization unit 13 further applies the mask information of Figures 6 and 7 to each of the rasterized images to convert them into a left-eye raster image D and a right-eye raster image E, and stores them in storage unit 20. There are various possible modes for generating left-eye raster image D and right-eye raster image E by rasterization unit 13, which will be described in detail later. The synthesis unit 14 synthesizes the left-eye raster image D and the right-eye raster image E generated by the rasterization unit 13 to generate a stereoscopic raster image F, which is then stored in the storage unit 20. The rendering unit 15 renders the stereoscopic raster image F generated by the synthesis unit 14 to generate a final stereoscopic image G in a format suitable for display on the display device 4 and stores the image in the storage unit 20 . The transfer unit 16 transfers information to devices outside the performance control device 2, such as the display device 4. More specifically, the transfer unit 16 transfers the data of the created stereoscopic image G to the display device 4 to display it.

[0032] The application of mask information to the left-eye raster image D and the right-eye raster image E and the synthesis of both raster images can be performed as follows. In the left-eye raster image D and right-eye raster image E stored in the rasterization buffer, the rasterization unit 13 sets the opacity of pixels and subpixels corresponding to the masks created by the mask information (FIGS. 6 and 7) to 0. This causes the rasterization unit 13 to "discard" pixels and subpixels in the left-eye raster image D and right-eye raster image E that are not visible to the viewer's left eye and right eye. The synthesis unit 14 then performs an alpha blending operation on the left-eye raster image D and the right-eye raster image E from which the non-visible pixels and subpixels have been "discarded," taking into account their respective opacities, and writes the result into the synthesis buffer to synthesize them. Alternatively, the rasterization unit 13 rasterizes the entire vertex data B for the left eye and the vertex data C for the right eye, and the synthesis unit 14 extracts (picks up) pixels and subpixels that are not masked by the mask information (Figures 6 and 7) in the raster image D for the left eye and the raster image E for the right eye, and writes them into a synthesis buffer to synthesize them.

[0033] Furthermore, the performance control device 2 may be equipped with a sensor S or a camera attached to the display device 4 or the gaming machine 100, and may be equipped with a detection unit 17 as the image processing unit 10 that receives input signals and information from the sensor S and detects the position of the viewer (or player) relative to the display device 4 based on this information. 6 to 9, the process of generating a stereoscopic image G is, for example, performed by combining a left-eye raster image D and a right-eye raster image E to obtain a single image with as few gaps as possible, a stereoscopic raster image F. In cases where combining images without gaps is not appropriate, such as when the coordinates of the left-eye raster image D and the right-eye raster image E are far apart, the combining unit 14 may instead combine the left-eye raster image D and the right-eye raster image E side-by-side.

[0034] FIG. 8 is a diagram illustrating the process of generating a stereoscopic image by the image processing device of this embodiment. FIG. 9 is a diagram illustrating each image in the process of generating a stereoscopic image in this embodiment. The process of generating a stereoscopic image by the performance control device 2 of this embodiment will be described in detail with reference to FIGS. In response to a command from the main control board 1A, the acquisition unit 11 acquires polygon data (FIG. 9(A)) that will be the material of the three-dimensional image G from the external storage device 3. At this time, the external storage device 3 outputs the image data to the performance control device 2 in response to a read request from the acquisition unit 11. For convenience, the polygon data in Fig. 9(A) is expressed in the form of an image, but the polygon data in Fig. 9(A) is vertex data A including three-dimensional coordinates. The polygon data in Fig. 9(A) includes a wall W in the background and a pillar P in the foreground.

[0035] The calculation unit 12 applies a matrix to the three-dimensional coordinates of the vertex data A stored in the storage unit 20 to calculate vertex data B for the left eye (FIG. 9B) and vertex data C for the right eye (FIG. 9C) suitable for generating the stereoscopic image G. The vertex data B for the left eye and the vertex data C for the right eye are vertex data obtained by projecting the three-dimensional coordinates of the vertex data A onto two dimensions. Calculation unit 12 performs coordinate transformation of vertex data A, but in actual processing, it performs calculations based on vertex data A and a matrix to calculate left-eye vertex data B and right-eye vertex data C. The contents of vertex data A itself are not changed and can be maintained as is for subsequent processing. The calculation unit 12 uses two matrices LM and LR to obtain left-eye vertex data B and right-eye vertex data C from vertex data A. The calculation unit 12 performs coordinate transformation for the left eye using the left-eye matrix LM, and performs coordinate transformation for the right eye using the right-eye matrix RM. The left-eye matrix LM is an example of a first matrix, and the right-eye matrix RM is an example of a second matrix. The calculation unit 12 applies the left-eye matrix LM to the three-dimensional coordinates of the vertex data A to calculate left-eye vertex data B (FIG. 9(B)) to be viewed by the left eye of the viewer (S21). The calculation unit 12 applies the right-eye matrix RM to the three-dimensional coordinates of the vertex data A to calculate the right-eye vertex data C (FIG. 9C) to be viewed by the right eye of the viewer (S31). As a result of the coordinate transformation, there is no significant change in the distant wall W, but the pillar P in the foreground is shifted to the left in the right-eye vertex data C and to the right in the left-eye vertex data B. For convenience, the right-eye vertex data C and the left-eye vertex data B are also shown in the form of images.

[0036] 3 and 4, the components of the matrix for generating parallax use one system for the left eye screen and one system for the right eye screen on a screen-by-screen basis. In contrast, in the performance control device 2 of this embodiment, the components of the matrix for generating parallax use two systems of matrices simultaneously, a left eye matrix LM and a right eye matrix RM on a polygon-by-polygon basis. The left-eye matrix LM is obtained by multiplying a global matrix [G] for converting the three-dimensional coordinates of the vertex data A into coordinate information in the global coordinate system by a left matrix [L] for converting coordinate positions in the global coordinate system into two-dimensional projected coordinate positions for the viewer's left eye. The global matrix [G] is an example of a common matrix. The right eye matrix RM is formed by multiplying a global matrix [G] for converting the three-dimensional coordinates of the vertex data A into coordinate information in the global coordinate system and a right matrix [R] for converting the coordinate positions in the global coordinate system into two-dimensional projected coordinate positions for the viewer's right eye. The components of the two matrices LM and RM are the same, namely the global matrix [G], but the left matrix [L] and right matrix [R], which are the components used to convert the vertex data A into two-dimensional projection coordinates as seen by the cameras on the left and right sides of the viewer, are different. To achieve stereoscopic vision, the calculation unit 12 sets the parallax between the images to be viewed by the viewer's left and right eyes based on the difference between the left matrix [L] and the right matrix [R] during the process of performing coordinate transformation of the vertex data A.

[0037] The rasterizing unit 13 rasterizes the left-eye vertex data B and the right-eye vertex data C converted by the calculating unit 12. In the rasterizing, the rasterizing unit 13 uses mask information stored in the mask information storage unit 24 (FIG. 5) to extract pixels to be viewed by the left and right eyes of the viewer from the left-eye raster image D and the right-eye raster image E, respectively, to obtain a left-eye raster image D (FIG. 9(D)) and a right-eye raster image E (FIG. 9(E)). Mask information exists for each pixel or subpixel coordinate displayed on the display device 4, and its value corresponds to the shape of the parallax barrier located at the coordinate. The shape of the parallax barrier is generally periodic, and it is sufficient for the mask information to have a size that is an integer multiple of that period. If the size of the mask information is smaller than that of the display device 4, the least significant bits of the coordinates displayed on the display device 4 correspond to the mask information. The rasterization unit 13 rasterizes the left-eye vertex data B (S22), and extracts pixels to be viewed by the viewer's left eye from the rasterized pixels using the left-eye mask information ML (S23), thereby generating a left-eye raster image D (Figure 9(D)). As a result, in areas L1 and L2 contained in the image obtained by rasterizing the left-eye vertex data B, the pixels in area L1 corresponding to mask M are not extracted, and the pixels in area L2 not corresponding to mask M are extracted and included in the left-eye raster image D.

[0038] The rasterization unit 13 rasterizes the right-eye vertex data C (S32), and extracts pixels to be viewed by the right eye from the rasterized pixels using the right-eye mask information MR (S33), thereby generating a right-eye raster image E (Figure 9(E)). As a result, in areas R1 and R2 contained in the image obtained by rasterizing the vertex data C for the right eye, the pixels in area R1 corresponding to mask M are not extracted, and the pixels in area R2 not corresponding to mask M are extracted and included in the raster image E for the right eye. The generation of the left-eye raster image D and the right-eye raster image E will be described later.

[0039] As an example, the synthesis unit 14 synthesizes a raster image D for the left eye (area L2) and a raster image E for the right eye (area R2) to generate a raster image F for stereoscopic viewing (Figure 9(F)) as a single image with as few gaps as possible (S41). As shown in Figure 9 (F), the synthesis unit 14 synthesizes the left eye raster image D (area L2) and the right eye raster image E (area R2) to which the mask information has been applied according to the coordinates (display coordinates) when displayed on the display device 4 in units of pixels or subpixels. The synthesis unit 14 synthesizes the stereoscopic raster image F into a single image with as few gaps as possible, so that adjacent pixels of the left eye raster image D and the right eye raster image E calculated from the same vertex data A, which are pixels with adjacent display coordinates, can be input to the rendering unit 15 in a continuous manner. In other words, by synthesizing the stereoscopic raster image F as a single image with as few gaps as possible, it is possible to input a stereoscopic raster image F in which pixels with adjacent display coordinates (L2 and L2, R2 and R2, L2 and R2) are adjacent with no gaps, as shown in Fig. 9(F), to the rendering unit 15. Furthermore, it is considered highly likely that the same or similar textures and shading will be applied to the left and right raster images derived from the same object in the vertex data A. For example, consider the case of area P1, which corresponds to pillar P in vertex data A in FIG. 9A and is made up of area L2 of left-eye raster image D and area R2 of right-eye raster image E in stereoscopic raster image F. When rendering the same or similar textures or shading to a specific portion of region P1, the same or similar texture data or shading parameters can be applied intensively (successively) to the pixels in the adjacent regions L2 and R2. This improves the texture cache hit rate, and is expected to improve processing performance. The same applies to shading. This is not limited to the case of the same object. For example, region R2 that constitutes the right-eye raster image E is derived from vertex data corresponding to different objects, a pillar P and a wall W, but the same or similar shading parameters can be applied consecutively to the pixels of adjacent regions R2. If there are gaps in the stereoscopic raster image F, it is necessary to apply texture and shading individually to, for example, the areas L2 and R2 that make up the area P1. In this case, it is more difficult to improve the texture cache hit rate than when there are no gaps in the stereoscopic raster image F. If it is not appropriate to combine the left-eye raster image D and the right-eye raster image E using the above method, for example, because the coordinates of these images are far apart, the left-eye raster image D and the right-eye raster image E may be simply lined up. Regardless of the method used to synthesize the stereoscopic raster image F, the coordinates at which the pixels are ultimately written as the stereoscopic image G after rendering are the same coordinates that were already determined during rasterization.

[0040] Note that the rasterizing unit 13 prevents overlapping of coordinates of pixels that remain undiscarded from the left-eye raster image D and the right-eye raster image E when both raster images are viewed as a single image. By doing so, the rendering unit 15 described below can efficiently generate the three-dimensional image G by eliminating the wasteful calculations and processing that existed in conventional technology, whereby pixels for either the left or right eye are not included in the ultimately generated three-dimensional image G due to overlapping coordinates, even though the image has been rendered to a state suitable for display on a display device.

[0041] The rendering unit 15 renders the stereoscopic raster image F to generate a final stereoscopic image G in a format suitable for display on the display device 4. The generated stereoscopic image G is a composite of a right-eye image and a left-eye image that have been rendered according to the shape of the parallax barrier. The rendering unit 15 includes a texture mapping unit and a shading unit, and includes processing functions for optimizing display quality, such as color adjustment and brightness. The rendering unit 15 (texture mapping unit) adds texture to the surface of the raster image. The rendering unit 15 (shading unit) also adds light and dark contrast to the raster image to create a three-dimensional effect.

[0042] In the above description, the rasterizing unit 13 applies the mask information (FIGS. 6 and 7) after rasterizing the left-eye vertex data B and the right-eye vertex data C. However, although mask information cannot be applied to the vertex data itself, namely, the left eye vertex data B and the right eye vertex data C, it is possible to take the mask information into consideration when rasterizing the left eye vertex data B and the right eye vertex data C and writing them to the buffer. The performance control device 2 determines, for example, whether a portion of the vertex data B for the left eye is included in the raster image D for the left eye (area L2) when taking into account the mask information, and if it determines that it is included, rasterizes that portion and writes it to the stereoscopic buffer shown in Figure 9 (F). Also, for example, it is determined whether a portion of the right-eye vertex data C is included in the right-eye raster image E (area R2) when taking mask information into consideration, and if it is determined that it is included, that portion is rasterized and written to the stereoscopic buffer shown in Figure 9(F). By doing this, it is possible to reduce the number of buffers required for rasterization to one. Also, in this case, the rasterization unit 13 performs the processes of rasterizing the left-eye vertex data B and the right-eye vertex data C (S22, S32), pixel selection (S23, S33), and buffer compositing (S41), eliminating the need for processing by the compositing unit 14. As a result, it is possible to create a stereoscopic image G using less memory and with less calculation processing.

[0043] Furthermore, when the left-eye raster image D and the right-eye raster image E contain many pixels, a large buffer is required to synthesize the stereoscopic raster image F. In such a case, the rasterization unit 13 does not rasterize all of the left-eye vertex data B and right-eye vertex data C at once, but first rasterizes an area equal to the size of the mask information, and then, as explained above, performs pixel selection (application of mask information), buffer synthesis, and rendering by the rendering unit 15 as necessary. This process is repeated while shifting the rasterization area by an amount equal to the size of the mask information until the entire area has been rasterized. In other words, the rasterization unit 13 divides the left-eye vertex data B and the right-eye vertex data C based on the size of the mask information, and performs rasterization and pixel selection (application of mask information) for the corresponding divided areas of the left-eye vertex data B and the right-eye vertex data C, combines buffers (generates a stereoscopic raster image F), and rendering by the rendering unit 15. When the performance control device 2 has performed processing up to rendering for all corresponding divided areas, it combines three-dimensional images G for each divided area and transfers the three-dimensional image G to the display device 4. This makes it possible to process the mask information using a small buffer that is roughly the same size as the mask information.

[0044] As described above, when generating a three-dimensional image G, the performance control device 2 of this embodiment performs coordinate conversion of already modeled polygon data (vertex data A) into vertex data from each of the left and right viewpoints (vertex data B for the left eye, vertex data C for the right eye), as is well known. The performance control device 2 then uses mask information to extract and rasterize only the pixels necessary for three-dimensional display from the coordinate-converted left-eye vertex data B and right-eye vertex data C, generating left and right raster images (left-eye raster image D and right-eye raster image E).The performance control device 2 then renders a stereoscopic raster image F, which is a composite of the left-eye raster image D and the right-eye raster image E, to generate a three-dimensional image G (parallax image), and outputs the generated three-dimensional image G to the display buffer.

[0045] 3 and 4, it was necessary to perform rasterization (S12, S16) and rendering (S13, S17) including texture and shading for one screen each for the right-eye image and the left-eye image, for a total of two screens. In contrast, the performance control device 2 can generate the three-dimensional image G by rasterizing and rendering only one screen's worth of the left-eye image and the right-eye image, and can also omit the display buffer synthesis process (S19). In this embodiment, the process of creating the three-dimensional image G can be significantly reduced. 3 and 4, two frame buffers, each for one screen, are required to sequentially render the rasterized right-eye and left-eye images, and one frame buffer for synthesizing the right-eye and left-eye images after pixel selection, for a total of three frame buffers.In contrast, the performance control device 2 of this embodiment only requires a frame buffer for one screen to render the stereoscopic raster image F, which is a composite of the left-eye raster image D and the right-eye raster image E.

[0046] 3 and 4, which perform separate rendering for the right-eye image and the left-eye image, texture mapping and shading are performed for each image on a screen-by-screen basis for the right-eye image and the left-eye image. This means that the texture data and shading parameters referenced during rendering cannot be centrally referenced, taking advantage of the fact that they are originally derived from the same vertex data A, and it is not possible to expect an increase in the cache hit rate or improved processing performance. This is because texture data and shading parameters must be prepared and rendered separately for the left-eye image and the right-eye image, which are derived from the same vertex data A. In contrast, in this embodiment, where rendering is performed on the combined stereoscopic raster image F, it is possible to take advantage of the advantage that the left-eye raster image D and the right-eye raster image E contained in the stereoscopic raster image F originally originate from the same vertex data A, and adjacent pixels are grouped together. Therefore, for the reasons explained above, texture data and shading parameters can be referenced in a concentrated manner during rendering, which is expected to increase the cache hit rate and improve processing performance.

[0047] In this way, the performance control device 2 of this embodiment does not need to generate a right-eye image and a left-eye image by applying mask information to an image that has already undergone rasterization, rendering, and the like for the vertex data A. In other words, the performance control device 2 of this embodiment performs rendering only once on the stereoscopic raster image F, which is a composite of the right-eye image and the left-eye image that have been rasterized using the mask information from the vertex data A, thereby significantly reducing the computational load. As a result, the latency from when the rendering of the stereoscopic image G using polygon data (vertex data) begins until it is displayed on the display device 4 can be shortened. Furthermore, as indicated by the small number of frame buffers, the latency due to memory access can also be reduced. Overall, the stereoscopic image G can be displayed at an extremely high speed compared to conventional technology.

[0048] Furthermore, the performance control device 2 of this embodiment may cache applied vertex data AG, which is obtained by applying the global matrix [G] in advance to the vertex data A of the polygon data. The applied vertex data AG is an example of common vertex data. By individually applying the matrix [L] and matrix [R] to the applied vertex data AG, the left eye vertex data B and the right eye vertex data C can be calculated quickly with a small amount of calculation. The generation of the three-dimensional image G in this embodiment is suitable when performed by software processing using a CPU, or when performed by a hardware circuit, when displaying a three-dimensional image G made of complex polygons with a large number of vertices with rapid changes.

[0049] The performance control device 2 adjusts the matrix [R] and matrix [L] when applying a matrix to the vertex data A to obtain the vertex data B for the left eye and the vertex data C for the right eye, thereby changing the balance of the raster images for the left and right eyes and dynamically adjusting (changing) the appearance of the stereoscopic image G. As described above, by caching the applied vertex data AG to which the global matrix [G] has been applied in advance to the vertex data A of the polygon, and then applying the matrix [L] and matrix [R] to the applied vertex data AG, the appearance of the three-dimensional image G can be adjusted quickly.

[0050] As another method, the performance control device 2 can dynamically adjust (change) the appearance of the three-dimensional image G by adjusting the mask information when rasterizing the vertex data B for the left eye and the vertex data C for the right eye. When the viewer's observation position moves slightly, the position on the display device 4 that was blocked by the parallax barrier so that it could only be seen by the left eye shifts, which can result in a phenomenon known as "reverse viewing," in which the left eye sees the pixel for the right eye adjacent to it, rather than the pixel for the left eye, and at the same time the right eye sees the pixel for the left eye adjacent to it, rather than the pixel for the right eye. To prevent this reverse viewing, the mask position of the mask information applied when rasterizing the left-eye raster image D and the right-eye raster image E is slightly shifted to match the viewer's movement, thereby enabling the appearance of the stereoscopic image G to be adjusted quickly.

[0051] The performance control device 2 of this embodiment can take advantage of the possibility of displaying a three-dimensional image G at high speed to perform the following control. The display device 4 that provides stereoscopic viewing is designed to most effectively and accurately realize stereoscopic viewing when the viewer views the display device 4 directly in front of it. However, in reality, it is difficult for the viewer to view the display device 4 directly in front of it, and it is also difficult to continue viewing the display device 4 without moving the head. To address such problems, the performance control device 2 may detect the position of the viewer relative to the display device 4 or the gaming machine 100 from the input of a sensor S provided in the display device 4 or the gaming machine 100 equipped with the display device 4. The sensor S is an example of a detection device. In a simple example, infrared sensors consisting of a light receiving element and a light emitting element are provided on the right, center, and left sides of the front of the housing of the display device 4 as viewed from the viewer. The detection unit 17 described above can estimate that the viewer (player) is sitting on the side where the sensor with the highest light receiving level is located. This is merely an example, and the viewer's position and posture may be estimated using other methods. The performance control device 2 dynamically changes the left-right balance of the stereoscopic image G according to the viewer's position, so that the viewer can view the intended stereoscopic image G from the direction in which he or she views the display device 4.

[0052] In the above, only the stereoscopic image G, which is made up of a pair of left-eye and right-eye images and has only one set of parallax, has been described as the target image for stereoscopic viewing. However, the performance control device 2 of this embodiment is not limited to this and can create a stereoscopic image G having two or more types of parallax (two or more parallaxes). Here, the case of three parallax images that allow two different stereoscopic views will be described, but the same applies to the case of four parallax images that allow three different stereoscopic views. The calculation unit 12 calculates first vertex data, second vertex data, and third vertex data by applying three different matrices to the vertex data A. At this time, the three matrices can include different matrices [1], [2], and [3] in the global matrix [G], as described above.

[0053] The rasterizing unit 13 rasterizes the first vertex data, the second vertex data, and the third vertex data while respectively applying mask information corresponding to the three parallaxes using any of the methods described above to generate a first raster image, a second raster image, and a third raster image, and combines these to generate a stereoscopic raster image F. Then, the rendering unit 15 renders the stereoscopic raster image F to generate a stereoscopic image G. The three-dimensional image G includes a first image based on the first vertex data and the first raster image, a second image based on the second vertex data and the second raster image, and a third image based on the third vertex data and the third raster image. For example, the first image, the second image, and the third image are displayed in order from left to right. Because parallax is set between the first vertex data and the second vertex data, and between the second vertex data and the third vertex data, the stereoscopic image G can be viewed in two ways: a stereoscopic image G (viewing mode) made up of the first and second images, and a stereoscopic image G (viewing mode) made up of the second and third images. In the former case, the first image is viewed with the right eye and the second image with the left eye. In the latter case, the second image is viewed with the right eye and the third image with the left eye.

[0054] The three-dimensional image G, which can be viewed in three different ways, can also be created by applying four different matrices to the vertex data A to calculate the first vertex data, second vertex data, third vertex data, and fourth vertex data, and then rasterizing and rendering these in the same way. In a conventional stereoscopic image G with two or more parallaxes, there is a large amount of vertex data and raster images to be processed, so the rasterization and subsequent rendering method of this embodiment is extremely effective. Rasterization is performed on each vertex data taking into account mask information to generate and synthesize a raster image, and finally rendering is performed only once, making it possible to generate a stereoscopic image G with two or more parallaxes extremely quickly.

[0055] Furthermore, for a multi-parallax stereoscopic image G, it is essentially sufficient if the stereoscopic image G (viewing mode) is generated from the direction in which the viewer is viewing. Therefore, the performance control device 2 can create the stereoscopic image G by rasterizing and rendering only the combination of images from the first image, second image, third image, etc. that are viewed from the viewing direction, based on the position of the viewer (player) estimated from the signal from the sensor S described above. Even if the viewer moves and the viewing direction changes, by caching the applied vertex data AG applied to the global matrix [G] in the vertex data A, it is possible to quickly rasterize and render a new combination of images and display a new stereoscopic image G.

[0056] FIG. 10 shows an example of the hardware configuration of the performance control device. 10, the performance control device 2 includes at least an overall control CPU 110, a storage device 111, an image processing circuit 112, and an input / output I / F 113. The components are connected by a bus 114. In addition to these, the performance control device 2 also includes an audio control circuit that controls the performance sounds output from the speakers, a motor control circuit that controls the motors that operate the performance props, and the like, but their description will be omitted here. An external storage device 3 is connected to the performance control device 2 via an input / output I / F 113. The sensor S described in Fig. 5 can also be connected to the input / output I / F 113. In addition, a display device 4 is connected to the image processing circuit 112 via an interface not shown.

[0057] The overall control CPU 110 controls the entire performance control device 2. The overall control CPU 110 is started by executing a start-up program stored in the external storage device 3. The overall control CPU 110 receives commands input from the main control device 1 and determines the content of the performance according to the commands. The overall control CPU 110 controls the image processing circuit 112 and controls the display of images to realize the determined content of the performance. At that time, the overall control CPU 110 executes a control program stored in the external storage device 3.

[0058] The storage device 111 is a RAM and functions as the storage unit 20 in Fig. 4. The storage device 111 is used as a work area by the image processing circuit 112 and the overall control CPU 110. 4 by being controlled by the overall control CPU 110. Each processing unit of the image processing unit 10 (acquisition unit 11, calculation unit 12, rasterization unit 13, synthesis unit 14, rendering unit 15, transfer unit 16) can be realized as each circuit included in the image processing circuit 112. The image processing circuit 112 reads image data for effect from the external storage device 3 in response to a command from the overall control CPU 110. The image processing circuit 112 draws image data and displays it on the display device 4 in response to commands from the overall control CPU 110 .

[0059] FIG. 11 is a flowchart showing the process of creating a three-dimensional image in the performance control device. The processing in the performance control device 2 will be described with reference to FIG. The processing described below is performed by the image processing circuit 112 based on instructions from the overall control CPU 110. The overall control CPU 110 controls the image processing circuit 112, thereby realizing each processing unit included in the image processing unit 10. Therefore, it can be said that the control shown in the flowchart of FIG. 11 is executed by a control program of the overall control CPU 110. Alternatively, the overall control CPU 110 itself may execute image processing by the image processing circuit 112, and output the stereoscopic image G created by the image processing circuit 112 to the display device 4.

[0060] In step S101, the acquisition unit 11 acquires, from the external storage device 3, vertex data A obtained by modeling a 3D object with polygons, which is the target of the stereoscopic image G to be displayed on the display device 4. In step S102, the calculation unit 12 calculates the left-eye vertex data B from the vertex data A using the left-eye matrix LM. In step S103, the calculation unit 12 calculates the right-eye vertex data C from the vertex data A using the right-eye matrix RM. The calculation of the left-eye vertex data B in step S102 and the calculation of the right-eye vertex data C in step S103 may be performed in any order.

[0061] In step S104, the rasterization unit 13 rasterizes pixels selected from the left-eye vertex data B using the left-eye mask information ML, and generates a left-eye raster image D on the left-eye raster buffer using the mask information in the above-mentioned manner, which includes pixels and subpixels to be viewed by the viewer's left eye. In step S105, the rasterization unit 13 rasterizes pixels selected from the right-eye vertex data C using the right-eye mask information MR, and generates a right-eye raster image E on the right-eye raster buffer using the mask information in the above-described manner, which includes pixels and subpixels to be viewed by the viewer's right eye. The generation of the left-eye raster image D in step S104 and the generation of the right-eye raster image E in step S105 can be performed in any order. In step S106, the synthesis unit 14 synthesizes the left-eye raster image D and the right-eye raster image E to generate a stereoscopic raster image F on the stereoscopic raster buffer.

[0062] Alternatively, instead of the processes of S104 to S106, the rasterization unit 13 rasterizes pixels and sub-pixels selected from the left-eye vertex data B using mask information for the left eye and writes them into the stereoscopic raster buffer.Then, the rasterization unit 13 rasterizes pixels and sub-pixels selected from the right-eye vertex data C using mask information for the right eye and writes them into the stereoscopic raster buffer, thereby generating a stereoscopic raster image F.

[0063] At this time, rasterization unit 13 determines whether or not a portion of left-eye vertex data B is included in left-eye raster image D, taking into account the mask information (FIGS. 6 and 7). If it is determined that the portion should be included, rasterization unit 13 rasterizes the portion and writes it to the buffer. If it is determined that the portion of left-eye vertex data B should not be included, rasterization unit 13 does not rasterize the portion. The rasterizing unit 13 also determines whether or not a portion of the right-eye vertex data C is included in the right-eye raster image E, taking into account the mask information (FIGS. 6 and 7). If it is determined that the portion should be included, the rasterizing unit 13 rasterizes the portion and writes it to the buffer. If it is determined that the portion of the right-eye vertex data C should not be included, the rasterizing unit 13 does not rasterize the portion.

[0064] In step S107, the rendering unit 15 renders the stereoscopic raster image F to generate a stereoscopic image G, and stores the generated stereoscopic image G in the storage unit 20. In step S108, the transfer unit 16 transfers the data of the stereoscopic image G to the display device 4, and causes the display device 4 to display the stereoscopic image G. This completes the image processing by the performance control device 2.

[0065] FIG. 12 shows an example of a hardware configuration of an information processing device. 12, an information processing device 300 includes a control circuit 301, a storage device 302, and an input / output I / F 304. These components are connected by a bus 310. The control circuit 301 controls the entire information processing device 300. The control circuit 301 functions as, for example, the image processing unit 10 in Fig. 4. Each processing unit of the image processing unit 10 (the acquisition unit 11, the calculation unit 12, the rasterization unit 13, the synthesis unit 14, the rendering unit 15, and the transfer unit 16) can be realized by a program executed by the control circuit 301. The storage device 302 stores various types of information. The storage device 302 functions as, for example, the storage unit 20 in FIG. The input / output I / F 304 is connected to the external storage device 3, and reads data from the external storage device 3 in response to a command from the control circuit 301. The input / output I / F 304 can also be connected to the sensor S described with reference to FIG. The display device 4 displays an image in response to an instruction from the control circuit 301 .

[0066] As described above, the performance control device 2 of this embodiment can significantly reduce the calculations required to generate the three-dimensional image G, and can speed up the generation of the three-dimensional image G. This embodiment is not limited to the embodiment described above, and various configurations or embodiments can be adopted within the scope of the gist of this embodiment. [Explanation of symbols]

[0067] 1 main control device, 1A main control board, 2 performance control device, 2A performance control board, 3 external storage device, 4 display device, 10 image processing unit, 11 acquisition unit, 12 calculation unit, 13 rasterization unit, 14 synthesis unit, 15 rendering unit, 16 transfer unit, 20 memory unit, 21 vertex data memory unit, 22 raster image memory unit, 23 stereoscopic image memory unit, 24 mask information memory unit, 100 gaming machine, 200 liquid crystal display, 250 lenticular lens, 260 parallax barrier

Claims

1. An image processing device for generating a stereoscopic image, a calculation unit that calculates left-eye vertex data and right-eye vertex data based on the vertex data; a rasterization unit that rasterizes the left-eye vertex data based on mask information corresponding to a parallax barrier provided in a display device that displays the stereoscopic image, to generate a left-eye raster image that is viewed by the left eye of the viewer, a right-eye raster image that is viewed by the right eye of the viewer by rasterizing the right-eye vertex data, and a stereoscopic raster image that is a composite of the left-eye raster image and the right-eye raster image; a rendering unit that performs rendering on the stereoscopic raster image to generate the stereoscopic image; An image processing device comprising:

2. the calculation unit calculates the left-eye vertex data by applying a first matrix to the vertex data, and calculates the right-eye vertex data and the right-eye vertex data by applying a second matrix different from the first matrix to the vertex data; 2. The image processing device according to claim 1, wherein:

3. 3. The image processing device according to claim 2, wherein the calculation unit changes the first matrix and the second matrix based on information input from a detection device capable of detecting the position of a viewer relative to a display device that displays the stereoscopic image, and calculates the vertex data for the left eye and the vertex data for the right eye.

4. The first matrix and the second matrix are obtained by multiplying a common matrix shared by both of them by a matrix for the left eye and a matrix for the right eye, which are different from each other.

3. The image processing device according to claim 2.

5. the calculation unit calculates common vertex data in advance by applying the common matrix to the vertex data, and calculates the left-eye vertex data and the right-eye vertex data having different parallaxes by applying different left-eye and right-eye matrices to the common vertex data.

5. The image processing device according to claim 4.

6. 2. The image processing device according to claim 1, wherein the rasterization unit generates the stereoscopic raster image by combining the left-eye raster image and the right-eye raster image, which are obtained by removing pixels or sub-pixels that are not to be viewed by the left eye or the right eye of the viewer based on the mask information from image data obtained by rasterizing the left-eye vertex data and the right-eye vertex data.

7. 2. The image processing device according to claim 1, wherein the rasterization unit generates the stereoscopic raster image by combining the left-eye raster image and the right-eye raster image, which are obtained by extracting pixels or sub-pixels to be viewed by the left eye or right eye of the viewer based on the mask information from image data obtained by rasterizing the left-eye vertex data and the right-eye vertex data.

8. 2. The image processing device according to claim 1, wherein when rasterizing the left-eye vertex data and the right-eye vertex data, the rasterization unit generates the stereoscopic raster image by writing, based on the mask information, pixels or sub-pixels to be viewed by the left eye or right eye of the viewer in the image data obtained by rasterizing the left-eye vertex data and the right-eye vertex data into a buffer as the left-eye raster image or the right-eye raster image.

9. The rasterization unit applying the mask information to image data obtained by rasterizing the left-eye vertex data and the right-eye vertex data to generate the left-eye raster image and the right-eye raster image; adjusting the mask information to be applied to the image data based on information input from a detection device capable of detecting a position of a viewer relative to a display device that displays the stereoscopic image; 2. The image processing device according to claim 1, wherein:

10. the rasterizing unit generates the stereoscopic raster image by adjoining adjacent pixels having close coordinates in the vertex data of the left-eye raster image and the right-eye raster image, The image processing device according to claim 1 , wherein the rendering unit continuously performs rendering on the adjacent pixels in the stereoscopic raster image.

11. 2. The image processing apparatus according to claim 1, wherein the mask information is a slit-shaped mask pattern.

12. 2. The image processing apparatus according to claim 1, wherein the mask information is a lattice-shaped mask pattern.

13. An image processing device for generating a stereoscopic image, a calculation unit that calculates first vertex data, second vertex data, and third vertex data based on the vertex data; a rasterization unit that rasterizes the first vertex data to generate a first raster image, rasterizes the second vertex data to generate a second raster image, and rasterizes the third vertex data to generate a third raster image, based on mask information corresponding to a parallax barrier included in a display device that displays the three-dimensional image; a rendering unit that generates the stereoscopic image by performing rendering on a stereoscopic raster image obtained by combining the first raster image, the second raster image, and the third raster image; An image processing device comprising:

14. An image processing method executed by a processor of an information processing device that generates a stereoscopic image, comprising: The processor: Calculating vertex data for the left eye and vertex data for the right eye based on the vertex data; rasterizing the left-eye vertex data based on mask information corresponding to a parallax barrier provided in a display device that displays the stereoscopic image to generate a left-eye raster image that is to be viewed by the left eye of the viewer, and rasterizing the right-eye vertex data to generate a right-eye raster image that is to be viewed by the right eye of the viewer, generating the stereoscopic image by performing rendering on a stereoscopic raster image obtained by combining the left-eye raster image and the right-eye raster image; An image processing method comprising:

15. A program for causing a processor of an information processing device to execute an image processing method for generating a stereoscopic image, The processor: Calculating vertex data for the left eye and vertex data for the right eye based on the vertex data; rasterizing the left-eye vertex data based on mask information corresponding to a parallax barrier provided in a display device that displays the stereoscopic image to generate a left-eye raster image that is to be viewed by the left eye of the viewer, and rasterizing the right-eye vertex data to generate a right-eye raster image that is to be viewed by the right eye of the viewer, generating the stereoscopic image by performing rendering on a stereoscopic raster image obtained by combining the left-eye raster image and the right-eye raster image; A program characterized by:

Citation Information

Patent Citations

  • Solid image generation method and solid image generation device

    JP2006331062A

  • Method of rendering on binocular disparity images and apparatus therefor

    JP2016212859A