WO2011036761A1 - 多視点画像生成方法および装置 - Google Patents
多視点画像生成方法および装置 Download PDFInfo
- Publication number
- WO2011036761A1 WO2011036761A1 PCT/JP2009/066618 JP2009066618W WO2011036761A1 WO 2011036761 A1 WO2011036761 A1 WO 2011036761A1 JP 2009066618 W JP2009066618 W JP 2009066618W WO 2011036761 A1 WO2011036761 A1 WO 2011036761A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- viewpoint
- viewpoint image
- depth value
- shift
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B30/00—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images
- G02B30/20—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images by providing first and second parallax images to an observer's left and right eyes
- G02B30/26—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images by providing first and second parallax images to an observer's left and right eyes of the autostereoscopic type
- G02B30/27—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images by providing first and second parallax images to an observer's left and right eyes of the autostereoscopic type involving lenticular arrays
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B30/00—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images
- G02B30/20—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images by providing first and second parallax images to an observer's left and right eyes
- G02B30/26—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images by providing first and second parallax images to an observer's left and right eyes of the autostereoscopic type
- G02B30/27—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images by providing first and second parallax images to an observer's left and right eyes of the autostereoscopic type involving lenticular arrays
- G02B30/29—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images by providing first and second parallax images to an observer's left and right eyes of the autostereoscopic type involving lenticular arrays characterised by the geometry of the lenticular array, e.g. slanted arrays, irregular arrays or arrays of varying shape or size
Definitions
- the present invention relates to a multi-viewpoint image generation method.
- Patent Document 3 In order to draw a CG, a multi-viewpoint image in which an object is drawn in advance is pasted on a quadrilateral polygon and drawn in real time from a plurality of viewpoints (Patent Document 3).
- the present invention has been made in view of the above, and an object thereof is to provide a multi-viewpoint image generation method and apparatus capable of drawing a multi-viewpoint image at higher speed.
- the present invention is based on the depth value indicating the position in the depth direction of the image, which is associated with each of the plurality of images, and the depth value is the same among the plurality of images.
- a step of synthesizing the two images into one image, and the image synthesized in the synthesizing step is shifted according to a shift vector corresponding to the viewpoint and the depth value corresponding to the image for each of a plurality of viewpoints giving different parallaxes.
- FIG. 2 is a block diagram showing functions of the image processing apparatus according to the present embodiment.
- the hardware configuration of the image processing apparatus by this embodiment. 10 is a flowchart of single-viewpoint image synthesis processing according to the present embodiment. 10 is a flowchart of single-viewpoint image synthesis processing according to the present embodiment.
- Single viewpoint image composition processing according to this embodiment Single viewpoint image composition processing according to this embodiment.
- Single viewpoint image composition processing according to this embodiment Single viewpoint image composition processing according to this embodiment.
- FIG. 1 is a perspective view schematically showing an example of the structure of a display unit 300 in a stereoscopic image display apparatus capable of displaying a multi-viewpoint image generated by the multi-viewpoint image generation method according to the present embodiment.
- the display unit 300 includes a display device 301 and a lenticular plate 304 as a light beam control element disposed on the front surface of the display surface of the display device 301.
- the display device 301 for example, an LCD (Liquid Crystal Display) can be used.
- sub-pixels 302 having an aspect ratio of 3: 1 are arranged in a line in a straight line in the horizontal direction.
- the sub-pixels 302 are arranged in a matrix so that red (R), green (G), and blue (B) are alternately arranged in the horizontal direction in the same row.
- the sub-pixels 302 are aligned in a straight line in the vertical direction.
- Each sub-pixel 302 is arranged so that R, G, and B are alternately arranged in the same column. Note that the vertical period (3Pp) of the sub-pixel row is three times the horizontal period Pp of the sub-pixel 302.
- one effective pixel has three sub-pixels 302 of RGB arranged side by side. Since the minimum unit in which luminance and color can be arbitrarily set is configured, the sub-pixel 302 has an aspect ratio of 3: 1.
- one effective pixel is configured by three vertical RGB sub-pixels 302, and one unit pixel group 303 (a frame in FIG. 1 is surrounded by nine effective pixels adjacent in the horizontal direction). Is shown).
- the unit pixel group 303 is a pixel group on which images of pixels at the same position in a plurality of single-viewpoint images constituting a multi-viewpoint image are displayed. That is, the unit pixel group 303 displays a set of pixel data that generates parallax.
- the cylindrical lens 305 constituting the lenticular plate 304 is disposed almost in front of the unit pixel group 303.
- the horizontal pitch (Ps) of the cylindrical lenses 305 is nine times the horizontal period (Pp) of the sub-pixels arranged in the display surface.
- Ps horizontal pitch
- Pp horizontal period
- the sub-pixel 302 that appears to be enlarged through the cylindrical lens is switched according to the change in the observation position of the horizontal position.
- the multi-viewpoint composite image here refers to an image obtained by interleaving a plurality of single-viewpoint images with respect to corresponding pixels to form one image.
- a multi-viewpoint image displayed on the display unit 300 having the structure illustrated in FIG. 1 will be described with reference to FIG.
- the multi-viewpoint image is an intermediate image in which single-viewpoint images from different viewpoints # 0 to # 8 are arranged in a predetermined format (for example, a tile shape).
- the arrangement of the single viewpoint images in the intermediate image is not limited to the tile shape illustrated in FIG.
- the single viewpoint images may be arranged in a line. Other arrangements may be used as long as a plurality of single-view images constituting a multi-view image can be handled together.
- An intermediate image in which single-viewpoint images of each viewpoint constituting one multi-viewpoint image are arranged in a tile shape is a compression encoding method (for example, MPEG (Moving Pictures Experts Group) method or JPEG ( (Joint Photographic Experts Group) method) can be applied.
- the pixels 201A to 201I at the same position in each tile are displayed on nine effective pixels (FIG. 1) in one unit pixel group 303, respectively.
- a single viewpoint image 260 illustrated in FIG. 3A has image information as luminance Y and color difference UV components or color components of three primary colors RGB for each pixel and attribute information A.
- the attribute information A includes an ⁇ value indicating opacity for each pixel.
- the ⁇ value indicates that when the range is 0 ⁇ ⁇ ⁇ 1, the value is 0 and the pixel is transparent, and the value is 1 and the pixel is completely opaque.
- the object 261 is set to a value other than 0, such as 1, for the ⁇ value of the constituent pixels. Pixels in the region 262 other than the object 261 of the single viewpoint image 210 are transparent regions with the ⁇ value set to 0.
- an image is synthesized using this ⁇ value.
- the image information is expressed by the luminance Y and the color difference UV component
- the luminance of the pixel n of the first image as the foreground is the luminance Y 1
- a predetermined ⁇ value is set for the pixel.
- the luminance Y 2 of the luminance of pixels m corresponding position to the pixel n is obtained by, for example, the following formula (1) when 0 ⁇ ⁇ ⁇ 1. .
- Such image composition using the ⁇ value is called alpha blending.
- Y (1 ⁇ ) ⁇ Y 2 + ⁇ ⁇ Y 1 (1)
- FIG. 3B shows an example in which a plurality of single-view images 260 and 263 each having an area with pixels in which the ⁇ value is set to 0 are superimposed and synthesized.
- FIG. 3C illustrates an example in which the single viewpoint images 260 and 263 illustrated in FIG. 3B are synthesized.
- An object 261 of the single-viewpoint image 260 before the combination is arranged with respect to the combined single-viewpoint image 266.
- the object 264 of the single viewpoint image 263 synthesized from the back side with respect to the single viewpoint image 260 passes through the transparent region 262 in the single viewpoint image 260 (before synthesis) on the near side and is arranged in the single viewpoint image 266. Is done.
- the first to third methods for drawing a multi-viewpoint image by CG in a tile shape will be described in detail.
- an object (character) expressed by a polygon mesh or the like is drawn in real time from a plurality of viewpoints.
- Interactive display is possible by changing the shape of the polygon in real time.
- This method is suitable for applications that require high interactivity, such as home video game software.
- the amount of processing is large, it is difficult to draw a high-quality multi-viewpoint image in real time, that is, in a limited time.
- a multi-viewpoint image created in advance is pasted on a quadrilateral polygon and drawn in real time from a plurality of viewpoints. For drawing each viewpoint, an image corresponding to the corresponding viewpoint is selected from the multi-viewpoint images and pasted as a texture on the quadrilateral polygon. That is, a texture that varies depending on the viewpoint is pasted on the quadrilateral polygon.
- This second method is called multi-view sprite.
- Multi-view sprites are not suitable for expressing interactivity such as changing the character's actions in response to user operations.
- a built-in high-quality multi-viewpoint image can be drawn at high speed, which is suitable for applications such as movies.
- different parallax can be given to each pixel of the image of each viewpoint, so that it is possible to reproduce the stereoscopic effect (bulge or dent) of the object drawn in the multi-viewpoint image.
- a large-capacity memory is required.
- a single single-viewpoint image created in advance is pasted on a quadrilateral polygon and drawn in real time from a plurality of viewpoints.
- a single viewpoint image drawn from a certain viewpoint is pasted as a texture on a quadrilateral polygon. That is, the same texture is pasted on the quadrilateral polygon at all viewpoints.
- This third method is called single viewpoint sprite.
- the single viewpoint sprite In this single viewpoint sprite, all pixels of the image at each viewpoint have the same parallax. The stereoscopic effect of the object itself displayed by the multi-viewpoint image cannot be reproduced.
- the single viewpoint sprite can express the planar depth of the entire object, that is, the depth (depth) when it is arranged as an image plane in a three-dimensional space.
- the single-view sprite requires less memory consumption than the multi-view sprite.
- interactivity is expressed by drawing a large number of objects in advance as separate images and overlaying them at an arbitrary timing and presenting them to the viewer.
- an LSI capable of drawing a three-dimensional CG is used. That is, a single-viewpoint image is pasted on a quadrilateral polygon and sequentially shifted in the horizontal direction for rendering at high speed, and is performed by hardware using a three-dimensional CG LSI.
- a 3D CG LSI is used for drawing equivalent to the single-view sprite described with reference to FIG. Is possible.
- gaming machines installed in amusement facilities are often equipped with two-dimensional CG LSIs with lower cost and lower power consumption.
- one single-viewpoint image 210 drawn in advance is shifted in the vertical and horizontal directions, and copied to the tiles 212A to 212I of the viewpoints # 0 to # 8 in the tile-shaped multi-viewpoint image 211, respectively.
- the shift direction and the shift amount are changed depending on the viewpoint (copy destination tile) and the depth amount (position in the depth direction) in which the object based on the single-viewpoint image 210 is arranged.
- This single-view sprite according to this embodiment is hereinafter referred to as a two-dimensional single-view sprite.
- a single viewpoint image 250 from the central viewpoint is created in a size larger than each of the tiles 212A to 212I.
- An image having a tile size is cut out from the single viewpoint image 250, and the cut-out image is copied to the tile.
- cropping an image by shifting the cropping position in the vertical and horizontal directions according to the viewpoints # 0 to # 8, an image in which the same image is drawn from different viewpoints can be obtained.
- the image is shifted by moving the effective display range in the image.
- an image 251 having a tile size is cut out from a central portion of the single viewpoint image 250 having a size larger than the tile in the horizontal direction. .
- a single viewpoint image 210 of the central viewpoint can be obtained.
- the image 252 having the size of the tile is cut out from the center of the single viewpoint image 250 in the horizontal direction (right direction in this example) with the position shifted by the vector v 1 according to the viewpoint and the depth amount as the center.
- a single viewpoint image whose viewpoint is shifted in the horizontal direction is obtained.
- the single viewpoint image obtained in this way is copied to the corresponding viewpoint tile among the tiles 212A to 212I.
- the image of the size of the tile is cut out from the center of the single viewpoint image that is larger in size in the vertical direction than the tile, with the position shifted in the vertical direction by a vector corresponding to the viewpoint and the depth amount.
- a single-viewpoint image whose viewpoint is shifted in the vertical direction can be obtained.
- by combining the method for generating a single-viewpoint image whose viewpoint is shifted in the vertical direction and the method for generating a single-viewpoint image whose viewpoint is shifted in the horizontal direction described above it is possible to deal with parallax in any direction. it can.
- each of a plurality of single viewpoint images in which an image (object) at the central viewpoint is drawn in advance is copied to each tile of the tile-shaped multi-viewpoint image while being shifted according to the depth amount and the viewpoint.
- the single-viewpoint image 230A is shifted according to the depth amount and the viewpoints # 0 to # 8, respectively, and the tiles 232A to 232I of the tiled multi-viewpoint image 231 are respectively make a copy.
- the single-viewpoint image 230B is shifted according to the depth amount and the viewpoints # 0 to # 8, respectively, and the tiles 232A to 232I of the tiled multi-viewpoint image 231 are shifted. make a copy.
- each image to be copied to each of the tiles 232A to 232I is combined with each image already copied to each of the tiles 232A to 232I by alpha blending based on the ⁇ value.
- the single viewpoint images 230C to 230E are similarly shifted and shifted in accordance with the depth amount, and copied and combined for each tile of the tiled multi-viewpoint image. To do.
- multi-view images 230A to 230E are moving images synchronized with each other, a copy of each tiled multi-view image from each of the multi-view images 230A to 230E is within at least one frame period of the moving image. It is necessary to complete with.
- the two-dimensional single-view sprite according to the present embodiment shifts the position where the image to be copied from the original image to the tile is clipped according to the viewpoint and the depth amount. Even a two-dimensional CG LSI can be easily realized.
- this two-dimensional single-view sprite there is a problem that the number of copies of a single-viewpoint image increases as the number of objects to be displayed increases. Therefore, when the number of objects to be displayed increases, the drawing speed of the multi-viewpoint image becomes slow. For example, the display may be delayed or the load on the system may increase.
- FIG. 13 is a functional block diagram illustrating an example of functions of the multi-viewpoint image generation apparatus 100 that executes the multi-viewpoint image generation method according to the present embodiment.
- the multi-viewpoint image generation device 100 includes an input unit 110, a single-viewpoint image storage unit 111, a depth information storage unit 112, a single-viewpoint image synthesis unit 113, a shift information acquisition unit 114, and a shift information storage.
- the control unit 119 controls each unit of the multi-viewpoint image generation device 100.
- a plurality of single viewpoint images in which an object is drawn in advance and a depth value indicating the depth amount of each object are input to the input unit 110.
- the single viewpoint image and the depth value may be input to the input unit 110 from a hard disk or a volatile or nonvolatile memory, or may be input from an image generation device such as a camera. It may be input via a decoder such as an image reproducing device.
- the single-viewpoint image and the depth value can be input as separate data if the correspondence between them is clear.
- the depth value may be included in the attribute information A of the corresponding single viewpoint image and input.
- objects 271A, 271B, and 271C are drawn for single viewpoint images 270A, 270B, and 270C, respectively.
- the object 271A is arranged on the front side
- the object 271C is arranged on the back side.
- the object 271B is disposed between the objects 271A and 271C.
- the depth amount of the object 271A arranged on the front side is the smallest and the smallest depth value is set. Further, the depth amount increases with increasing depth, and a larger depth value is set.
- a plurality of single viewpoint images input to the input unit 110 are stored in the single viewpoint image storage unit 111.
- the single-viewpoint images are stored in the single-viewpoint image storage unit 111 in such a way that the depth values of the drawn objects are arranged in the arrangement order from the back side toward the front side.
- the present invention is not limited to this, and each single-viewpoint image may be stored so that depth values are arranged from the front side toward the back side.
- the input unit 110 can control the address of the single-viewpoint image storage unit 111 to store the input single-viewpoint image at an address corresponding to the depth value.
- the plurality of depth values input to the input unit 110 are stored in the depth information storage unit 112.
- the depth values of the object being drawn are aligned and stored in the depth information storage unit 112 so that the depth values of the drawn object are arranged in the arrangement order from the back side to the front side.
- the present invention is not limited to this, and the depth values may be arranged from the front side toward the back side.
- the depth values are sorted and stored in the depth information storage unit 112 according to the depth value.
- the arrangement order of the depth values is sorted so as to correspond to the arrangement order of the objects in the single-viewpoint image storage unit 111 described above.
- the depth value is associated with each of the plurality of single-viewpoint images stored in the single-viewpoint image storage unit 111 according to the arrangement order in the depth information storage unit 112.
- the single viewpoint image composition unit 113 sequentially reads single viewpoint images from the single viewpoint image storage unit 111 from the top.
- the single viewpoint image synthesis unit 113 sequentially reads the depth values from the depth information storage unit 112 from the top.
- the single-viewpoint image combining unit 113 combines single-viewpoint images having the same depth value and outputs the combined single-viewpoint images.
- the synthesis process is performed, for example, by alpha blending based on the ⁇ value. When only one single viewpoint image corresponds to the depth value, the single viewpoint image is output as it is.
- the output synthesized single-viewpoint image or a single-view image from a single viewpoint image synthesis unit 113 is a single-viewpoint image shift unit 116 1 provided the number n of viewpoints, 116 2, ..., it is supplied to 116 n.
- the single-viewpoint image synthesis unit 113 outputs a single-viewpoint image and supplies a depth value corresponding to the single-viewpoint image to be output to the shift information acquisition unit 114.
- the shift information acquisition unit 114 refers to the shift information storage unit 115 based on the supplied depth value, and acquires the shift vectors of the viewpoints # 0 to #n corresponding to the depth value.
- the obtained shift vectors of the viewpoints # 0 to #n are supplied to the single viewpoint image shift units 116 1 , 116 2 ,.
- the single viewpoint image shift units 116 1 , 116 2 ,..., 116 n constitute a multi-viewpoint image generation unit 130 that generates a tiled multi-viewpoint image.
- FIG. 15 shows an example of the configuration of the shift information storage unit 115.
- the shift information storage unit 115 stores a shift information table 120.
- a shift vector representing a shift amount and a shift direction of a single viewpoint image is stored in advance for each viewpoint # 0 to # 8 and for each depth value.
- the shift vector is, for example, a two-dimensional vector that indicates the direction of shifting the single-viewpoint image when copying the single-viewpoint image from the central viewpoint to the tiles of the respective viewpoints constituting the multi-viewpoint image.
- the magnitude represents the shift amount.
- the shift vector differs depending on the viewpoint and the depth value indicating the depth amount for arranging the object.
- the shift information table is configured so that the shift vector of each viewpoint # 0 to #n can be referred to by using the depth value as an index.
- Each of the single-viewpoint image shift units 116 1 to 116 n provided as many as the number of viewpoints n is supplied from the single-viewpoint image synthesis unit 113 based on the shift vector supplied from the shift information acquisition unit 114. Shift single-viewpoint images. For example, the method described with reference to FIG. 7 is used for the shift.
- the single-viewpoint images shifted by the single-viewpoint image shift units 116 1 to 116 n are respectively supplied to the subsequent multi-viewpoint image storage unit 117 and copied to the corresponding viewpoint tiles in the tiled multi-viewpoint images.
- composition by alpha blending can be performed. Thereby, a multi-viewpoint image based on the single-viewpoint image input to the input unit 110 is generated.
- the multi-viewpoint image stored in the multi-viewpoint image storage unit 117 is supplied to the presentation unit 118.
- the presentation unit 118 outputs the multi-viewpoint image supplied from the multi-viewpoint image storage unit 117 to the stereoscopic image display device.
- the presentation unit 118 interleaves and outputs the single-viewpoint images of each tile constituting the multi-viewpoint image for each unit pixel group 303.
- the presentation unit 118 may record the multi-viewpoint image supplied from the multi-viewpoint image storage unit 117 on a recording medium, or may transmit it to other devices via a network or a serial interface. .
- a multi-viewpoint image interleaved for each unit pixel group 303 may be printed out by a printer.
- the single-viewpoint image combining unit 113 combines the single-viewpoint images of the objects arranged at the same depth into one image, and then the one image according to the depth amount. Shift and copy to each tile of the tiled multi-viewpoint image.
- the single-viewpoint image synthesizing unit 113 first reads the first single-viewpoint image from the single-viewpoint images stored in the single-viewpoint image storage unit 111 in the order of the depth values. At the same time, the single-viewpoint image synthesizing unit 113 reads from the depth information storage unit 112 the first depth value among the depth values that are arranged and stored in the depth value order.
- the single-viewpoint image synthesis unit 113 reads the second depth value from the depth information storage unit 112.
- the single-viewpoint image synthesis unit 113 compares the second depth value with the previously read depth value, and if it is determined that both are the same based on the comparison result, the single-viewpoint image storage unit 111
- the second single-viewpoint image is read out and synthesized with the previously read single-viewpoint image to generate a new single-viewpoint image.
- the single-viewpoint image synthesizing unit 113 reads the third depth value from the depth information stored in the depth information storage unit 112 in the order of the depth values.
- the single-viewpoint image synthesizing unit 113 compares the third depth value with the previously read second depth value, and if it is determined that they are the same based on the comparison result, the single-viewpoint image storage unit 111.
- the third single-viewpoint image is read out and combined with the single-viewpoint image synthesized immediately before to generate a new single-viewpoint image.
- the single-viewpoint image synthesis unit 113 repeats the above processing until the depth value read from the depth information storage unit 112 is different from the depth value read immediately before. Thereby, the single viewpoint image of the object arrange
- the subsequent single-viewpoint image shift unit 116 1, 116 2, ..., viewpoint among 116 n are supplied to the single-view image shift unit corresponding, according to the viewpoint and depth value Shifted.
- FIG. 16 shows an exemplary hardware configuration of an image processing apparatus 400 to which the multi-viewpoint image generation apparatus 100 according to the present embodiment can be applied.
- an image processing apparatus 400 includes a CPU (Central Processing Unit) 401, a GPU (Graphic Processing Unit) 402, a ROM (Read Only Memory) 403, a RAM (Random Access Memory) 404, and a VRAM (Video RAM) 405. .
- CPU Central Processing Unit
- GPU Graphic Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- VRAM Video RAM
- the CPU 401 corresponds to the control unit 119 shown in FIG. 13 and controls the operation of the image processing apparatus 400.
- the CPU 401 uses the RAM 404 as a work memory for control.
- a program for operating the CPU 401 is stored in the ROM 403 in advance. This program is not limited to being stored in the ROM 403 in advance, but may be supplied to the image processing apparatus 400 by other methods such as a disk storage medium, a removable and non-volatile semiconductor memory, or a network. Good.
- the CPU 401 passes a command to the GPU 402 according to the program.
- the GPU 402 is a processor designed exclusively for image processing.
- the GPU 402 operates in accordance with a command from the CPU 401 and has a function of executing image processing at high speed.
- the GPU 402 performs processing on the image data written in the VRAM 405 in accordance with a command from the CPU 401.
- FIG. 16 it is assumed that the GPU 402 is particularly adapted to the processing for two-dimensional image data.
- the CPU 401 sends a command to the GPU 402 according to the program, and sends the GPU 402 to the above-described units (single-viewpoint image synthesis Unit 113, shift information acquisition unit 114, and single viewpoint image shift units 116 1 to 116 n ).
- the moving image data compressed and encoded by the H.264 / AVC format is decoded by the decoder 450 and input to the image processing apparatus 400 as YUVA image data composed of each component of luminance Y and color difference UV and attribute information A.
- the attribute information A includes an ⁇ value and a depth value.
- the present invention is not limited to this, and the depth value may be input to the image processing apparatus 400 as another data in synchronization with the output of the decoder 450.
- the YUVA image data input to the image processing apparatus 400 is temporarily stored in the area 410 of the RAM 404. Thereafter, the YUVA image data is transferred to the VRAM 405 under the control of the CPU 401.
- the YUVA image data transferred to the VRAM 405 is written in the area 411 of the VRAM 405.
- This area 411 corresponds to the single viewpoint image storage unit 111 and the depth information storage unit 112 in the functional block diagram of FIG. 13 described above.
- the GPU 402 converts the YUVA image data into RGBA image data including each component of the three primary colors RGB and the attribute information A in accordance with a command from the CPU 401.
- the GPU 402 writes the RGBA image data into the work buffer 412 that is an area on the VRAM 405. Although details will be described later, at this time, the GPU 402 performs the above-described single-viewpoint image synthesizing process with the same depth value in accordance with the command of the CPU 401.
- the shift information table 120 is written in the VRAM 405.
- the shift information table 120 is stored in advance in the ROM 403, for example.
- the shift information table 120 is read from the ROM 403 when the image processing apparatus 400 is activated, and written to the VRAM 405 via the RAM 404.
- the GPU 402 obtains a shift vector at the viewpoint to copy in accordance with a command from the CPU 401.
- the GPU 402 refers to the shift information table 120 using the depth value corresponding to the single viewpoint image written in the work buffer 412 as an index.
- the GPU 402 shifts the single-viewpoint image written in the work buffer 412 according to the shift vector corresponding to the viewpoint and the depth value in accordance with the command of the CPU 401.
- the GPU 402 copies to the tile corresponding to the viewpoint among the tiles 414A to 414I of the tiled multi-viewpoint image in the region 413 of the VRAM 405.
- the GPU 402 that operates according to the command of the CPU 401 corresponds to the single-viewpoint image synthesis unit 113, the shift information acquisition unit 114, and the single-viewpoint image shift units 116 1 to 116 n illustrated in FIG.
- An area 413 in the VRAM 405 corresponds to the multi-viewpoint image storage unit 117 illustrated in FIG.
- FIG. 17A and FIG. 17B are flowcharts illustrating an example of single-viewpoint image synthesis processing according to the present embodiment. Each process shown below is executed by the GPU 402 according to a command of the CPU 401 based on a program, for example.
- the object of the single viewpoint image output from the decoder 450 is input to the image processing apparatus 400 and temporarily stored in the area 410 of the RAM 404.
- the decoder 450 can output, for example, a plurality of single-viewpoint images in one frame period of the moving image, and the plurality of single-viewpoint images are arranged in the order from the depth side to the front side in the depth value order. Output.
- step S ⁇ b> 10 the GPU 402 inputs a single viewpoint image of the first object from the area 410 of the RAM 404.
- the single-viewpoint image of the first object is converted into RGBA image data via the area 411 of the VRAM 405 and written into the work buffer 412.
- the depth value corresponding to the first single-viewpoint image is acquired and set as the depth value depth1.
- the GPU 402 acquires the depth value from the attribute information A of the RGBA image data based on the single viewpoint image.
- the GPU 402 determines whether there is a single viewpoint image of the next object. For example, the CPU 401 monitors the state of the area 410 in the RAM 404. It is determined whether or not there is a single-viewpoint image of the next object in the area 410, and the determination result is notified to the GPU 402. If there is a single viewpoint image of the next object, the process proceeds to step S ⁇ b> 12, and the depth value of the single viewpoint image of the next object is acquired by the GPU 402. For example, the CPU 401 extracts the attribute information A in the single viewpoint image of the next object stored in the area 410 and passes it to the GPU 402. The depth value acquired in step S12 is set as a depth value depth2.
- step S13 it is determined whether or not the depth value depth1 and the depth value depth2 are the same. If they are the same, the process proceeds to step S14.
- step S14 the GPU 402 synthesizes the single viewpoint image of the object having the depth value depth2 with the single viewpoint image written in the work buffer 412 using alpha blending or the like. The ⁇ value is extracted from the attribute information A of the single viewpoint image. Then, in the next step S15, the depth value depth2 is substituted for the depth value depth1, and the process returns to step S11.
- step S16 the single viewpoint image written in the work buffer 412 is shifted in accordance with the viewpoint and the depth value, and copied to each tile 414A to 414I of the tiled multi-viewpoint image. Details of the processing in step S16 will be described later.
- step S17 the GPU 402 reads out the single viewpoint image of the object having the depth value depth ⁇ b> 2 from the area 410 of the RAM 404 and inputs it to the VRAM 405.
- the single-viewpoint image of the object having the depth value depth2 is converted into RGBA image data via the area 411 and written to the work buffer 412.
- step S15 the depth value depth2 is substituted for the depth value depth1, and the process returns to step S11.
- step S18 the process in step S18 is the same as the process in step S16 described above. That is, in step S18, the single viewpoint image written in the work buffer 412 is shifted according to the viewpoint and the depth value, and is copied to each tile 414A to 414I of the tiled multi-viewpoint image. Details of the processing in step S18 will be described later.
- FIG. 17B is a flowchart showing an example of the process of copying the single-viewpoint image to each tile of the tiled multi-viewpoint image in steps S16 and S18 described above.
- a single viewpoint image corresponding to the depth value depth1 is a processing target.
- the number of viewpoints is n.
- Each process shown below is executed by the GPU 402 according to a command of the CPU 401 based on a program, for example.
- the loop variable i is initialized to 0.
- the GPU 402 selects the viewpoint #i.
- the GPU 402 refers to the shift information table 120 using the depth value depth1 as an index, and acquires the shift vector of the viewpoint #i.
- the GPU 402 shifts the single viewpoint image written in the work buffer 412 according to the shift vector acquired in step S22.
- the shifted single viewpoint image is copied to the tile of viewpoint #i of the tiled multi-viewpoint image.
- the single-viewpoint image is combined with the image using alpha blending or the like.
- step S23 the single viewpoint image is copied to the tile.
- step S24 1 is added to the loop variable i.
- step S25 the GPU 402 determines whether or not the loop variable i and the number of viewpoints n are equal. If it is determined that they are equal, it is determined that all the viewpoints have been processed, the process of the flowchart of FIG. 17B is exited, and the process returns to the process of the flowchart of FIG. 17A described above. On the other hand, if the loop variable i is different from the number of viewpoints n and it is determined that the processing has not been completed for all viewpoints, the processing is returned to step S21, and the processing is performed for the next viewpoint.
- single viewpoint images 250A to 250E of the central viewpoint by different objects are input to the image processing apparatus 400.
- the depth value of the single-viewpoint image 250A is 1.0
- the depth values of the single-viewpoint images 250B, 250C, and 250D are 0.5
- the depth value of the single-viewpoint image 250E is 0.2.
- Single viewpoint images 250A to 250E are sequentially input to the image processing apparatus 400 and buffered in the area 410 of the RAM 404.
- the GPU 402 reads out the single-viewpoint image 250A of the first object from the area 410, inputs it into the VRAM 405, and writes it into the work buffer 412.
- the shift vector of the viewpoint # 0 is acquired using the depth value depth1 as an index (steps S21 and S22), and an image obtained by shifting the single viewpoint image 250A, for example, in the horizontal direction according to the acquired shift vector is generated. Then, the generated image is written into the tile 414A at the viewpoint # 0 in the area 413 in the VRAM 405 (step S23). This process is performed for each of the remaining viewpoints # 1 to # 8 (steps S24 and S25).
- the GPU 402 reads the single viewpoint image 250C from the area 410 of the RAM 404.
- the single viewpoint image 250C and the single viewpoint image 250B written in the work buffer 412 are combined by alpha blending based on the ⁇ value to generate a combined single viewpoint image 253 (step S14 in FIG. 17A).
- the GPU 402 reads the single viewpoint image 250D from the area 410 of the RAM 404.
- the single-viewpoint image 250D and the combined single-viewpoint image 253 written in the work buffer 412 are combined by alpha blending based on the ⁇ value, and the combined single-viewpoint image 253 is updated (step S14 in FIG. 17A). That is, the combined single viewpoint image 253 is a combination of the single viewpoint images 250B, 250C, and 250D based on the central viewpoint of the object.
- the GPU 402 sets the depth value depth2 as a new depth value depth1 (step S15).
- the GPU 402 converts the combined single viewpoint image 253 written in the work buffer 412 into a depth value and a viewpoint for each tile 414A to 414I of the tiled multi-viewpoint image. In response, the data is shifted and copied (steps S13 and S16 in FIG. 17A).
- the single viewpoint image 250A has already been shifted and written in accordance with the depth value and the viewpoint.
- the GPU 402 copies the combined single-viewpoint image 253 to each of the tiles 414A to 414I
- the GPU 402 applies alpha to the single-viewpoint image 250A of each viewpoint that has already been written based on the ⁇ value.
- Each is synthesized by blending.
- the GPU 402 reads the single viewpoint image 250E corresponding to the depth value depth2 from the area 410 of the RAM 404, and writes it in the work buffer 412 (step S17 in FIG. 17A). Note that the combined single-viewpoint image that has been copied to each of the tiles 414A to 414I is discarded from the work buffer 412, for example.
- the GPU 402 changes the single viewpoint image 250E written in the work buffer 412 to each tile 414A to 414I of the tiled multi-viewpoint image according to the depth value and the viewpoint.
- the data is shifted and copied (step S18 in FIG. 17A).
- the single-viewpoint image 250A and the combined single-viewpoint image 253 are already shifted according to the depth value and the viewpoint, and are combined and written for each viewpoint.
- the GPU 402 copies the single viewpoint image 250E to each of the tiles 414A to 414I, as illustrated in FIG. 20, the GPU 402 converts the single viewpoint image 250E of each viewpoint into a combined single viewpoint image of each viewpoint that has already been written.
- they are synthesized by alpha blending based on the ⁇ value. When the synthesis is performed, a series of processing is terminated.
- single viewpoint images of objects having the same depth value are combined and combined into one combined single viewpoint image.
- the synthesized single-viewpoint image is shifted according to the depth value and the viewpoint, and is copied to each tile of the tiled multi-viewpoint image. Therefore, the number of times that the single-viewpoint image is copied to each tile of the tiled multi-viewpoint image can be greatly reduced. As a result, a multi-viewpoint image including a large number of objects can be drawn at high speed.
- the number of copies is the number of single-viewpoint images ⁇ the number of viewpoints n.
- the number of copies increases as the number of objects increases and the number of single viewpoint images increases. As the number of viewpoints increases, the increase in the number of copies becomes more remarkable.
- the single viewpoint images 250B to 250D having the same depth value are copied when the single viewpoint images 250B to 250D are combined.
- the total number of times is 12 times, that is, 3 times, and 9 times of copying times when the composite single-viewpoint image is copied to each tile of the tiled multi-viewpoint image. This is much less than the copy count of 27 (3 ⁇ 9) when copying to each tile for each single viewpoint image.
- only 30 times (12 times + 2 ⁇ 9 times) are required, which is much less than 45 times, and the number of times of copying is greatly reduced.
- multi-view image generation device 111 single-view image storage unit 112 depth information storage unit 113 single-view image synthesis unit 114 shift information acquisition unit 115 shift information storage units 116 1 to 116 n single-view image shift unit 117 multi-view image storage unit 120 Shift information tables 200, 211, 231, 251 Multi-viewpoint images 212A to 212I Tile 232A to 232I Tile 252A to 252I Tile 300 Display unit 400 Image processing device 401 CPU 402 GPU 403 ROM 404 RAM 405 VRAM 412 Work buffer
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Image Processing (AREA)
Abstract
中央の視点からオブジェクトが描画された単視点画像を、視点およびデプスに応じたシフトベクトルに基づきシフトさせ、タイル状の多視点画像の視点に対応するタイルにコピーする。デプスおよび視点が同じであれば、シフトベクトルも同じとなるため、デプスが同じ単視点画像を、先ず1の単視点画像に合成され、合成された単視点画像をシフトベクトルに基づきシフトして、タイル状の多視点画像の各タイルにコピーする。デプスが同じ複数の単視点画像を1の単視点画像に合成してから、タイル状の多視点画像の各タイルにコピーするため、コピー回数が大幅に削減され、多視点画像の描画が高速化される。
Description
本発明は、多視点画像の生成方法に関する。
従来から、インテグラルイメージング方式などにより多視点画像を用いて立体画像を表示させる場合、多視点画像を構成する複数の単視点画像をタイル状に配置して1の中間画像を形成する。中間画像に対して符号化などの処理を施す。表示の際には、中間画像の画素配列を並べ替えて、単視点画像の位置が対応する画素に対してインターリーブされた多視点合成画像に変換する(特許文献1)。この手法は、CG(コンピュータグラフィックス)の立体画像を描画する際にも用いて好適である(特許文献2)。
CGを描画するには、予めオブジェクトを描画した多視点画像を四角形ポリゴンに貼り付けて、複数の視点からリアルタイムに描画する(特許文献3)。
しかし、複数の視点における複数の単視点画像を、多視点画像の各タイルに描画する処理が発生する。立体画像として表示するオブジェクトの数が増加するに連れ、当該オブジェクトの単視点画像が増加してタイル状の多視点画像への描画回数が増加し、多視点画像の描画速度が遅くなってしまう。
本発明は、上記に鑑みてなされたものであって、多視点画像の描画をより高速に行うことができる多視点画像生成方法および装置を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、複数の画像それぞれに対応付けられた、画像の奥行き方向の位置を示すデプス値に基づき、複数の画像のうちデプス値が同一の画像を1の画像に合成する合成ステップと、合成ステップで合成された画像を、それぞれ異なる視差を与える複数の視点毎に、視点と画像に対応するデプス値とに応じたシフトベクトルに従い、シフトベクトルが示す方向および量でシフトさせて視差を与えた画像を生成するシフトステップと、シフトステップでシフトされた複視差を与えた画像を予め決められたフォーマットで配置した多視点画像を生成する生成ステップとを有することを特徴とする。
本発明によれば、単多視点画像の描画をより高速に行うことができるという効果を奏する。
以下に添付図面を参照して、この発明に係る画像処理方法の一実施の形態を詳細に説明する。先ず、本実施の形態に係る多視点画像生成方法により生成された多視点画像を表示可能な立体画像表示装置について説明する。
図1は、本実施の形態に係る多視点画像生成方法により生成された多視点画像を表示可能な立体画像表示装置における表示部300の構造の一例を概略的に示した斜視図である。ここでは、視点数n=9として説明する。図1に例示されるように、表示部300は、表示デバイス301と、当該表示デバイス301の表示面の前面に配置された光線制御素子としてのレンチキュラー板304とを備える。表示デバイス301としては、例えばLCD(Liquid Crystal Display)を用いることができる。
表示デバイス301の表示面には、縦横比が3:1のサブ画素302が横方向に直線状に1行に並んでいる。各サブ画素302は同一行内で横方向に赤(R)、緑(G)、青(B)が交互に並ぶようにマトリクス状に配列されている。一方、サブ画素302は、垂直方向にも直線上に一列に並んでいる。各サブ画素302は、同一列内でR、G、Bが交互に並ぶように配列されている。なお、サブ画素行の縦周期(3Pp)は、サブ画素302の横周期Ppの3倍である。
一般的なカラー画像表示装置において1実効画素は、横に並んだRGBの3個のサブ画素302を有する。輝度と色とが任意に設定できる最小単位が構成されることから、サブ画素302は縦横比が3:1となっている。図1の表示面では、縦に並んだRGBの3個のサブ画素302で1実効画素が構成され、水平方向に隣接する9の実効画素で、1の単位画素群303(図1において枠を付して示す)が構成される。
なお、単位画素群303は、多視点画像を構成する複数の単視点画像における同一位置の画素による画像が表示される画素群である。すなわち、単位画素群303は、視差を発生させる1組の画素データが表示される。
レンチキュラー板304を構成するシリンドリカルレンズ305は、単位画素群303のほぼ正面に配置される。なお、図1の例では、シリンドリカルレンズ305の水平ピッチ(Ps)は、表示面内に配列されたサブ画素の横周期(Pp)の9倍となっている。このような構成により、シリンドリカルレンズ越しに拡大されて見えるサブ画素302が、水平位置の観察位置の変動に応じて切り替わる。各単位画素群303に表示される多視点合成画像の見え方が切り替わることで、観察者に立体映像を視認させることができる。なお、ここでいう多視点合成画像は、複数の単視点画像の位置が対応する画素に対してインターリーブされて1の画像とされたものをいう。
図2を用いて、図1に例示した構造の表示部300に表示させる多視点画像について説明する。図2は、視点数n=9である多視点画像の例である。多視点画像は、それぞれ異なる視点#0~#8による単視点画像を所定フォーマット(例えばタイル状)に配置した中間画像である。中間画像における単視点画像の配置は、図2に例示されるタイル状に限られない。例えば、各単視点画像を一列に並べてもよい。多視点画像を構成する複数の単視点画像を一纏まりに扱うことができれば、他の配置でもよい。
多視点画像の符号化、記憶、伝送および復号などの処理は、この中間画像に対して行われる。1の多視点画像を構成する各視点の単視点画像をタイル状に配置した中間画像は、画像の空間的な相関を利用した圧縮符号化方式(例えばMPEG(Moving Pictures Experts Group)方式やJPEG(Joint Photographic Experts Group)方式)の適用が可能となる。各タイルにおける同一位置の画素201A~201Iを、1の単位画素群303内の9の実効画素(図1)にそれぞれ表示させる。
図3A~図3Cを用いて、単視点画像上のオブジェクトの例について概略的に説明する。図3Aに例示される単視点画像260は、画像情報を、画素毎に輝度Yおよび色差UV成分、あるいは、三原色RGBによる各色成分として持つと共に、属性情報Aを持つ。属性情報Aは、画素毎に、不透明度を示すα値を含む。α値は、その範囲を0≦α≦1とするとき、値が0でその画素が透明であり、値が1でその画素が完全に不透明であることを示す。図3Aの例では、オブジェクト261は、構成する画素のα値が0以外の値、例えば1に設定される。単視点画像210のオブジェクト261以外の領域262の画素は、α値が0に設定され透明領域となっている。
このα値を用いて、画像の合成を行う。例えば、画像情報が輝度Yおよび色差UV成分で表現され、前景である第1の画像の画素nの輝度を輝度Y1とし、当該画素に所定のα値が設定されているものとする。また、背景である第2の画像における、画素nに位置が対応する画素mの輝度を輝度Y2とする。第1の画像と第2の画像とを合成した際の、画素nおよび画素mが合成された輝度Yは、0≦α≦1とするとき、例えば下記の式(1)のように求められる。このような、α値を用いた画像の合成を、アルファブレンディングと呼ぶ。
Y=(1-α)×Y2+α×Y1 …(1)
Y=(1-α)×Y2+α×Y1 …(1)
図3Bは、α値が0に設定されている画素による領域を持つ複数の単視点画像260および263を重ねて合成する例を示す。手前側の単視点画像260は、オブジェクト261を構成する画素がα=1とされ、オブジェクト261以外の領域262の画素がα=0とされる。単視点画像263についても同様に、オブジェクト264を構成する画素がα=1とされ、それ以外の領域265の画素がα=0とされている。
図3Cは、図3Bに例示する単視点画像260および263を合成した例を示す。合成された単視点画像266に対して、合成前の単視点画像260のオブジェクト261が配置される。それと共に、単視点画像260に対して背面側から合成される単視点画像263のオブジェクト264が、手前側の単視点画像260(合成前)における透明領域262を透過して単視点画像266に配置される。
CGによる多視点画像をタイル状に描画する第1~第3の方法について、詳細に説明する。第1の方法は、ポリゴンメッシュなどによって表現されたオブジェクト(キャラクタ)を、複数の視点からリアルタイムに描画する。ポリゴンの形状をリアルタイムで変えることで、インタラクティブな表示が可能である。この方法は、家庭用ゲームソフトなどの高いインタラクティビティが要求されるアプリケーションに適している。一方で、処理量が多いためリアルタイムすなわち限られた時間内に高画質な多視点画像を描画することが難しい。
第2の方法は、図4に例示するように、四角形ポリゴンに対して予め作成された多視点画像を貼り付けて、複数の視点からリアルタイムに描画する。各視点の描画は、多視点画像から該当する視点に対応する画像が選択されて、四角形ポリゴンにテクスチャとして貼り付けられる。すなわち、視点によって異なるテクスチャが四角形ポリゴンに貼り付けられる。この第2の方法を、多視点スプライトと呼ぶ。
多視点スプライトは、ユーザの操作に応じてキャラクタの動作を変えるなどのインタラクティビティを表現するには適していない。一方で、作り込まれた高画質な多視点画像を高速に描画することができ、ムービーなどの用途に適している。この多視点スプライトでは、各視点の画像の各画素に異なる視差を付けることができるため、多視点画像に描画されるオブジェクトの立体感(膨らみや凹み)を再現することが可能である。一方で、事前に描画した多視点画像を全てメモリに記憶しておく必要があるため、大容量のメモリを必要とする。
第3の方法は、図5に例示するように、予め作成した1の単視点画像を四角形ポリゴンに貼り付けて、複数の視点からリアルタイムに描画する。各視点の描画においては、ある1の視点(典型的には中央の視点)から描画された単視点画像が四角形ポリゴンにテクスチャとして貼り付けられる。すなわち、全ての視点において同じテクスチャが四角形ポリゴンに貼り付けられる。この第3の方法を、単視点スプライトと呼ぶ。
この単視点スプライトでは、各視点における画像の全ての画素が同一の視差となる。多視点画像により表示されるオブジェクト自体の立体感を再現することはできない。しかし、単視点スプライトでは、オブジェクト全体の平面的な奥行き、すなわち、3次元空間に画像面として配置するときのデプス(奥行き)を表現することが可能である。また、単視点スプライトは、多視点スプライトに比べてメモリ消費量が少なくて済む。
アミューズメント施設の遊技機などで用いるコンテンツでは、予め多数のオブジェクトを別々の画像として描画しておき、それらを任意のタイミングで重ね合わせて観察者へ提示することにより、インタラクティビティを表現している。
このようなコンテンツを、インテグラルイメージング方式(以下、II方式と略称する)などによる立体画像表示装置に表示する方法として、多視点スプライトを用いる方法が考えられる。しかし、既に述べたように、多視点スプライトはメモリ消費量が多い。多数のオブジェクトを全て多視点スプライトで描画すると、多くのメモリを消費するため現実的ではない。一方、多くのコンテンツにおいて、必ずしも全てのオブジェクトを立体的に表示する必要はない。したがって、例えばコンテンツを盛り上げたい場面で観察者の方向に飛び出して表示させたいオブジェクトだけを多視点スプライトで描画し、それ以外のオブジェクトを単視点スプライトで描画し、メモリ消費量と高いインタラクティビティを両立することができる。
<本発明の実施の形態>
次に、本発明の一実施形態について説明する。第3の方法による単視点スプライトの描画方法を実現するために、3次元CGを描画可能なLSIを用いる。すなわち、単視点画像を四角形ポリゴンに貼り付けて水平方向に順次ずらして描画する処理を高速に行うために、3次元CG用のLSIによりハードウェア的に行う。近年では、例えば大部分の家庭用ゲーム機器には3次元CG用のLSIが搭載されているので、図5を用いて説明した単視点スプライトと同等の描画に3次元CG用のLSIを用いることが可能である。
次に、本発明の一実施形態について説明する。第3の方法による単視点スプライトの描画方法を実現するために、3次元CGを描画可能なLSIを用いる。すなわち、単視点画像を四角形ポリゴンに貼り付けて水平方向に順次ずらして描画する処理を高速に行うために、3次元CG用のLSIによりハードウェア的に行う。近年では、例えば大部分の家庭用ゲーム機器には3次元CG用のLSIが搭載されているので、図5を用いて説明した単視点スプライトと同等の描画に3次元CG用のLSIを用いることが可能である。
一方、アミューズメント施設に設置される遊技機などには、より低コストで低消費電力な2次元CG用のLSIが搭載されていることが多い。本実施の形態では、このような2次元CG用のLSIでも単視点スプライトによる描画を行うことを可能とする。図6に例示するように、予め描画した1の単視点画像210を縦横方向にシフトさせて、タイル状の多視点画像211における各視点#0~#8によるタイル212A~212Iにそれぞれコピーする。
視点(コピー先のタイル)、ならびに、単視点画像210によるオブジェクトを配置するデプス量(奥行き方向の位置)によってシフトの方向とシフト量とを変える。これにより、タイルにコピーされた単視点画像に対し、図5の如く3次元CG用LSIを用いて異なる視点から描画する場合と同様の視差を与えることができる。この、本実施形態による単視点スプライトを、以下では、2次元単視点スプライトと呼ぶ。
図6を用いて説明したような、単視点画像210によるオブジェクトを縦横方向にシフトさせた画像を生成する一例の方法について、図7を用いて説明する。各タイル212A~212Iのそれぞれよりも大きなサイズで中央の視点からの単視点画像250を作成しておく。当該単視点画像250からタイルの大きさの画像を切り抜いて、切り抜いた画像をタイルにコピーする。画像を切り抜く際に、切り抜く位置を各視点#0~#8に応じて縦横方向にずらすことで、同一の画像を異なる視点から描画した画像を得ることができる。画像における有効な表示範囲を移動させることで、画像のシフトを行う。
表示部300が水平方向の視差に対応している場合、図7に例示されるように、タイルより水平方向にサイズの大きい単視点画像250の中央部分から、タイルの大きさの画像251を切り抜く。中央視点の単視点画像210を得ることができる。また、単視点画像250の中心から水平方向(この例では右方向)に、視点およびデプス量に応じたベクトルv1だけシフトさせた位置を中心としてタイルの大きさの画像252を切り抜く。水平方向に視点がシフトされた単視点画像を得る。こうして得られた単視点画像を、それぞれ各タイル212A~212Iのうち対応する視点のタイルにコピーする。
同様に、タイルより垂直方向にサイズが大きい単視点画像の中心から、垂直方向に、視点およびデプス量に応じたベクトルだけシフトさせた位置を中心としてタイルの大きさの画像を切り抜く。垂直方向に視点がシフトされた単視点画像を得ることができる。この場合は、垂直方向の視差に対応できる。また、この垂直方向に視点がシフトされた単視点画像の生成方法と、上述した水平方向に視点がシフトされた単視点画像の生成方法とを組み合わせることで、任意の方向の視差に対応可能にできる。
ここで、この本実施形態による2次元単視点スプライトによる描画を複数のオブジェクトに対して行う場合について、図8~図12を用いて説明する。例えば中央の視点の画像(オブジェクト)が予め描画された複数の単視点画像のそれぞれを、タイル状の多視点画像の各タイルに対し、デプス量および視点に応じてそれぞれシフトさせてコピーする。
ここで、図8~図12において、中央の視点による各単視点画像230A~230Eは、互いに異なるオブジェクトが描画され、オブジェクト以外の領域はα=0とされ透明とされていると共に、それぞれデプス量が設定されている。
先ず、図8に例示されるように、単視点画像230Aをデプス量および視点#0~#8に応じてそれぞれシフトさせて、タイル状の多視点画像231の各タイル232A~232Iに対してそれぞれコピーする。次に、図9に例示されるように、単視点画像230Bをデプス量および視点#0~#8に応じてそれぞれシフトさせて、タイル状の多視点画像231の各タイル232A~232Iに対してコピーする。このとき、各タイル232A~232Iに対してコピーする各画像が、当該各タイル232A~232Iに既にコピーされている各画像に対して、α値に基づきアルファブレンディングにより合成される。単視点画像230C~230Eについても、図10~図12にそれぞれ例示されるように、同様にしてデプス量に応じてシフトさせて、タイル状の多視点画像の各タイルに対してそれぞれコピーおよび合成する。
なお、多視点画像230A~230Eが互いに同期した動画像であれば、上述した多視点画像230A~230Eそれぞれから、タイル状の多視点画像の各タイルに対するコピーは、少なくとも動画像の1フレーム周期以内で完了する必要がある。
このように、本実施の形態による2次元単視点スプライトは、元の画像からタイルにコピーする画像を切り抜く位置を、視点およびデプス量に応じてずらす。2次元CG用LSIでも容易に実現可能である。その一方で、この2次元単視点スプライトでも、表示させるオブジェクト数が増えるのに従い単視点画像のコピー回数が増加する課題がある。したがって、表示させるオブジェクトが多くなると、多視点画像の描画速度が遅くなってしまう。例えば、表示に遅延を来したり、システムの負荷が大きくなったりするおそれがある。
そこで、本実施の形態では、同じデプスに配置されるオブジェクトが、各視点において同じ方向に、同じ量だけシフトされることに着目する。同じデプスに配置されるオブジェクトの単視点画像を1枚の画像に合成した後、その合成された1枚の画像をデプス量および視点に応じてシフトさせて、タイル状の多視点画像の各タイルにコピーする。これにより、単視点画像のコピー回数を大幅に削減し、より描画速度を向上させることが可能となる。
次に、このような処理を行うための、本実施形態による画像処理方法について説明する。図13は、本実施形態による多視点画像生成方法を実行する多視点画像生成装置100の機能を示す一例の機能ブロック図である。図13に例示されるように、多視点画像生成装置100は、入力部110、単視点画像記憶部111、デプス情報記憶部112、単視点画像合成部113、シフト情報取得部114、シフト情報記憶部115、複数の単視点画像シフト部116、多視点画像記憶部117、提示部118および制御部119を備える。制御部119は、この多視点画像生成装置100の各部を制御する。
予めオブジェクトが描画された複数の単視点画像と、各オブジェクトのデプス量を示すデプス値とが入力部110に対して入力される。単視点画像およびデプス値は、ハードディスクや揮発性または不揮発性のメモリから入力部110に対して入力されてもよいし、カメラなどの画像生成装置から入力されるようにもできる。画像再生装置などのデコーダを介して入力されるようにしてもよい。また、単視点画像およびデプス値は、互いの対応関係が明確であれば、それぞれ別個のデータとして入力することができる。勿論、デプス値を、対応する単視点画像の属性情報Aに含めて入力してもよい。
ここで、図14を用いて、各オブジェクトの配置位置とデプス値との関係について、概略的に説明する。図14に示されるように、単視点画像270A、270Bおよび270Cのそれぞれに対して、オブジェクト271A、271Bおよび271Cが描画される。図14の例では、オブジェクト271Aが最も手前側に配置され、オブジェクト271Cが最も奥側に配置される。オブジェクト271Bは、オブジェクト271Aおよび271Cの間に配置される。このような場合に、最も手前側に配置されるオブジェクト271Aのデプス量が最も小さく、最も小さい値のデプス値が設定される。また、奥側に向かうに連れ、デプス量が大きくなりより大きい値のデプス値が設定される。
入力部110に入力された複数の単視点画像は、単視点画像記憶部111に記憶される。各単視点画像は、描画されているオブジェクトのデプス値が、奥側を先頭として手前側へ向けて配置順に並ぶように整列されて単視点画像記憶部111に記憶される。これに限らず、手前側を先頭として奥側に向けてデプス値が並ぶように、各単視点画像を記憶してもよい。
例えば、デプス値に従った順番で入力部110に対して単視点画像を入力するように、予め決めておく。これに限らず、入力部110が単視点画像記憶部111のアドレス制御を行うようにし、入力された単視点画像を、デプス値に応じたアドレスに記憶させるようにもできる。
一方、入力部110に入力された複数のデプス値は、デプス情報記憶部112に記憶される。各デプス値は、描画されているオブジェクトのデプス値が、奥側を先頭として手前側へ向けて配置順に並ぶように整列されてデプス情報記憶部112に記憶される。これに限らず、手前側を先頭として奥側に向けてデプス値が並ぶようにしてもよい。
すなわち、各デプス値は、デプス情報記憶部112において、デプス値の大小に応じてソートされて記憶される。このとき、各デプス値の並び順が、上述した単視点画像記憶部111におけるオブジェクトの配置順と対応するようにソートされる。換言すれば、デプス値は、デプス情報記憶部112における並び順によって、単視点画像記憶部111に記憶される複数の単視点画像のそれぞれと対応付けられる。
単視点画像合成部113は、単視点画像記憶部111から単視点画像を先頭から順次読み出す。単視点画像合成部113は、デプス情報記憶部112からデプス値を先頭から順次読み出す。また、単視点画像合成部113は、デプス値が同一の単視点画像同士を合成して、合成単視点画像として出力する。合成処理は、例えばα値に基づくアルファブレンディングにより行われる。デプス値に対して1の単視点画像のみが対応する場合は、当該単視点画像がそのまま出力される。単視点画像合成部113から出力された合成単視点画像または単視点画像は、視点の数nだけ設けられた単視点画像シフト部1161、1162、…、116nにそれぞれ供給される。
なお、以下では、特に記載のない限り、合成単視点画像または単視点画像を単視点画像で代表させて記述する。
単視点画像合成部113は、単視点画像を出力すると共に、出力する単視点画像に対応するデプス値をシフト情報取得部114に供給する。シフト情報取得部114は、供給されたデプス値に基づきシフト情報記憶部115を参照し、デプス値に対応する各視点#0~#nのシフトベクトルをそれぞれ取得する。取得された各視点#0~#nのシフトベクトルは、それぞれ視点が対応する単視点画像シフト部1161、1162、…、116nに供給される。後述するように、単視点画像シフト部1161、1162、…、116nにより、タイル状の多視点画像を生成する多視点画像生成部130が構成される。
図15は、シフト情報記憶部115の一例の構成を示す。シフト情報記憶部115は、シフト情報テーブル120を記憶する。シフト情報テーブル120は、単視点画像のシフト量およびシフト方向を表すシフトベクトルが、各視点#0~#8毎およびデプス値毎に予め格納される。シフトベクトルは、より具体的には、例えば中央視点による単視点画像を、多視点画像を構成する各視点のタイルにコピーする際に、当該単視点画像をシフトする方向を指し示す2次元ベクトルであり、その大きさがシフト量を表す。シフトベクトルは、視点と、オブジェクトを配置するデプス量を示すデプス値とにより異なる。シフト情報テーブルは、デプス値をインデクスとして、各視点#0~#nそれぞれのシフトベクトルを参照できるように構成されている。
視点の数nと同じ数だけ設けられた単視点画像シフト部1161~116nのそれぞれは、シフト情報取得部114から供給されたシフトベクトルに基づいて、単視点画像合成部113から供給された単視点画像をシフトさせる。シフトは、例えば図7を用いて説明したような方法を用いる。単視点画像シフト部1161~116nでシフトされた単視点画像は、それぞれ後段の多視点画像記憶部117に供給され、タイル状の多視点画像における対応する視点のタイルにコピーされる。コピー対象のタイルに既に単視点画像がコピーされている場合は、アルファブレンディングによる合成を行うことができる。これにより、入力部110に入力された単視点画像に基づく多視点画像が生成される。
多視点画像記憶部117に記憶される多視点画像は、提示部118に供給される。提示部118は、多視点画像記憶部117から供給された多視点画像を立体画像表示装置に対して出力する。この場合、提示部118は、例えば、多視点画像を構成する各タイルの単視点画像を、単位画素群303毎にインターリーブして出力する。これに限らず、提示部118は、多視点画像記憶部117から供給された多視点画像を記録媒体に記録してもよいし、ネットワークやシリアルインターフェイスを介して他の機器に伝送してもよい。また、単位画素群303毎にインターリーブした多視点画像を、プリンタによりプリントアウトしてもよい。
本実施形態では、上述したように、単視点画像合成部113において、同じデプスに配置されるオブジェクトの単視点画像を1枚の画像に合成した後、その1枚の画像をデプス量に応じてシフトさせて、タイル状の多視点画像の各タイルにコピーする。
一例として、単視点画像合成部113は、最初に、単視点画像記憶部111から、デプス値順に整列されて記憶されている単視点画像のうち先頭の単視点画像を読み出す。それと共に、単視点画像合成部113は、デプス情報記憶部112から、デプス値順に整列されて記憶されているデプス値のうち先頭のデプス値を読み出す。
次に、単視点画像合成部113は、デプス情報記憶部112から2番目のデプス値を読み出す。単視点画像合成部113は、この2番目のデプス値と、先に読み出しておいたデプス値とを比較し、比較結果に基づき両者が同一であると判定されたら、単視点画像記憶部111から2番目の単視点画像を読み出して、先に読み出しておいた単視点画像と合成し、新たな単視点画像を生成する。
次に、単視点画像合成部113は、デプス情報記憶部112から、デプス値順に整列されて記憶されているデプス値のうち3番目のデプス値を読み出す。単視点画像合成部113は、この3番目のデプス値と、先に読み出した2番目のデプス値とを比較し、比較結果に基づき両者が同一であると判定されたら、単視点画像記憶部111から3番目の単視点画像を読み出して、直前に合成された単視点画像と合成し、新たな単視点画像を生成する。
単視点画像合成部113は、デプス情報記憶部112から読み出したデプス値が、直前に読み出したデプス値と異なる値になるまで、上述の処理を繰り返す。これにより、同じデプスに配置されるオブジェクトの単視点画像を1枚に合成することができる。この1枚に合成された単視点画像は、後段の単視点画像シフト部1161、1162、…、116nのうち視点が対応する単視点画像シフト部に供給され、視点およびデプス値に応じてシフトされる。
図16は、本実施形態による多視点画像生成装置100を適用可能な画像処理装置400の一例のハードウェア構成を示す。図16において、画像処理装置400は、CPU(Central Processing Unit)401、GPU(Graphic Processing Unit)402、ROM(Read Only Memory)403、RAM(Random Access Memory)404およびVRAM(Video RAM)405を備える。
CPU401は、図13に示す制御部119に対応し、この画像処理装置400の動作を制御する。CPU401は、制御に際しRAM404をワークメモリとして用いる。CPU401が動作するためのプログラムは、ROM403に予め記憶されている。このプログラムは、ROM403に予め記憶しておくのに限らず、ディスク記憶媒体や着脱可能で不揮発性の半導体メモリ、ネットワークを介してなど、他の方法で画像処理装置400に対して供給してもよい。
CPU401は、プログラムに従いGPU402に対してコマンドを渡す。GPU402は、画像処理専用に設計されたプロセッサである。GPU402は、CPU401からのコマンドに従い動作し、画像処理を高速に実行する機能を有する。例えば、GPU402は、CPU401からのコマンドに従い、VRAM405に書き込まれた画像データに対する処理を行う。この図16の例では、GPU402は、特に2次元の画像データに対する処理に特に適応させて設計されているものとする。
一例として、CPU401は、本実施形態による多視点画像生成方法を実行するプログラムが例えばROM403から読み出され実行されると、当該プログラムに従いコマンドをGPU402に送り、GPU402を上述した各部(単視点画像合成部113およびシフト情報取得部114、ならびに、単視点画像シフト部1161~116n)として機能させる。
例えばH.264/AVC方式で圧縮符号化された動画像データがデコーダ450で復号され、輝度Y、色差UVの各成分と、属性情報AとからなるYUVA画像データとして画像処理装置400に入力される。ここでは、属性情報Aがα値およびデプス値を含むものとする。これに限らず、デプス値を、デコーダ450の出力と同期的に、別のデータとして画像処理装置400に入力してもよい。画像処理装置400に入力されたYUVA画像データは、RAM404の領域410に一時的に格納する。その後、YUVA画像データは、CPU401の制御によりVRAM405に転送される。
VRAM405に転送されたYUVA画像データは、VRAM405の領域411に書き込まれる。この領域411は、上述した図13の機能ブロック図における単視点画像記憶部111およびデプス情報記憶部112に対応する。GPU402は、CPU401のコマンドに従い、このYUVA画像データを、三原色RGBの各成分と属性情報Aとを含むRGBA画像データに変換する。GPU402は、RGBA画像データをVRAM405上の領域であるワークバッファ412に書き込む。詳細は後述するが、このとき、GPU402は、CPU401のコマンドに従い、上述した、同一のデプス値を持つ単視点画像の合成処理を行う。
また、VRAM405には、シフト情報テーブル120が書き込まれる。シフト情報テーブル120は、例えば、ROM403に予め記憶されている。シフト情報テーブル120は、この画像処理装置400の起動に伴いROM403から読み出され、RAM404を介してVRAM405に書き込まれる。
GPU402は、CPU401のコマンドに従い、コピーを行おうとする視点におけるシフトベクトルを取得する。GPU402は、ワークバッファ412に書き込まれた単視点画像に対応するデプス値をインデクスとしてシフト情報テーブル120を参照する。GPU402は、CPU401のコマンドに従い、ワークバッファ412に書き込まれた単視点画像を、視点およびデプス値に応じたシフトベクトルに従いシフトさせる。GPU402は、VRAM405の領域413における、タイル状の多視点画像のタイル414A~414Iのうち視点が対応するタイルに対してコピーする。
上述のように、CPU401のコマンドに従い動作するGPU402は、図13に示す単視点画像合成部113、シフト情報取得部114、単視点画像シフト部1161~116nに対応する。また、VRAM405における領域413は、図13に示す多視点画像記憶部117に対応する。
図17Aおよび図17Bは、本実施形態による単視点画像の合成処理の一例を示すフローチャートである。以下に示す各処理は、例えばプログラムに基づくCPU401のコマンドに従い、GPU402により実行される。
デコーダ450から出力された、単視点画像によるオブジェクトが画像処理装置400に入力され、RAM404の領域410に一時的に格納される。ここで、デコーダ450は、例えば動画の1フレーム周期に複数枚の単視点画像を出力可能とされ、当該複数の単視点画像は、デプス値順に、奥側から手前側に向けた順序で並べられて出力されるものとする。
先ず、ステップS10において、GPU402は、RAM404の領域410から最初のオブジェクトの単視点画像を入力する。最初のオブジェクトの単視点画像を、VRAM405の領域411を介してRGBA画像データに変換してワークバッファ412に書き込む。それと共に、この最初の単視点画像に対応するデプス値を取得し、デプス値depth1とする。例えばGPU402は、当該単視点画像によるRGBA画像データの属性情報Aからデプス値を取得する。
次のステップS11で、GPU402は、次のオブジェクトの単視点画像があるか否かを判定する。例えば、CPU401がRAM404における領域410の状態を監視する。領域410に次のオブジェクトの単視点画像があるか否かを判定し、その判定結果をGPU402に通知する。若し、次のオブジェクトの単視点画像がある場合、処理はステップS12に移行され、当該次のオブジェクトの単視点画像のデプス値がGPU402によって取得される。例えば、CPU401が領域410に格納される次のオブジェクトの単視点画像における属性情報Aを抽出し、GPU402に渡す。このステップS12で取得されたデプス値を、デプス値depth2とする。
次のステップS13で、デプス値depth1とデプス値depth2とが同一であるか否かを判定する。若し、同一である場合、処理はステップS14に移行される。ステップS14では、GPU402は、デプス値depth2のオブジェクトの単視点画像を、ワークバッファ412に書き込まれている単視点画像に対してアルファブレンディングなどを用いて合成する。α値は、当該単視点画像の属性情報Aから抽出する。そして、次のステップS15でデプス値depth2をデプス値depth1に代入して、処理がステップS11に戻される。
一方、上述のステップS13で、デプス値depth1とデプス値depth2とが異なる場合、処理はステップS16に移行される。ステップS16では、ワークバッファ412に書き込まれている単視点画像を、視点およびデプス値に応じてシフトさせて、タイル状の多視点画像の各タイル414A~414Iにコピーする。このステップS16の処理の詳細は、後述する。
ステップS16でワークバッファ412の多視点画像の各タイル414A~414Iへのコピーが行われたら、処理はステップS17に移行される。ステップS17では、GPU402は、デプス値depth2のオブジェクトの単視点画像をRAM404の領域410から読み出してVRAM405に入力する。デプス値depth2のオブジェクトの単視点画像を、領域411を介してRGBA画像データに変換して、ワークバッファ412に書き込む。そして、処理がステップS15に移行され、デプス値depth2をデプス値depth1に代入して、処理がステップS11に戻される。
上述のステップS11で、次のオブジェクトが無い場合、処理はステップS18に移行される。ステップS18の処理は、上述したステップS16の処理と同一である。すなわち、ステップS18では、ワークバッファ412に書き込まれている単視点画像を、視点およびデプス値に応じてシフトさせて、タイル状の多視点画像の各タイル414A~414Iにコピーする処理が行われる。このステップS18の処理の詳細は、後述する。
図17Bは、上述したステップS16およびステップS18の、単視点画像をタイル状の多視点画像の各タイルにコピーする一例の処理を示すフローチャートである。ここでは、上述のステップS10またはステップS15に従い、デプス値depth1に対応する単視点画像が処理対象となる。また、視点数をnとする。以下に示す各処理は、例えばプログラムに基づくCPU401のコマンドに従い、GPU402により実行される。
先ず、最初のステップS20で、ループ変数iが0に初期化される。次のステップS21で、GPU402は、視点#iを選択し、ステップS22で、デプス値depth1をインデクスとしてシフト情報テーブル120を参照し、視点#iのシフトベクトルを取得する。
次のステップS23で、GPU402は、ステップS22で取得したシフトベクトルに従い、ワークバッファ412に書き込まれている単視点画像をシフトさせる。シフトした単視点画像を、タイル状の多視点画像の視点#iのタイルにコピーする。このとき、当該タイルに既に書き込まれている画像があれば、その画像に対し、当該単視点画像をアルファブレンディングなどを用いて合成する。
ステップS23で単視点画像をタイルへコピーがする。ステップS24でループ変数iに1を加算する。ステップS25で、GPU402は、ループ変数iと視点数nとが等しいか否かを判定する。若し、等しいと判定されたら、全ての視点での処理が終了したと判定し、図17Bのフローチャートによる処理を抜け、上述の図17Aのフローチャートの処理に戻る。一方、ループ変数iが視点数nと異なり、全ての視点について処理が終了していないと判定されたら、処理がステップS21に戻され、次の視点について処理が行われる。
上述した図17Aおよび図17Bのフローチャートによる処理について、図18、図19および図20を用いて具体的に説明する。以下では、例えば、それぞれ異なるオブジェクトによる、中央視点の単視点画像250A~250Eが画像処理装置400に入力される。このとき、単視点画像250Aのデプス値が1.0、単視点画像250B、250Cおよび250Dのデプス値がそれぞれ0.5、単視点画像250Eのデプス値が0.2であるものとする。これら単視点画像250A~250Eは、デプス値の大きい順に整列して入力される。また、視点数n=9であるものとする。
単視点画像250A~250Eが順次、画像処理装置400に入力され、RAM404の領域410にバッファリングされる。GPU402は、領域410から最初のオブジェクトの単視点画像250Aを読み出してVRAM405に入力し、ワークバッファ412に書き込む。それと共に、GPU402は、当該単視点画像250Aのデプス値=1.0を取得し、デプス値depth1とする(図17AのステップS10)。
RAM404の領域410に次のオブジェクトの単視点画像250Bが存在するので、GPU402は、当該単視点画像250Bのデプス値=0.5を取得し、デプス値depth2とする(図17AのステップS11、ステップS12)。デプス値depth1とデプス値depth2とが異なるので、GPU402は、ワークバッファ412に書き込まれている単視点画像250Aを、タイル状の多視点画像の各タイル414A~414Iに対し、デプス値および視点に応じてシフトさせてコピーする(図17AのステップS13、ステップS16)。
すなわち、デプス値depth1をインデクスとして視点#0のシフトベクトルを取得し(ステップS21、ステップS22)、取得したシフトベクトルに従い単視点画像250Aを例えば横方向にシフトさせた画像を生成する。そして、生成された画像をVRAM405内の領域413における視点#0のタイル414Aに書き込む(ステップS23)。この処理を、残りの視点#1~#8に対してそれぞれ行う(ステップS24、ステップS25)。
単視点画像250Aの各タイル414A~414Iへのコピーが完了したら、GPU402は、RAM404の領域410から、デプス値depth2に対応する単視点画像250Bを読み出し、ワークバッファ412に書き込む(図17AのステップS17)。なお、各タイル414A~414Iへのコピーが完了した単視点画像250Aは、例えばワークバッファ412から破棄される。GPU402は、デプス値depth2=0.5を新たなデプス値depth1とする(ステップS15)。
RAM404の領域410に次のオブジェクトの単視点画像250Cが存在するので、GPU402は、当該単視点画像250Cのデプス値=0.5を取得し、新たなデプス値depth2とする(図17AのステップS11、ステップS12)。
デプス値depth1とデプス値depth2とが等しいので、GPU402は、RAM404の領域410から単視点画像250Cを読み出す。この単視点画像250Cと、ワークバッファ412に書き込まれている単視点画像250Bとをα値に基づきアルファブレンディングにより合成し、合成単視点画像253を生成する(図17AのステップS14)。その後、GPU402は、デプス値depth2=0.5を新たなデプス値depth1とする(図17AのステップS15)。
RAM404の領域410に次のオブジェクトの単視点画像250Dが存在するので、GPU402は、当該単視点画像250Dのデプス値=0.5を取得し、新たなデプス値depth2とする(図17AのステップS11、ステップS12)。
デプス値depth1とデプス値depth2とが等しいので、GPU402は、RAM404の領域410から単視点画像250Dを読み出す。この単視点画像250Dと、ワークバッファ412に書き込まれている合成単視点画像253とをα値に基づきアルファブレンディングにより合成し、合成単視点画像253を更新する(図17AのステップS14)。すなわち、合成単視点画像253は、オブジェクトの中央視点による単視点画像250B、250Cおよび250Dが合成されたものとなる。その後、GPU402は、デプス値depth2を新たなデプス値depth1とする(ステップS15)。
RAM404の領域410に次のオブジェクトの単視点画像250Eが存在するので、GPU402は、当該単視点画像250Cのデプス値=0.2を取得し、新たなデプス値depth2とする(図17AのステップS11、ステップS12)。
デプス値depth1とデプス値depth2とが異なるので、GPU402は、ワークバッファ412に書き込まれている合成単視点画像253を、タイル状の多視点画像の各タイル414A~414Iに対し、デプス値および視点に応じてシフトさせてコピーする(図17AのステップS13、ステップS16)。
ここで、各タイル414A~414Iには、既に単視点画像250Aがデプス値および視点に応じてシフトされて書き込まれている。GPU402は、合成単視点画像253を各タイル414A~414Iにコピーする際に、各視点の合成単視点画像を、既に書き込まれている各視点の単視点画像250Aに対して、α値に基づきアルファブレンディングによりそれぞれ合成する。
その後、GPU402は、RAM404の領域410から、デプス値depth2に対応する単視点画像250Eを読み出し、ワークバッファ412に書き込む(図17AのステップS17)。なお、各タイル414A~414Iへのコピーが完了した合成単視点画像は、例えばワークバッファ412から破棄される。GPU402は、デプス値depth2=0.2を新たなデプス値depth1とする(ステップS15)。
ここで、RAM404の領域410に次のオブジェクトの単視点画像が無い状態となる。そのため、GPU402は、図20に例示されるように、ワークバッファ412に書き込まれている単視点画像250Eを、タイル状の多視点画像の各タイル414A~414Iに対し、デプス値および視点に応じてシフトさせてコピーする(図17AのステップS18)。
各タイル414A~414Iには、既に単視点画像250Aと合成単視点画像253とが、デプス値および視点に応じてシフトされ、視点毎に合成されて書き込まれている。GPU402は、単視点画像250Eを各タイル414A~414Iにコピーする際に、図20に例示されるように、各視点の単視点画像250Eを、既に書き込まれている各視点の合成単視点画像に対して、α値に基づきアルファブレンディングによりそれぞれ合成する。合成が行われると、一連の処理が終了される。
上述したように、本実施形態に係る画像処理装置400によれば、同一のデプス値を持つオブジェクトの単視点画像を合成して1の合成単視点画像に纏める。そして、この合成単視点画像をデプス値および視点に応じてシフトさせて、タイル状の多視点画像の各タイルにコピーするようにしている。そのため、単視点画像をタイル状の多視点画像の各タイルにコピーする回数を大幅に削減することができる。その結果、多数のオブジェクトを含む多視点画像を高速に描画することが可能になる。
例えば、タイル状の多視点画像の各タイルに単視点画像のコピーを行う処理を、単視点画像毎に行う場合、コピー回数は、単視点画像数×視点数nとなる。図8~図12の例では、単視点画像数=5、視点数n=9なので、コピー回数は、5×9=45回となる。この場合、オブジェクト数が増え、単視点画像の数が増えるに従い、コピー回数が増加することになる。視点数が増加すると、コピー回数の増加はより顕著なものとなる。
これに対して、本実施形態の方法によれば、例えば図18~図20の例では、デプス値が同一の単視点画像250B~250Dにおいて、これら単視点画像250B~250Dを合成する際のコピー回数の3回と、合成単視点画像をタイル状の多視点画像の各タイルにコピーする際のコピー回数の9回との合計12回で済むことになる。これは、単視点画像毎に各タイルへのコピーを行う際のコピー回数27回(3×9回)に比べて格段に少ない。図18~図20の例全体を通しても、30回(12回+2×9回)で済むことになり、45回に比べて格段に少なく、コピー回数が大幅に削減されている。
100 多視点画像生成装置
111 単視点画像記憶部
112 デプス情報記憶部
113 単視点画像合成部
114 シフト情報取得部
115 シフト情報記憶部
1161~116n 単視点画像シフト部
117 多視点画像記憶部
120 シフト情報テーブル
200,211,231,251 多視点画像
212A~212I タイル
232A~232I タイル
252A~252I タイル
300 表示部
400 画像処理装置
401 CPU
402 GPU
403 ROM
404 RAM
405 VRAM
412 ワークバッファ
111 単視点画像記憶部
112 デプス情報記憶部
113 単視点画像合成部
114 シフト情報取得部
115 シフト情報記憶部
1161~116n 単視点画像シフト部
117 多視点画像記憶部
120 シフト情報テーブル
200,211,231,251 多視点画像
212A~212I タイル
232A~232I タイル
252A~252I タイル
300 表示部
400 画像処理装置
401 CPU
402 GPU
403 ROM
404 RAM
405 VRAM
412 ワークバッファ
Claims (5)
- 複数の画像それぞれに対応付けられた、画像の奥行き方向の位置を示すデプス値に基づき、該複数の画像のうち該デプス値が同一の画像を1の画像に合成する合成ステップと、
前記合成ステップで合成された画像を、それぞれ異なる視差を与える複数の視点毎に、該視点と該画像に対応する前記デプス値とに応じたシフトベクトルに従い、該シフトベクトルが示す方向および量でシフトさせて視差を与えた画像を生成するシフトステップと、
前記シフトステップでシフトされた前記複視差を与えた画像を予め決められたフォーマットで配置した多視点画像を生成する生成ステップと
を有する
ことを特徴とする多視点画像生成方法。 - 前記デプス値と、前記シフトベクトルとが対応付けられて格納されるシフト情報テーブルを、前記デプス情報記憶部に記憶される前記デプス値をインデックスとして参照して、前記シフトベクトルを取得するシフト情報取得ステップをさらに有し、
前記シフトステップは、
前記シフト情報取得ステップで取得された前記シフトベクトルに従い、該シフトベクトルが示す方向および量で、前記合成ステップにより合成された前記画像をシフトさせる
ことを特徴とする請求項1に記載の多視点画像生成方法。 - 制御部の制御に基づきメモリを用いて画像処理を行う画像処理部が、前記合成ステップと、前記シフトステップと、前記生成ステップとを実行する
ことを特徴とする請求項1に記載の多視点画像生成方法。 - 前記合成ステップは、画像記憶部に記憶された前記複数の画像それぞれと対応付けてデプス情報記憶部に記憶された前記デプス値に基づき、該画像記憶部に記憶される該複数の画像のうち該デプス値が同一の画像を1の画像に合成し、
前記画像記憶部および前記デプス情報記憶部は、前記メモリ内に設けられる
ことを特徴とする請求項3に記載の多視点画像生成方法。 - 制御部と、メモリと、該制御部の制御に基づき該メモリを用いて画像処理を行う画像処理部とを含む多視点画像生成装置であって、
複数の画像を記憶する、前記メモリに設けられる画像記憶部と、
前記画像記憶部に記憶された前記複数の画像それぞれの奥行き方向の位置を示すデプス値を、該複数の画像のそれぞれに対応付けられて記憶する、前記メモリに設けられるデプス情報記憶部と、
前記デプス情報記憶部に記憶される前記デプス値に基づき、前記画像記憶部に記憶される前記複数の画像のうち該デプス値が同一の画像を1の画像に合成する、前記画像処理部に含まれる合成部と、
前記合成部で合成された画像を、それぞれ異なる視差を与える複数の視点毎に、該視点と該画像に対応する前記デプス値とに応じたシフトベクトルに従い、該シフトベクトルが示す方向および量でシフトさせて視差を与えた画像を生成する、前記画像処理部に含まれるシフト部と、
前記シフト部でシフトされた前記視差を与えた画像を、予め決められたフォーマットで配置して生成する、前記画像処理部に含まれる生成部と
を有する
ことを特徴とする多視点画像生成装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011532839A JP5238887B2 (ja) | 2009-09-25 | 2009-09-25 | 多視点画像生成方法および装置 |
PCT/JP2009/066618 WO2011036761A1 (ja) | 2009-09-25 | 2009-09-25 | 多視点画像生成方法および装置 |
US13/412,741 US8666147B2 (en) | 2009-09-25 | 2012-03-06 | Multi-view image generating method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/066618 WO2011036761A1 (ja) | 2009-09-25 | 2009-09-25 | 多視点画像生成方法および装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/412,741 Continuation US8666147B2 (en) | 2009-09-25 | 2012-03-06 | Multi-view image generating method and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011036761A1 true WO2011036761A1 (ja) | 2011-03-31 |
Family
ID=43795532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/066618 WO2011036761A1 (ja) | 2009-09-25 | 2009-09-25 | 多視点画像生成方法および装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8666147B2 (ja) |
JP (1) | JP5238887B2 (ja) |
WO (1) | WO2011036761A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013168897A (ja) * | 2012-02-17 | 2013-08-29 | Nintendo Co Ltd | 表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法 |
JP2013251663A (ja) * | 2012-05-31 | 2013-12-12 | Nippon Hoso Kyokai <Nhk> | 画像符号化装置および画像復号装置 |
WO2013187129A1 (ja) * | 2012-06-12 | 2013-12-19 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
JP2019004271A (ja) * | 2017-06-14 | 2019-01-10 | 日本放送協会 | 画像符号化装置および画像復号化装置、並びに、画像符号化プログラムおよび画像復号化プログラム |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120236114A1 (en) * | 2011-03-18 | 2012-09-20 | Te-Hao Chang | Depth information generator for generating depth information output by only processing part of received images having different views, and related depth information generating method and depth adjusting apparatus thereof |
JP5907368B2 (ja) * | 2011-07-12 | 2016-04-26 | ソニー株式会社 | 画像処理装置および方法、並びにプログラム |
KR20130098122A (ko) * | 2012-02-27 | 2013-09-04 | 세종대학교산학협력단 | 영상 부호화/복호화 장치 및 영상을 부호화/복호화하는 방법 |
WO2013129822A1 (ko) | 2012-02-27 | 2013-09-06 | 세종대학교산학협력단 | 영상 부호화와 복호화 장치 및 영상을 부호화와 복호화하는 방법 |
DE102012016865B4 (de) | 2012-08-25 | 2022-12-15 | Connaught Electronics Ltd. | Verbessertes Alpha-Blending von Bildern eines Kamerasystems eines Kraftfahrzeugs |
KR101856568B1 (ko) * | 2013-09-16 | 2018-06-19 | 삼성전자주식회사 | 다시점 영상 디스플레이 장치 및 제어 방법 |
EP2860975A1 (en) * | 2013-10-09 | 2015-04-15 | Thomson Licensing | Method for processing at least one disparity map, corresponding electronic device and computer program product |
KR102153605B1 (ko) * | 2013-11-27 | 2020-09-09 | 삼성디스플레이 주식회사 | 입체 영상 표시 장치 |
US20150213784A1 (en) * | 2014-01-24 | 2015-07-30 | Amazon Technologies, Inc. | Motion-based lenticular image display |
JP6611531B2 (ja) * | 2015-09-16 | 2019-11-27 | キヤノン株式会社 | 画像処理装置、画像処理装置の制御方法、およびプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005229560A (ja) * | 2003-11-28 | 2005-08-25 | Hirobumi Ito | 立体画像表示方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3358466B2 (ja) | 1996-10-18 | 2002-12-16 | 凸版印刷株式会社 | 視差画像のデータ処理方法および装置 |
EP0896301A1 (en) * | 1997-08-06 | 1999-02-10 | Victor Company Of Japan, Limited | Stereoscopic image interpolating apparatus and method |
JP2009075869A (ja) | 2007-09-20 | 2009-04-09 | Toshiba Corp | 多視点画像描画装置、方法及びプログラム |
JP2009080578A (ja) | 2007-09-25 | 2009-04-16 | Toshiba Corp | 多視点データ生成装置、方法及びプログラム |
US8774512B2 (en) * | 2009-02-11 | 2014-07-08 | Thomson Licensing | Filling holes in depth maps |
-
2009
- 2009-09-25 WO PCT/JP2009/066618 patent/WO2011036761A1/ja active Application Filing
- 2009-09-25 JP JP2011532839A patent/JP5238887B2/ja not_active Expired - Fee Related
-
2012
- 2012-03-06 US US13/412,741 patent/US8666147B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005229560A (ja) * | 2003-11-28 | 2005-08-25 | Hirobumi Ito | 立体画像表示方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013168897A (ja) * | 2012-02-17 | 2013-08-29 | Nintendo Co Ltd | 表示制御プログラム、表示制御装置、表示制御システム、および表示制御方法 |
JP2013251663A (ja) * | 2012-05-31 | 2013-12-12 | Nippon Hoso Kyokai <Nhk> | 画像符号化装置および画像復号装置 |
WO2013187129A1 (ja) * | 2012-06-12 | 2013-12-19 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
JPWO2013187129A1 (ja) * | 2012-06-12 | 2016-02-04 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにプログラム |
US9773333B2 (en) | 2012-06-12 | 2017-09-26 | Sony Corporation | Information processing device, information processing method, and program |
JP2019004271A (ja) * | 2017-06-14 | 2019-01-10 | 日本放送協会 | 画像符号化装置および画像復号化装置、並びに、画像符号化プログラムおよび画像復号化プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20120170833A1 (en) | 2012-07-05 |
JP5238887B2 (ja) | 2013-07-17 |
JPWO2011036761A1 (ja) | 2013-02-14 |
US8666147B2 (en) | 2014-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5238887B2 (ja) | 多視点画像生成方法および装置 | |
JP4392060B2 (ja) | 視差深度依存画素シフト | |
JP4047387B2 (ja) | 立体画像ディスプレイ駆動装置 | |
KR101749893B1 (ko) | 다목적 3―d 화상 포맷 | |
JP4942784B2 (ja) | マルチメディア情報生成装置およびマルチメディア情報再生装置 | |
US9083963B2 (en) | Method and device for the creation of pseudo-holographic images | |
EP2347597B1 (en) | Method and system for encoding a 3d image signal, encoded 3d image signal, method and system for decoding a 3d image signal | |
JP4982862B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2013539256A (ja) | 3次元コンテンツに関する画像を合成する方法 | |
JP2009526488A (ja) | オンザフライハードウェア画像纏め | |
JP2005175566A (ja) | 立体表示システム | |
JP4523368B2 (ja) | 立体視画像生成装置およびプログラム | |
JPH11514118A (ja) | 立体画像の発生 | |
JP2007249398A (ja) | 画像処理システム、表示装置および画像処理方法 | |
JPH11510940A (ja) | 3次元画像テクスチュアマッピング | |
JP2009516205A (ja) | オートステレオスコープ表示装置上で少なくとも1つの画像領域をモノスコープ方式で表現するための方法および機構ならびに該機構を有する情報再現装置 | |
TW200945250A (en) | Rendering a multiple viewpoint image into a single frame buffer using off-screen rendering surfaces | |
JP4703635B2 (ja) | 立体視画像生成方法、その装置、及び立体視画像表示装置 | |
JP2003295114A (ja) | 立体像表示装置 | |
US20140354786A1 (en) | Image processor | |
JP5016648B2 (ja) | 多層構造を持つ3次元表示装置のための画像処理方法 | |
CN110597577A (zh) | 一种头戴可视设备及其分屏显示方法和装置 | |
JP2009064355A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
US20140118513A1 (en) | Image processor | |
CN103024414A (zh) | 一种基于WinXP***的3D显示方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09849792 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011532839 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09849792 Country of ref document: EP Kind code of ref document: A1 |