Embodiments described herein generally relate to a parallax image generating apparatus, a stereoscopic picture displaying apparatus and a parallax image generation method.
In recent years, in response to the demand for enhancement in the quality of images, stereoscopic processing techniques have largely been studied. For stereoscopic processing methods, there are various types of methods including, e.g., stereo methods and light-section methods. These methods have both drawbacks and advantages, and a method to be employed is selected according to, e.g., the use of the images. However, any of the methods requires an expensive and large-size input apparatus in order to obtain three-dimensional images (3D images).
Meanwhile, as a method for performing stereoscopic processing using a simple circuit, a method in which no 3D image is used but a 3D image is generated from a two-dimensional image (2D image) has been provided. As a method employed for the aforementioned conversion from a 2D image to a stereo 3D image, and conversion from a two-viewpoint stereo 3D image to a multi-viewpoint 3D image, a method in which depth of input images are estimated has been provided. Various methods have been developed for techniques for obtaining the depth.
In a display apparatus in which the aforementioned image conversion is performed, a depth of each input image is estimated, and the depth is converted into a disparity, which is a horizontal shift amount, according to a viewpoint. The display apparatus generates a parallax image for the viewpoint by shifting the image according to the obtained disparity. For example, the display apparatus provides a parallax image for a viewpoint of a right eye (hereinafter referred to as “right image”) and a parallax image for a viewpoint of a left eye (hereinafter referred to as “left image”) to the right and left eyes, respectively, enabling stereoscopic display provided by the left and right images.
Where a depth is obtained for each of pixels or objects in an image and the pixel or the object is moved according to the disparity, the movement amounts of the pixel or the objects vary depending on the respective depths (disparities), which may result in pixels in different areas being moved so as to overlap in a same area, or pixels being moved so as to cause an area in which no image information exists (hereinafter referred to as “hidden surface area”).
Therefore, the display apparatus performs interpolation processing for the hidden surface area. In the interpolation processing, image quality deterioration may occur.
An embodiment provides a parallax image generating apparatus including a disparity generating section, a disparity correcting section and an image shifting section. The disparity generating section is configured to receive a depth of each part of an input image, and based on the depth, generate a disparity for the part of the image for a respective viewpoint. The disparity correcting section is configured to correct a disparity of a target part of the image to a value based on a disparity obtained for a foreground part from among parts neighboring the target part. The image shifting section is configured to move a part of the input image based on the disparity corrected by the disparity correcting section, to generate a parallax image for the respective viewpoint.
Hereinafter, embodiments will be described in details with reference to the drawings.
An input picture and viewpoint information are input to an input terminal 11 of a stereoscopic picture displaying apparatus 10. The input picture is provided to a depth estimating section 12. The depth estimating section 12 estimates a depth for a predetermined area of each image in the input picture, using a known depth estimation method. For example, the depth estimating section 12 obtains a depth for each pixel or each object based on, e.g., the composition of the entire screen of the image, detection of a person or detection of movement for the object. The depth estimating section 12 outputs the input picture, the depths and the viewpoint information to a stereoscopic picture generating section 13.
The stereoscopic picture generating section 13 includes n parallax image generating sections 22-1 to 22-n (represented by a parallax image generating section 22 below). The parallax image generating sections 22-1 to 22-n receive the input picture, the depths and the viewpoint information via an input terminal 21, and generate parallax images for viewpoints #1 to #n, respectively. The stereoscopic picture generating section 13 combines the parallax images for the viewpoints #1 to #n generated by the parallax image generating sections 22-1 to 22-n to generate a multi-viewpoint image (stereoscopic picture) and outputs the multi-viewpoint image to a display section 14 via an output terminal 23.
The display section 14 is configured to be capable of displaying a multi-viewpoint image. For example, for the display section 14, a display section employing a parallax division method such as a parallax barrier method or a lenticular method can be employed.
The parallax image generating sections 22-1 to 22-n in
Also, if a depth of a predetermined pixel 34 in the input picture is one causing the pixel 34 to be displayed so that a viewer feels that the pixel 34 is at a position 35 farther than the display surface 30, the disparity generating section 25 sets a disparity so that a parallax image (pixel) 34L for a viewpoint 36L is displayed on the left of the pixel 31, and sets a disparity so that a parallax image (pixel) 34R for a viewpoint 36R is displayed on the right of the pixel 31. Furthermore, as is clear from
As a result of images for two viewpoints, resulting from shifting the pixel to the left and right based on the disparities generated by the disparity generating section 25, being generated, a two-viewpoint stereoscopic image can be generated. For example, if the viewpoints 33L and 33R are left and right eyes of a viewer, stereoscopic image display causing the viewer to feel that the pixel 31 pops up to the near side can be provided by the pixels 31L and 31R. Similarly, if the viewpoints 36L and 36R are left and right eyes of a viewer, stereoscopic image display causing the viewer to feels that the pixel 34 withdraws to the far side can be provided by the pixels 34L and 34R.
Solid arrows in
If the images illustrated in
In order to correct the area in which images overlap and the hidden surface areas, a disparity correcting section 26 is provided. For the area in which images overlap, which is surrounded by the dashed line, the disparity correcting section 26 corrects the disparity so that any one of the images, for example, the nearest (foreground) image is displayed.
In the present embodiment, the disparity correcting section 26 obtains parallax images with suppressed image deterioration for the hidden surface areas, using the disparity of the foreground image.
Hereinafter, for simplification of the description, a distance from an image (pixel) after a movement to the image (pixel) before the movement may be referred to as a “disparity”.
In this case, as indicated by dashed arrows in
The disparity correcting section 26 can determine the foreground image according to the magnitude of the disparity. Where a disparity directed to the right in the screen is represented by a positive value and a disparity directed to the left in the screen is represented by a negative value, from a viewpoint of a left eye, that is, if a viewpoint exists on the left of the viewpoint position of an input image, an image (pixel) having a disparity with a largest positive value can be determined as the foreground image. On the other hand, from a viewpoint of a right eye, that is, if a viewpoint exists on the right of the viewpoint position of an input image, an image (pixel) having a disparity with a largest value in the negative direction is the foreground image.
The disparity correcting section 26 moves the original pixels P4, P5 and P6 so that the pixels P4, P5 and P6 are arranged at the third pixel position from the left and the second and third pixel positions from the right in the lower row in
For a technique for interpolating the hidden surface area, a method in which gradual variation is provided using information on pixels neighboring the hidden surface area may be employed.
As described above, a portion in which a front ground and a background are clearly separated in depth, hidden surface areas intensively appear, and images in the hidden surface areas are not favorably generated with the simple filtering processing as in
Therefore, in the present embodiment, a technique in which a disparity of a foreground image neighboring a hidden surface area is used as a disparity for a hidden surface area is employed.
Correction processing for an area in which images overlap is similar that in
For a hidden surface area indicated by bold boxes, the disparity correcting section 26 uses a disparity of a foremost image neighboring the hidden surface area. In the example in
As illustrated in
For a background part, as indicated by the third and fourth pixels from the left in the lower row in
The disparity correcting section 26 corrects the disparities from the disparity generating section 25 to those indicated by the arrows in
Although an example in which a disparity of a foremost pixel from among the pixels on the left and right of a hidden surface area on a same horizontal line are used has been described with reference to
Next, an operation of the embodiment configured as described above will be described with reference to
An input picture and viewpoint information are input to the input terminal 11 of the stereoscopic picture displaying apparatus 10. The depth estimating section 12 obtains a depth of each image in the input picture, for example, on a pixel-by-pixel basis. The input picture, the depths and the viewpoint information are provided to the stereoscopic picture generating section 13. The stereoscopic picture generating section 13 generates parallax images for respective viewpoints by means of the parallax image generating sections 22-1 to 22-n.
In other words, in the parallax image generating section 22, first, disparities for a respective viewpoint are obtained by the disparity generating section 25. The disparity generating section 25 obtains the disparities for the respective viewpoints according to the depth of each pixel. The disparities obtained by the disparity generating section 25 are provided to the disparity correcting section 26.
The disparity correcting section 26 corrects the disparities so that for an area in which images overlap when the images are shifted according to the input disparities, a foreground image from among the overlapping images is selected and displayed. Also, for a hidden surface area in which no image exists when the images are shifted according to the input disparities, the disparity correcting section 26 uses a disparity of the foreground pixel from among the pixels neighboring the hidden surface area.
The disparity correcting section 26 starts processing for all the pixels in step S1 in
Next, in step S3, the disparity correcting section 26 determines whether or not the target pixel is a pixel in a hidden surface area. If the target pixel is not a pixel in a hidden surface area, the disparity correcting section 26 returns the processing from step S11 to step S1, and performs processing for a next pixel.
If the target pixel is a pixel in a hidden surface area, in the next step S4, the disparity correcting section 26 starts processing for pixels neighboring the target pixel. For example, the disparity correcting section 26 sets a neighboring pixel range, which is indicated in
In steps S4 to S8, the disparity correcting section 26 searches for a pixel with a largest disparity value in the detection range. In other words, in step S5, the disparity correcting section 26 determines whether or not each neighboring pixel is a pixel in a non-hidden surface area. Since no disparity is set for a pixel in a hidden surface area, the disparity correcting section 26 returns the processing from step S8 to step S4 and performs searching processing for a next neighboring pixel.
If the neighboring pixel is a pixel in a non-hidden surface area, the disparity correcting section 26 determines whether or not a disparity of the pixel is larger than the variable max (step S6), and if the disparity of the pixel is larger than the variable max, the disparity value of the pixel is assigned to the variable max. As a result of the processing being performed for all the pixels in the detection range, the largest disparity value of the pixels in the detection range is assigned to the variable max. As described above, the largest disparity value of the pixels in the non-shaded portion is obtained in the example in
In step S9, the disparity correcting section 26 determines whether or not the variable max remains in the minimum value of −32768, that is, all the pixels in the detection range, which are neighboring pixels, pixels in a hidden surface area. If the variable max is not the minimum value, the value of the variable max is assigned to a disparity value for the target pixel. As described above, the largest disparity value of the neighboring pixels is obtained as the disparity value for the target pixel. In steps S1 to S11, for every pixel in the hidden surface area, the disparity correcting section 26 obtains a largest disparity value of pixels neighboring the pixel, and determines the largest disparity value as a disparity value for the pixel.
The case where the viewpoint is a right eye is different from the processing for the viewpoint of the left eye in
Accordingly, the disparity correcting section 26 first sets a variable min for detecting a largest disparity value to a maximum value (step S12). Also, for a pixel in a non-hidden surface area in a detection range, the disparity correcting section 26 determines whether or not a disparity of the pixel is smaller than the variable min (step S16), and if the disparity of the pixel is smaller than the variable min, the disparity value of the pixel is assigned to the variable min. As a result of the processing being performed for all the pixels in the detection range, the largest disparity value in the negative direction of the pixels in the detection range is assigned to the variable min.
In step S19, the disparity correcting section 26 determines whether or not the variable min remains in the maximum value, i.e., 32768, that is, whether or not all the pixels in the detection range, which are neighboring pixels, are pixels in the hidden surface area. If the variable min is not the maximum value, the value of the variable min is assigned to a disparity value for the target pixel. As described above, the largest disparity value in the negative direction of the neighboring pixels is obtained as the disparity value for the target pixel.
The disparity correcting section 26 corrects the disparities of pixels in an area in which images overlap, and based on the flows in
The stereoscopic picture generating section 13 combines the parallax images generated by the parallax image generating sections 22-1 to 22-n to generate a multi-viewpoint image, and outputs the multi-viewpoint image as a stereoscopic picture via the output terminal 23. The stereoscopic picture is supplied to the display section 14 and displayed on a display screen of the display section 14.
As described above, in the present embodiment, for a disparity for a pixel in a hidden surface area, a value of a disparity of a foremost pixel from among pixels neighboring the pixel is used, and thus, distortion of images at a position between objects can be prevented, enabling provision of a high-quality parallax image.
A hardware configuration in the present embodiment is similar to that in the first embodiment. The present embodiment is different from the first embodiment only in correction processing in the disparity correcting section 26.
First, correction processing for disparities of pixels in a hidden surface area in the second embodiment will be described with reference to
In the present embodiment, the disparity correcting section 26 obtains a disparity for a target pixel by multiplying disparities in the neighboring pixel range by respective set weighting values, further multiplying a disparity of a foreground pixel in the neighboring pixel range with a set weighting value, and adding up both disparities to calculate an average for the disparities.
In the example in
In the embodiment configured as described above, correction processing for a hidden surface area, which is illustrated in
In step S23, the disparity correcting section 26 multiplies disparities of neighboring pixels by weights according to the pixel positions (positional weights), and integrates the multiplication results in the value of the variable sum. In steps S4 to S8 and S23, the results of multiplication of the disparity by the positional weight for all the neighboring pixels in the non-hidden surface area are added up.
Furthermore, in step S24, the disparity correcting section 26 multiplies a largest disparity value of the neighboring pixels by a weight, adds the multiplication result to the variable sum, and divides the variable sum by a total sum of the weights. The total sum of the weights is also a total sum of the positional weights for the pixels in the non-hidden surface area. In step S25, the disparity correcting section 26 determines the value of the variable sum as a disparity value for the target pixel.
Furthermore, in step S34, the disparity correcting section 26 multiplies a largest disparity value in the negative direction of the neighboring pixels by a weight, adds the multiplication result to the variable sum, and divides the variable sum by a total sum of the weights. The total sum of the weights also corresponds to a total sum of the positional weights for the pixels in the non-hidden surface area. In step S55, the disparity correcting section 26 determines the value of the variable sum as a disparity value for the target pixel.
The rest of the operation is similar to that in the first embodiment.
As described above, in the present embodiment, for a hidden surface area, a disparity for a target pixel is obtained using disparities of pixels neighboring the target pixel and a disparity of a foremost pixel from among the neighboring pixels. Consequently, in the present embodiment, also, image distortion at a boundary position between objects can be prevented, enabling provision of a high-quality parallax image.
In the present embodiment, the disparities of the neighboring pixel and the foreground pixel are weighted and then averaged, which may result in the disparity of the target pixel having a decimal-point precision. In such case, in the image shifting section 27, values of two pixels corresponding to the disparity may be added up depending on the disparity to obtain a pixel value for a parallax image.
In the second embodiment, for each pixel in a hidden surface area, disparities of pixels neighboring the pixel and a foreground pixel from among the neighboring pixels are weighted to obtain a disparity for the target pixel. Meanwhile, in the present embodiment, the correction processing performed for each pixel in a hidden surface area in the second embodiment is performed for all the pixels.
The flows in
In the present embodiment, every pixel in an image is a target pixel, a neighboring pixel range with a predetermined size is set around the target pixel, disparities of neighboring pixels and a disparity of a foreground pixel from among the neighboring pixels are weighted to correct a disparity of the target pixel. In this case, possibly, the disparity of the target pixel has already been obtained by a disparity generating section 25 and the disparity of the target pixel is also multiplied by a predetermined weight, for example, as illustrated in the positional weights in
The rest of operation is similar to that in the second embodiment.
As described above, in the present embodiment, for every pixel, disparities of the neighboring pixels and a disparity of a foreground pixel from among the neighboring pixels are weighted to correct a disparity of the pixel. Consequently, distortion occurring as a result of processing for moving images based on the depths is reduced, enabling provision of a high-quality parallax image.
Furthermore, although the above embodiment has been described in terms of an example in which correction processing is performed once for a target pixel, the correction processing illustrated in
As described above, according to the above-described embodiments, images in a hidden surface area can be generated with high precision in processing for conversion into a multi-viewpoint image such as conversion from a one-viewpoint 2D picture to a two-viewpoint stereo 3D picture or conversion from a two-viewpoint stereo 3D picture to a multi-viewpoint 3D picture.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions aid changes in the form of the methods ad systems described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2010-270556 | Dec 2010 | JP | national |
This application is a continuation of U.S. patent application Ser. No. 13/162,227, which is based upon and claims the benefit of priority from Japanese Patent Application No. 2010-270556, filed on Dec. 3, 2010, the entire contents of both of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | 13162227 | Jun 2011 | US |
Child | 13960722 | US |