# Patent

## Title
Image processing apparatus and image processing method

## Abstract

The present technique relates to an image processing apparatus and an image processing method capable of generating a color image of a display viewpoint using a color image and a depth image of a predetermined viewpoint.
The viewpoint generation information generation unit generates viewpoint generation information used to generate a color image of a display viewpoint in accordance with a generation method of the color image of the display viewpoint obtained by performing warping processing using multi-viewpoint corrected color images and multi-viewpoint depth images. The multi-viewpoint image encoding unit encodes the multi-viewpoint corrected color images and the multi-viewpoint depth images, and transmits them with the viewpoint generation information. The present technique can be applied to, for example, a multi-viewpoint image processing apparatus.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
The present invention is the National Stage of International Application No. PCT/JP2012/056084, filed in the Japanese Patent Office as a Receiving Office on Mar. 9, 2012, titled “IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD,” which claims the priority benefit of Japanese Patent Application Numbers 2011-061486, filed in the Japanese Patent Office on Mar. 18, 2011; 2011-188815, filed in the Japanese Patent Office on Aug. 31, 2011; and 2012-019024, filed in the Japanese Patent Office on Jan. 31, 2012, each titled “IMAGE PROCESSING DEVICE AND IMAGE PROCESSING METHOD.” Each of these applications is hereby incorporated by reference in its entirety.
TECHNICAL FIELD
The present technique relates to an image processing apparatus and an image processing method, and more particularly, to an image processing apparatus and an image processing method capable of generating a color image of a display viewpoint using a color image and a depth image of a predetermined viewpoint.
BACKGROUND ART
In recent years, 3D images attract attention. A generally used method for viewing a 3D image is such that a person wears glasses that open the left eye shutter during displaying of one of images of two viewpoints and that open the right eye shutter during displaying of the other of the images, and the person views the images of the two viewpoints which are displayed alternately (hereinafter referred to as “method using glasses”).
However, with such method using glasses, it is necessary for a viewer to purchase the glasses in addition to a 3D image display device, which reduces the appetite for purchase. Moreover, the viewer has to wear glasses during viewing, which is troublesome. Therefore, the demand for a viewing method for viewing 3D images without wearing glasses (hereinafter referred to as “method without glasses”).
In the method without glasses, images of three or more viewpoints are displayed in such a manner that the viewable angle is different for each viewpoint, and when the viewer sees images of two viewpoints with the right and left eyes, the viewer can see a 3D image without wearing glasses.
The following method has been made as a display method of 3D image according to the method without glasses. In this method, a color image and a depth image of a predetermined viewpoint are obtained, and using the color image and the depth image, color images of multiple viewpoints which are display viewpoints including viewpoints other than the predetermined viewpoint are generated and displayed. It should be noted that “multiple viewpoints” mean three or more viewpoints.
As a method for encoding color images of multiple viewpoints and a depth image, a method for separately encoding the color images and the depth image has been suggested (for example, see Patent Document 1).
CITATION LIST
Non-Patent Document


    Non-Patent Document 1: INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC1/SC29/WG11 CODING OF MOVING PICTURES AND AUDIO, Guangzhou, China, October 2010


SUMMARY OF THE INVENTION
Problems to be Solved by the Invention
In conventional encoding standard and the like, transmission of information suitable for displaying of 3D image according to the method without glasses is not taken into consideration. Therefore, in the conventional encoding standard, a large amount of information is transmitted, which is not necessary for generation of color images of multiple viewpoints which are display viewpoints including viewpoints other than the predetermined viewpoint using a color image of a predetermined viewpoint and a parallax related image which is an image (depth image) related to parallax such as a depth image, and moreover, necessary information is transmitted.
As a result, a reception side cannot generate a color image of a viewpoint other than the viewpoint using the color image of the predetermined viewpoint and the parallax related image.
The present technique is made in view of such circumstances, and is to allow generation of a color image of a display viewpoint using a color image of a predetermined viewpoint and a parallax related image.
Solutions to Problems
An image processing apparatus according to a first aspect of the present technique is an image processing apparatus including an encoding unit for generating a bit stream by encoding a color image of a viewpoint and a depth image of the viewpoint; a generation unit for generating viewpoint generation information used to generate a color image of a display viewpoint, in accordance with a generation method of the color image of the display viewpoint obtained by performing warping processing using the color image and the depth image; a transmission unit for transmitting the bit stream generated by the encoding unit and the viewpoint generation information generated by the generation unit.
An image processing method according to a first aspect of the present technique corresponds to the image processing apparatus according to the first aspect of the present technique.
In the first aspect of the present technique, a bit stream is generated by encoding a color image of a viewpoint and a depth image of the viewpoint, and viewpoint generation information is generated that is used to generate a color image of a display viewpoint, in accordance with a generation method of the color image of the display viewpoint obtained by performing warping processing using the color image and the depth image, and the bit stream and the viewpoint generation information are transmitted.
An image processing apparatus according to a second aspect of the present technique is an image processing apparatus including a receiving unit for receiving a bit stream obtained as a result of encoding of a color image of a viewpoint and a depth image of the viewpoint and viewpoint generation information used to generate a color image of a display viewpoint which is generated in accordance with a generation method of the color image of the display viewpoint obtained by performing warping processing using the color image and the depth image, a decoding unit for generating the color image and the depth image by decoding the bit stream received by the receiving unit, and a generation unit for generating the color image of the display viewpoint by performing warping processing using the color image and the depth image generated by the decoding unit and the viewpoint generation information received by the receiving unit.
An image processing method according to a second aspect of the present technique corresponds to the image processing apparatus according to the second aspect of the present technique.
In the second aspect of the present technique, a bit stream obtained as a result of encoding of a color image of a viewpoint and a depth image of the viewpoint and viewpoint generation information used to generate a color image of a display viewpoint which is generated in accordance with a generation method of the color image of the display viewpoint obtained by performing warping processing using the color image and the depth image are received, and the color image and the depth image are generated by decoding the bit stream received in the processing of the receiving step, and the color image of the display viewpoint is generated by performing warping processing using the color image and the depth image and the viewpoint generation information.
An image processing apparatus according to the first and second aspects can be achieved by causing a computer to execute a program.
In order to achieve the image processing apparatus according to the first and second aspects, a program executed by the computer can be provided by transmitting the program via a transmission medium or recording the program to a recording medium.
Effects of the Invention
According to the first aspect of the present technique, necessary information for generation of a color image of a display viewpoint using a color image of a predetermined viewpoint and a depth image can be transmitted.
According to the second aspect of the present technique, a color image of a display viewpoint can be generated using a color image of a predetermined viewpoint and a depth image.



BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a figure illustrating syntax of Multiview acquisition information SEI.
FIG. 2 is a block diagram illustrating an example of configuration of a first embodiment of an encoding device serving as an image processing apparatus to which the present technique is applied.
FIG. 3 is a figure illustrating an example of configuration of an access unit of an encoded bit stream.
FIG. 4 is a figure illustrating an example of description of a portion of SEI.
FIG. 5 is a flowchart explaining encoding processing of the encoding device of FIG. 2.
FIG. 6 is a flowchart explaining the details of multi-viewpoint encoding processing of FIG. 5.
FIG. 7 is a block diagram illustrating an example of configuration of the first embodiment of a decoding device serving as an image processing apparatus to which the present technique is applied.
FIG. 8 is a figure explaining warping processing of a depth image.
FIG. 9 is a flowchart explaining decoding processing of the decoding device of FIG. 7.
FIG. 10 is a flowchart explaining the details of multi-viewpoint decoding processing of FIG. 9.
FIG. 11 is a block diagram illustrating an example of configuration of a second embodiment of an encoding device serving as an image processing apparatus to which the present technique is applied.
FIG. 12 is a figure explaining a parallax related maximum value and a parallax related minimum value of viewpoint generation information.
FIG. 13 is a figure explaining parallax accuracy parameter of the viewpoint generation information.
FIG. 14 is a figure explaining an inter-camera distance of the viewpoint generation information.
FIG. 15 is a block diagram illustrating an example of configuration of the multi-viewpoint image encoding unit of FIG. 11.
FIG. 16 is a figure illustrating an example of configuration of an encoded bit stream.
FIG. 17 is a figure illustrating an example of syntax of PPS of FIG. 16.
FIG. 18 is a figure illustrating an example of syntax of a slice header.
FIG. 19 is a figure illustrating an example of syntax of a slice header.
FIG. 20 is a flowchart explaining encoding processing of the encoding device of FIG. 11.
FIG. 21 is a flowchart explaining the multi-viewpoint encoding processing of FIG. 20.
FIG. 22 is a block diagram illustrating an example of configuration of the second embodiment of a decoding device serving as an image processing apparatus to which the present technique is applied.
FIG. 23 is a block diagram illustrating an example of configuration of the multi-viewpoint image decoding unit of FIG. 22.
FIG. 24 is a flowchart explaining the multi-viewpoint decoding processing of the multi-viewpoint image decoding unit of FIG. 22.
FIG. 25 is a figure explaining parallax and depth.
FIG. 26 is a block diagram illustrating an example of configuration of an embodiment of a computer.
FIG. 27 is a figure illustrating an example of schematic configuration of a television device to which the present technique is applied.
FIG. 28 is a figure illustrating an example of schematic configuration of a portable telephone to which the present technique is applied.
FIG. 29 is a figure illustrating an example of schematic configuration of a recording/reproducing device to which the present technique is applied.
FIG. 30 is a figure illustrating an example of schematic configuration of an image-capturing device to which the present technique is applied.



MODE FOR CARRYING OUT THE INVENTION
<Explanation about Depth Image (Parallax Related Image) in this Specification>
FIG. 25 is a figure explaining parallax and depth.
As illustrated in FIG. 25, when a color image of a subject M is captured by a camera c1 provided at a position C1 and a camera c2 provided at a position C2, a depth Z of the subject M which is a distance in a depth direction from the camera c1 (camera c2) is defined by the following expression (a).

Z=(L/d)×f  (a)

It should be noted that L denotes a distance between the position C1 and the position C2 in a horizontal direction (hereinafter referred to as inter-camera distance). Variable d denotes a value obtained by subtracting a distance u2 of the position of the subject M on the color image captured by the camera c2 in the horizontal direction from the center of the color image from a distance u1 of the position of the subject M on the color image captured by the camera c1 in the horizontal direction from the center of the color image. More specifically, d denotes parallax. Further, f denotes the focal distance of the camera c1. In the expression (a), the focal distances of the camera c1 and the camera c2 are the same.
As shown in the expression (a), the parallax d and the depth Z can be converted uniquely. Therefore, in this specification, the parallax image representing the parallax d of the color images of two viewpoints taken by the camera c1 and the camera c2 and the depth image representing the depth Z are collectively referred to as a depth image (parallax related image).
It should be noted that the depth image (parallax related image) may be an image representing the parallax d or the depth Z, and the pixel value of the depth image (parallax related image) may not be the parallax d or depth Z itself. For example, a value obtained by normalizing the parallax d or a value obtained by normalizing a reciprocal number 1/Z of the depth Z may be employed.
A value I obtained by normalizing the parallax d with 8 bits (0 to 255) can be obtained from the following expression (b). The number of normalization bits of the parallax d is not limited to eight bits. It may be other bit numbers such as 10 bits and 12 bits.




  
    
      
        [
        
          Mathematical
          ⁢
          
            
          
          ⁢
          Formula
          ⁢
          
            
          
          ⁢
          4
        
        ]
      
    
    
      
        
      
    
  
  
    
      
        I
        =
        
          
            255
            ×
            
              (
              
                d
                -
                
                  D
                  min
                
              
              )
            
          
          
            
              D
              max
            
            -
            
              D
              min
            
          
        
      
    
    
      
        (
        b
        )
      
    
  




In the expression (b), Dmax is the maximum value of the parallax d, Dmin is the minimum value of the parallax d. The maximum value Dmax and the minimum value Dmin may be set in unit of screen, or may be set in units of multiple screens.
A value y obtained by normalizing the reciprocal number 1/Z of the depth Z with 8 bits (0 to 255) can be obtained from the following expression (c). The number of normalization bits of the reciprocal number 1/Z of the depth Z is not limited to 8 bits. It may be other bit numbers such as 10 bits and 12 bits.




  
    
      
        [
        
          Mathematical
          ⁢
          
            
          
          ⁢
          Formula
          ⁢
          
            
          
          ⁢
          5
        
        ]
      
    
    
      
        
      
    
  
  
    
      
        y
        =
        
          255
          ×
          
            
              
                1
                Z
              
              -
              
                1
                
                  Z
                  far
                
              
            
            
              
                1
                
                  Z
                  near
                
              
              -
              
                1
                
                  Z
                  far
                
              
            
          
        
      
    
    
      
        (
        c
        )
      
    
  




In the expression (c), Zfar denotes the maximum value of the depth Z, and Znear denotes the minimum value of the depth Z. The maximum value Zfar and the minimum value Znear may be set in unit of screen, or may be set in units of multiple screens.
As described above, in this specification, since the parallax d and the depth Z can be converted uniquely, the parallax image in which the value I obtained by normalizing the parallax d is the pixel value and the depth image in which the value y obtained by normalizing the reciprocal number 1/Z of the depth Z is the pixel value are collectively referred to as the depth image (parallax related image). In this case, the color format of the depth image (parallax related image) is either YUV420 or YUV400, but may be other color formats.
When the value I or the value y is not used as the pixel value of the depth image (parallax related image) and attention is given to the information of the value I or the value y itself, the value I or the value y is adopted as depth information. Further, what is obtained by mapping the value I or the value y will be referred to as a depth map.
First Embodiment
Example of Configuration of First Embodiment of Encoding Device
FIG. 2 is a block diagram illustrating an example of configuration of a first embodiment of an encoding device serving as an image processing apparatus to which the present technique is applied.
An encoding device 10 of FIG. 2 includes a multi-viewpoint color image image-capturing unit 11, a multi-viewpoint color image correction unit 12, a multi-viewpoint parallax related image generation unit 13, a viewpoint generation information generation unit 14, and a multi-viewpoint image encoding unit 15.
The encoding device 10 encodes a color image of a predetermined viewpoint and a parallax related image, and uses the color image of the predetermined viewpoint and the parallax related image to add and transmit viewpoint generation information which is information for generating a color image of a viewpoint other than the predetermined viewpoint.
The multi-viewpoint color image image-capturing unit 11 of the encoding device 10 captures color images of multiple viewpoints, and provides them as multi-viewpoint color images to the multi-viewpoint color image correction unit 12. The multi-viewpoint color image image-capturing unit 11 generates, as image-capturing information, information about image-capturing such as the number of viewpoints of the color images, external parameters, and range information, and provides the information to the viewpoint generation information generation unit 14.
It should be noted that the external parameter is a parameter for defining the position of multi-viewpoint color image image-capturing unit 11 in the horizontal direction.
When the parallax related image generated by the multi-viewpoint parallax related image generation unit 13 is a depth image, the range information includes the minimum value (minimum value Znear) and the maximum value (maximum value Zfar) of world coordinate values at positions in the depth direction that would occur in the multi-viewpoint parallax related image (multi-viewpoint depth image). The minimum value and the maximum value will be hereinafter referred to as a depth minimum value and a depth maximum value, respectively. On the other hand, when the parallax related image generated by the multi-viewpoint parallax related image generation unit 13 is a parallax image, the range information includes the minimum value (minimum value Dmin) and the maximum value (maximum value Dmax) of parallax on the world coordinate that would occur in the multi-viewpoint parallax related image, and also information for identifying a color image of a viewpoint adopted as a base point when a parallax value is obtained. The minimum value and the maximum value will be hereinafter referred to as a parallax minimum value and a parallax maximum value, respectively.
The multi-viewpoint color image correction unit 12 performs color correction, brightness correction, distortion correction, and the like on the multi-viewpoint color images provided from the multi-viewpoint color image image-capturing unit 11. Accordingly, the focal distance of the multi-viewpoint color image image-capturing unit 11 in the corrected multi-viewpoint color image in the horizontal direction (X direction) is the same at all the viewpoints. The multi-viewpoint color image correction unit 12 provides the corrected multi-viewpoint color image to the multi-viewpoint parallax related image generation unit 13 and the multi-viewpoint image encoding unit 15 as multi-viewpoint corrected color images. The multi-viewpoint color image correction unit 12 generates information about the multi-viewpoint corrected color image such as internal parameters as color image information, and provides the information to the viewpoint generation information generation unit 14.
The internal parameters include the focal distance, in the horizontal direction, of the multi-viewpoint color image image-capturing unit 11 which is the same for all the viewpoints in the multi-viewpoint corrected color images, and the principal point which is the center of the image, i.e., the position of the optical center of the lens in the horizontal direction. The position of the principal point in the horizontal direction may be different for each viewpoint.
The multi-viewpoint parallax related image generation unit 13 generates parallax related images of multiple viewpoints from the multi-viewpoint corrected color images provided from the multi-viewpoint color image correction unit 12. Then, the multi-viewpoint parallax related image generation unit 13 provides the generated parallax related images of multiple viewpoints to the multi-viewpoint image encoding unit 15 as the multi-viewpoint parallax related image.
The multi-viewpoint parallax related image generation unit 13 generates, as parallax related image information (depth image information), information about the multi-viewpoint parallax related image such as the number of viewpoints of the multi-viewpoint parallax related images, image type information indicating whether the multi-viewpoint parallax related image is a depth image or a parallax image (depth image identification information). Then, the multi-viewpoint parallax related image generation unit 13 provides the parallax related image information to the viewpoint generation information generation unit 14.
The viewpoint generation information generation unit 14 functions as a generation unit, and uses the multi-viewpoint corrected color image and the multi-viewpoint parallax related image to generate viewpoint generation information in accordance with a predetermined method for generating a color image of another viewpoint. More specifically, the viewpoint generation information generation unit 14 generates the color image identification information and the parallax related image identification information (depth image identification information) on the basis of the number of viewpoints of the color images provided from the multi-viewpoint color image image-capturing unit 11 and the number of viewpoints of the parallax related images provided from the multi-viewpoint parallax related image generation unit 13. It should be noted that the color image identification information is information for identifying the color image, and the parallax related image identification information is information for identifying the parallax related image.
The viewpoint generation information generation unit 14 generates an external parameter flag indicating presence/absence of an external parameter at each viewpoint corresponding to the multi-viewpoint parallax related image on the basis of the external parameter included in the image-capturing information provided by the multi-viewpoint color image image-capturing unit 11. Further, the viewpoint generation information generation unit 14 generates an internal parameter flag indicating presence/absence of an internal parameter at each viewpoint corresponding to the multi-viewpoint parallax related image on the basis of the internal parameter included in the color image information provided by the multi-viewpoint color image correction unit 12. Then, the viewpoint generation information generation unit 14 generates viewpoint generation information from the color image identification information, the parallax related image identification information, the external parameter flag, the internal parameter flag, the image-capturing information, the color image information, and the parallax related image information. The viewpoint generation information is constituted by the color image identification information, the parallax related image identification information, the external parameter information, the internal parameter information, the number of viewpoints of the color images, the range information, the number of viewpoints of the parallax related images, and the image type information. It should be noted that the external parameter information is constituted by the external parameter flag and the external parameter of the viewpoint corresponding to the multi-viewpoint parallax related image, and the internal parameter information is constituted by the internal parameter flag and the internal parameter of the viewpoint corresponding to the multi-viewpoint parallax related image. The viewpoint generation information generation unit 14 provides the generated viewpoint generation information to the multi-viewpoint image encoding unit 15.
The multi-viewpoint image encoding unit 15 functions as an encoding unit, and encodes the multi-viewpoint corrected color image provided by the multi-viewpoint color image correction unit 12 and the multi-viewpoint parallax related image provided by the multi-viewpoint parallax related image generation unit 13 in accordance with the same method as MVC (Multiview Video Coding) method, and adds the viewpoint generation information provided by the viewpoint generation information generation unit 14. The multi-viewpoint image encoding unit 15 functions as a transmission unit, and transmits, as an encoded bit stream, the bit stream obtained as a result.
[Example of Configuration of Encoded Bit Stream]
FIG. 3 is a figure illustrating an example of configuration of an access unit of an encoded bit stream generated by the encoding device 10 of FIG. 2.
As illustrated in FIG. 3, the access unit of the encoded bit stream is constituted by SPS (Sequence Parameter Set), Subset SPS, PPS (Picture Parameter Set), SEI, and slice.
In the example of FIG. 3, the number of viewpoints of the multi-viewpoint corrected color images and the multi-viewpoint parallax related images is two. The corrected color image A which is one of viewpoints of the multi-viewpoint corrected color images of the two viewpoints is encoded as a base view. The corrected color image B of the other of the viewpoints, the parallax related image A corresponding to the color image A, and the parallax related image B corresponding to the color image B are encoded as non-base views.
As a result, the slices are arranged, for example, in the following order: a slice for the color image A encoded as the base view, a slice of the parallax related image A encoded as the non-base view, and a slice for the color image B, and then a slice for the parallax related image B. In the header portion of each slice, information for identifying PPS is described.
SPS is a header including information about encoding of the base view. Subset SPS is an extension header including information about encoding of the base view and the non-base view. PPS is a header including information indicating encoding mode of the entire picture and information for identifying SPS and Subset SPS. SEI is additional information which is not requisite for decoding, and includes viewpoint generation information and the like.
During decoding of the color image A which is encoded as the base view, PPS is looked up on the basis of information for identifying PPS described in the header portion of the color image A, and SPS is looked up on the basis of information for identifying SPS described in PPS.
On the other hand, during decoding of the parallax related image A encoded as the non-base view, PPS is looked up on the basis of information for identifying PPS described in the header of the parallax related image A. Sub SPS is looked up on the basis of information for identifying Sub SPS described in PPS. During decoding of the color image B and the parallax related image B encoded as the non-base view, PPS is also looked up and Sub SPS is also looked up just like during decoding of the parallax related image A.
[Example of a Portion of Description of SEI]
FIG. 4 is a figure illustrating an example of description of a portion of SEI.
In the second line from the top at the left side of SEI of FIG. 4, the number of viewpoints (num_color_view_minus_1) of the color image is described. In the third line, the number of viewpoints (num_depth_view_minus_1) of the parallax related image is described.
In the fifth line from the top at the left side of FIG. 4, the view ID (color_view_id) of the color image is described as the color image identification information of the color image of each viewpoint. In the seventh line, the view ID (depth_view_id) of the parallax related image is described as the parallax related image identification information of the parallax related image of each viewpoint. In the eighth line from the top at the left side of FIG. 4, the internal parameter flag in the internal parameter information is described for each viewpoint corresponding to the multi-viewpoint parallax related image. In the ninth line, the external parameter flag in the external parameter information is described for each viewpoint corresponding to the multi-viewpoint parallax related image.
In the 11th and 13th to 15th lines from the top at the left side of FIG. 4, the focal distance in the horizontal direction in the internal parameter is described.
In SEI of FIG. 4, real number x is described as a floating point number using prec value, sign value, exponent value, and a mantissa value defined by the following expression (1).
When e=0 holds,

v=Max(0,prec-30)

x=(−1)S·2−(30+v)·n 

When 0<e≦62 holds,

v=Max(0,e+prec-31)

x=(−1)S·2e−31·(1+n/2v)  (1)

In the expression (1), prec denotes prec value, s denotes sign value, e denotes exponent value, and n denotes mantissa value. Accordingly, sign value, exponent value, mantissa value represent sign, exponent, mantissa of the real number x, respectively.
As described above, the real number x is described as a floating point number, and therefore, in the 11th and 13th to 15th lines from the top at the left side of FIG. 4, prec value (prec_focal_length), sign value (sign_focal_length_x), exponent value (exponent_focal_length_x), mantissa value (mantissa_focal_length_x) of the focal distance in the horizontal distance are described, respectively.
In the 12th line from the top at the left side of FIG. 4, a value common to each viewpoint corresponding to the multi-viewpoint parallax related image is described as prec value (prec_principal_point) at the position of the principal point in the horizontal direction. In the 17th to 19th lines from the top at the left side of FIG. 4, sign value (sign_principal_point_x), exponent value (exponent_principal_point_x), mantissa value (mantissa_principal_point_x) at the position of principal point in the horizontal direction are described for each viewpoint corresponding to the multi-viewpoint parallax related image.
In the 2nd line from the top at the right side of FIG. 4, a value common to each viewpoint corresponding to the multi-viewpoint parallax related image is described as prec value (prec_translation_param) of the external parameter. In the 4th to 6th lines from the top at the right side of FIG. 4, external parameters of sign value (sign_translation_x), exponent value (exponent_translation_x), mantissa value (mantissa_translation_x) are described for each viewpoint corresponding to the multi-viewpoint parallax related image.
In the 9th lines from the top at the right side of FIG. 4, image type information (depth_map_flag) is described. In the 11th to 12th lines from the top at the right side of FIG. 4, when the image type information indicates the depth image, the depth minimum value (depth_nearest) and the depth maximum value (depth_farthest) which are common to each viewpoint corresponding to the multi-viewpoint parallax related image in the range information are described.
Further, in the 16th to 18th lines from the top at the right side of FIG. 4, range information where the image type information indicates the parallax image is described. More specifically, in 16th and 17th lines, the parallax minimum value (disparity_minimum) and the parallax maximum value (disparity_maximum) are described, respectively. The parallax minimum value and the parallax maximum value are different according to the viewpoint, and therefore, they are generated and described for each viewpoint.
In the 18th line, the view ID (reference_depth_view) of the color image is described, for each viewpoint corresponding to the multi-viewpoint parallax related image, as information for identifying the color image of the viewpoint adopted as the base point when the parallax value is derived.
[Explanation about Processing of Encoding Device]
FIG. 5 is a flowchart explaining encoding processing of the encoding device 10 of FIG. 2.
In step S10 in FIG. 5, the multi-viewpoint color image image-capturing unit 11 of the encoding device 10 captures color images of multiple viewpoints, and provides them as multi-viewpoint color images to the multi-viewpoint color image correction unit 12.
In step S11, the multi-viewpoint color image image-capturing unit 11 generates image-capturing information, and provides it to the viewpoint generation information generation unit 14.
In step S12, the multi-viewpoint color image correction unit 12 performs color correction, brightness correction, distortion correction, and the like on the multi-viewpoint color images provided from the multi-viewpoint color image image-capturing unit 11. The multi-viewpoint color image correction unit 12 provides the corrected multi-viewpoint color image to the multi-viewpoint parallax related image generation unit 13 and the multi-viewpoint image encoding unit 15 as multi-viewpoint corrected color images.
In step S13, the multi-viewpoint color image correction unit 12 generates color image information, and provides it to the viewpoint generation information generation unit 14.
In step S14, the multi-viewpoint parallax related image generation unit 13 generates parallax related images of multiple viewpoints from the multi-viewpoint corrected color images provided from the multi-viewpoint color image correction unit 12. Then, the multi-viewpoint parallax related image generation unit 13 provides the generated parallax related images of multiple viewpoints to the multi-viewpoint image encoding unit 15 as the multi-viewpoint parallax related image.
In step S15, the multi-viewpoint parallax related image generation unit 13 generates parallax related image information, and provides it to the viewpoint generation information generation unit 14.
In step S16, the viewpoint generation information generation unit 14 generates color image identification information, parallax related image identification information, internal parameter flag, and external parameter flag on the basis of the image-capturing information, the color image information, and the parallax related image information.
In step S17, the viewpoint generation information generation unit 14 generates viewpoint generation information. More specifically, the viewpoint generation information generation unit 14 generates, as the viewpoint generation information, color image identification information, parallax related image identification information, the number of viewpoints of color images, external parameter information, internal parameter information, range information, the number of viewpoints of parallax related images, and image type information. The viewpoint generation information generation unit 14 provides the generated viewpoint generation information to the multi-viewpoint image encoding unit 15.
In step S18, the multi-viewpoint image encoding unit 15 performs multi-viewpoint encoding processing for encoding the multi-viewpoint corrected color image and the multi-viewpoint parallax related image, and adding the viewpoint generation information and the like. The details of the multi-viewpoint encoding processing will be explained with reference to FIG. 6 explained later.
In step S19, the multi-viewpoint image encoding unit 15 transmits the encoded bit stream generated as a result of step S18, and terminates the processing.
FIG. 6 is a flowchart explaining the details of multi-viewpoint encoding processing in step S18 of FIG. 5. This multi-viewpoint encoding processing is done, for example, in units of slices. In the multi-viewpoint encoding processing of FIG. 6, the images to be encoded are the color image A, the color image B, the parallax related image A, and the parallax related image B.
In step S31 of FIG. 6, the multi-viewpoint image encoding unit 15 generates SPS of a target slice which is slice of processing target, and gives an ID unique to SPS. In step S32, the multi-viewpoint image encoding unit 15 generates Subset SPS of the target slice, and gives an ID unique to the Subset SPS.
In step S33, the multi-viewpoint image encoding unit 15 generates PPS of the target slice including the ID given in steps S31 and S32, and gives an ID unique to the PPS. In step S34, the multi-viewpoint image encoding unit 15 generates SEI including the viewpoint generation information of the target slice.
In step S35, the multi-viewpoint image encoding unit 15 encodes the target slice of the color image A as a base view, and adds a header portion including the ID given in step S33. In step S36, the multi-viewpoint image encoding unit 15 encodes the target slice of the parallax related image A as a non-base view, and adds a header portion including the ID given in step S33.
In step S37, the multi-viewpoint image encoding unit 15 encodes the target slice of the color image B as a non-base view, and adds a header portion including the ID given in step S33. In step S38, the multi-viewpoint image encoding unit 15 encodes the target slice of the parallax related image B as a non-base view, and adds a header portion including the ID given in step S33.
Then, the multi-viewpoint image encoding unit 15 generates an encoded bit stream by arranging, in order, the SPS, the Subset SPS, the PPS, the SEI, the target slice of the color image A, the target slice of the parallax related image A, the target slice of the color image B, and the target slice of the parallax related image B thus generated. Then, processing in step S18 in FIG. 5 is performed again, and subsequently step S19 is performed.
In the multi-viewpoint encoding processing of FIG. 6, for the sake of explanation, the SPS is generated in unit of slice, but when the SPS of the current target slice is the same as the SPS of the previous target slice, such SPS is not generated. The same can be said to Subset SPS, PPS, and SEI.
As described above, the encoding device 10 uses the multi-viewpoint corrected color image and the multi-viewpoint parallax related image to generate the viewpoint generation information in accordance with a predetermined method for generating a color image of another viewpoint, and transmits it together with the color image of the predetermined viewpoint and the parallax related image. Therefore, the decoding device explained later can use the color image of the predetermined viewpoint, the parallax related image, and the viewpoint generation information to generate the color image of a viewpoint different from the predetermined viewpoint.
[Example of Configuration of First Embodiment of Decoding Device]
FIG. 7 is a block diagram illustrating an example of configuration of the first embodiment of a decoding device, serving as an image processing apparatus to which the present technique is applied, which decodes an encoded bit stream transmitted from the encoding device 10 of FIG. 2.
The decoding device 30 of FIG. 7 is constituted by a multi-viewpoint image decoding unit 31, a viewpoint compositing unit 32, and a multi-viewpoint image display unit 33.
The multi-viewpoint image decoding unit 31 of the decoding device 30 functions as a receiving unit, and receives the encoded bit stream transmitted from the encoding device 10 of FIG. 2. The multi-viewpoint image decoding unit 31 extracts the viewpoint generation information from the SEI of the received encoded bit stream, and provides the viewpoint generation information to the viewpoint compositing unit 32. The multi-viewpoint image decoding unit 31 functions as a decoding unit, and decodes the encoded bit stream in accordance with decoding method corresponding to the encoding method of the multi-viewpoint image encoding unit 15 of FIG. 2, and generates multi-viewpoint corrected color images and multi-viewpoint parallax related image. The multi-viewpoint image decoding unit 31 provides the multi-viewpoint corrected color images and the multi-viewpoint parallax related image to the viewpoint compositing unit 32.
The viewpoint compositing unit 32 uses the viewpoint generation information provided by the multi-viewpoint image decoding unit 31 to perform warping processing (the details of which will be explained later) on the multi-viewpoint parallax related image provided by the multi-viewpoint image decoding unit 31 for as many display viewpoints as the number of viewpoints corresponding to the multi-viewpoint image display unit 33.
More specifically, the viewpoint compositing unit 32 identifies the multi-viewpoint parallax related images for as many viewpoints as the number of viewpoints of the parallax related image from among the multi-viewpoint parallax related images and the multi-viewpoint corrected color images provided by the multi-viewpoint image decoding unit 31 on the basis of the parallax related image identification information included in the viewpoint generation information. Then, when the internal parameter flag included in the viewpoint generation information indicates presence of internal parameter, the viewpoint compositing unit 32 obtains the internal parameter from the viewpoint generation information. Then, when the external parameter flag included in the viewpoint generation information indicates presence of external parameter, the viewpoint compositing unit 32 obtains the external parameter from the viewpoint generation information. Then, the viewpoint compositing unit 32 performs warping processing on the multi-viewpoint parallax related image to warp the multi-viewpoint parallax related image according to the display viewpoints on the basis of the internal parameter and the external parameter thus obtained, and the image type information and the range information included in the viewpoint generation information.
The warping processing is processing for geometrically converting an image of a certain viewpoint into an image of another viewpoint. The display viewpoints include viewpoints other than the viewpoints corresponding to the multi-viewpoint color image.
The viewpoint compositing unit 32 uses the viewpoint generation information and the parallax related image of display viewpoints obtained as a result of warping processing to perform warping processing on the multi-viewpoint corrected color images provided by the multi-viewpoint image decoding unit 31 to warp them according to the display viewpoints. More specifically, viewpoint compositing unit 32 identifies the multi-viewpoint color images of as many viewpoints as the number of viewpoints of the color images from among the multi-viewpoint corrected color images and the multi-viewpoint parallax related image provided by the multi-viewpoint image decoding unit 31 on the basis of the color image identification information included in the viewpoint generation information. Then, the viewpoint compositing unit 32 uses the parallax related image for the display viewpoints obtained as a result of the warping processing to perform the warping processing on the multi-viewpoint corrected color images to warp them according to the display viewpoints.
The viewpoint compositing unit 32 provides the color images for the display viewpoints obtained as a result, to the multi-viewpoint image display unit 33 as the multi-viewpoint composed color images.
The multi-viewpoint image display unit 33 displays the multi-viewpoint composed color images provided by the viewpoint compositing unit 32 in such a manner that the viewable angle is different for each viewpoint. The viewer sees the images of two given viewpoints with their right and left eyes, thus seeing a 3D image from multiple viewpoints without wearing glasses.
[Explanation about Warping Processing of Depth Image]
FIG. 8 is a figure explaining warping processing of a depth image.
In the warping processing of the depth image, first, as illustrated in FIG. 8, a position m (x,y,z) of each pixel of the depth image for the viewpoint at a processing target position t (tx,ty,tz) is associated, via three dimensional space, with a position m′ (x′,y′,z′) of the depth image for the display viewpoint at a warping-processed position t′ (t′x,t′y,t′z).
More specifically, the position M (X,Y,Z) on the world coordinate corresponding to the position m (x,y,z) on the screen for the pixel of which depth value (value y) is a value corresponding to the position Z (depth Z) in the world coordinate in the depth direction in the depth image for the viewpoint at the position t (tx,ty,tz) is obtained according to the following expression (2), and the position m′ (x′,y′,z′) on the screen of the depth image for the display viewpoint at the position t′ (t′x, t′y, t′z) corresponding to the position M (X,Y,Z) is obtained.

(X,Y,Z)T=RA−1(x,y,1)TZ+(tx,ty,tz)T 

s(x′,y′,1)T=A′R′−1[(X,Y,Z)T−(t′x,t′y,t′z)T]  (2)

In the expression (2), R is a rotation matrix for transforming the coordinate on the multi-viewpoint color image image-capturing unit 11 into the world coordinate, and is a fixed matrix determined in advance. R′ is a rotation matrix for transforming the coordinate on the virtual image-capturing unit for capturing the color image corresponding to the warping-processed depth image into the world coordinate.
In the expression (2), A is a matrix for transforming the coordinate on the multi-viewpoint color image image-capturing unit 11 into the coordinate on the screen, and is represented by the following expression (3).




  
    
      
        [
        
          Mathematical
          ⁢
          
            
          
          ⁢
          Formula
          ⁢
          
            
          
          ⁢
          1
        
        ]
      
    
    
      
        
      
    
  
  
    
      
        A
        =
        
          [
          
            
              
                
                  focal_length
                  ⁢
                  _x
                
              
              
                radial_distortion
              
              
                
                  principal_point
                  ⁢
                  _x
                
              
            
            
              
                0.0
              
              
                
                  focal_length
                  ⁢
                  _y
                
              
              
                
                  principal_point
                  ⁢
                  _y
                
              
            
            
              
                0.0
              
              
                0.0
              
              
                1.0
              
            
          
          ]
        
      
    
    
      
        (
        3
        )
      
    
  




In the expression (3), focal_length_x, focal_length_y represent the focal distance of the multi-viewpoint color image image-capturing unit 11 in the horizontal direction and the vertical direction (y direction), respectively. It should be noted that principal_point_x, principal_point_y represent the positions of the principal points of the multi-viewpoint color image image-capturing unit 11 in the horizontal direction and the vertical direction, respectively. The radial_distortion represents a strain coefficient in the radius direction.
However, the viewpoint compositing unit 32 does not use the focal distance in the vertical direction and the position of the principal point in the vertical direction in the expression (3). Correction is made by the multi-viewpoint color image correction unit 12 so that the strain coefficient in the radius direction becomes zero.
A′ is a matrix, expressed in the same manner as A, for transforming the coordinate of the virtual image-capturing unit for capturing the color image corresponding to the warping-processed depth image into the coordinate on the screen, and is determined in advance. In the expression (2), s is a scaling factor, and is a fixed value determined in advance. In this case, ty and tz are fixed values determined in advance.
Therefore, information other than the depth image required to associate the position m (x,y,z) and the position m′ (x′,y′,z′) is the focal distance in the horizontal direction, the position of the principal point in the horizontal direction, the position of the multi-viewpoint color image image-capturing unit 11 in the horizontal direction, and the depth minimum value and the depth maximum value required to transform the depth value into the position Z. Such information is included in the viewpoint generation information.
After the association is made as described above, the pixel of the depth image having been subjected to the warping processing corresponding to each pixel of the depth image of the processing target is determined on the basis of the position m′ (x′,y′,z′) corresponding to the position m (x,y,z) of each pixel. Then, the depth value of each pixel of the depth image of the processing target is adopted as the depth value of the pixel of the warping-processed depth image corresponding to the pixel.
It should be noted that the warping processing for the parallax image is done in the same manner as that performed on the depth image except that the depth value (value y) is replaced with the parallax value (value I).
[Explanation about Processing of Decoding Device]
FIG. 9 is a flowchart explaining decoding processing of the decoding device 30 of FIG. 7. This decoding processing is started, for example, when the encoded bit stream is transmitted from the encoding device 10 of FIG. 2.
In step S51 of FIG. 9, the multi-viewpoint image decoding unit 31 of the decoding device 30 receives the encoded bit stream transmitted from the encoding device 10 of FIG. 2.
In step S52, the multi-viewpoint image decoding unit 31 decodes the received encoded bit stream, and performs the multi-viewpoint decoding processing for extracting the viewpoint generation information. The details of the multi-viewpoint decoding processing will be explained with reference to FIG. 10 explained later.
In step S53, the viewpoint compositing unit 32 functions as a generation unit, and generates the multi-viewpoint composed color image using the viewpoint generation information provided by the multi-viewpoint image decoding unit 31, the multi-viewpoint corrected color images, and the multi-viewpoint parallax related image.
In step S54, the multi-viewpoint image display unit 33 displays the multi-viewpoint composed color image provided by the viewpoint compositing unit 32 in such a manner that the viewable angle, and terminates the processing.
FIG. 10 is a flowchart explaining the details of multi-viewpoint decoding processing in step S52 of FIG. 9. This multi-viewpoint decoding processing is done, for example, in units of slices. In the multi-viewpoint decoding processing of FIG. 10, the images of the decoding target are the color image A, the color image B, the parallax related image A, and the parallax related image B.
In step S71 of FIG. 10, the multi-viewpoint image decoding unit 31 extracts SPS from the received encoded bit stream. In step S72, the multi-viewpoint image decoding unit 31 extracts Subset SPS from the encoded bit stream. In step S73, the multi-viewpoint image decoding unit 31 extracts PPS from the encoded bit stream.
In step S74, the multi-viewpoint image decoding unit 31 extracts SEI from the encoded bit stream, and provides the viewpoint generation information included in the SEI to the viewpoint compositing unit 32.
In step S75, on the basis of the ID of PPS included in the header of the target slice of the color image A, the multi-viewpoint image decoding unit 31 activates the PPS to which the ID is given. In step S76, on the basis of the ID of SPS included in PPS and activated in step S75, the multi-viewpoint image decoding unit 31 activates the SPS to which the ID is given.
In step S77, the multi-viewpoint image decoding unit 31 looks up the PPS and the SPS activated, and decodes the target slice of the color image A as the base view, and provides it to the viewpoint compositing unit 32.
In step S78, on the basis of the ID of Subset SPS included in PPS and activated, the multi-viewpoint image decoding unit 31 activates the Subset SPS to which the ID is given. In step S79, the multi-viewpoint image decoding unit 31 looks up the PPS and the Subset SPS activated, and decodes the target slice of the parallax related image A as the non-base view, and provides it to the viewpoint compositing unit 32.
In step S80, the multi-viewpoint image decoding unit 31 looks up the PPS and the Subset SPS activated, and decodes the target slice of the color image B as the non-base view, and provides it to the viewpoint compositing unit 32. In step S81, the multi-viewpoint image decoding unit 31 looks up the PPS and the Subset SPS activated, and decodes the target slice of the parallax related image B as the non-base view, and provides it to the viewpoint compositing unit 32. Then, processing in step S52 in FIG. 9 is performed again, and subsequently step S53 is performed.
In the multi-viewpoint decoding processing of FIG. 10, for the sake of explanation, the SPS, the Subset SPS, the PPS, and the SEI are considered to be generated for all the slices, and are configured to be extracted at all times for each slice, but when there is a slice for which the SPS, the Subset SPS, the PPS, and the SEI are not generated, processing for extracting the SPS, the Subset SPS, the PPS, and the SEI is skipped.
As described above, the decoding device 30 receives, from the encoding device 10, the color image of the predetermined viewpoint and the parallax related image as well as the viewpoint generation information. Therefore, the decoding device 30 can use the color image of the predetermined viewpoint, the parallax related image, and the viewpoint generation information to generate the color image of a viewpoint different from the predetermined viewpoint.
In contrast, the bit stream encoded according to MVC method which is a conventional encoding method does not include necessary information for generating a color image of a viewpoint different from a predetermined viewpoint using the color image of the predetermined viewpoint and the parallax related image. More specifically, it does not include information for identifying the color image and parallax related image, information for identifying the parallax image and the depth image, and the range information.
The multiview acquisition information SEI as illustrated in FIG. 1 includes parameters for the inside of the camera and the outside of the camera, but includes much unnecessary information other than the viewpoint generation information. Further, in the multiview acquisition information SEI, the parameters for the inside of the camera are described for all the viewpoints or only for particular viewpoints, regardless of the types of the parameters. Therefore, when the parameters for the inside of the camera are described for all the viewpoints, it includes much redundant information, and when the parameters for only for particular viewpoints are described, such information is insufficient. In the multiview acquisition information SEI, the parameters outside of the camera are described for all the viewpoints, and therefore, much redundant information is included.
In the encoding device 10, the multi-viewpoint parallax related image is generated from the multi-viewpoint corrected color image, but it may be generated by sensors detecting the parallax value and the depth value during image capturing of the multi-viewpoint color image. This is applicable to the encoding device 50 explained later.
The viewpoint generation information may include any one of the color image identification information and the parallax related image identification information. In this case, the decoding device 30 identifies, as an image not identified, one of images of the multi-viewpoint color image and the multi-viewpoint parallax related image that is not identified. For example, the viewpoint generation information includes only the color image identification information, the decoding device 30 identifies the multi-viewpoint color image on the basis of the color image identification information, and determines that the images other than that are the multi-viewpoint parallax related images.
In the first embodiment, the viewpoint generation information is transmitted in the SEI. Alternatively, the viewpoint generation information may be included in the VCL (Video Coding Layer), the SPS (Sequence Parameter Set) and the PPS (Picture Parameter Set) of the NAL (Network Abstraction Layer), and the like.
Second Embodiment
Example of Configuration of Second Embodiment of Encoding Device
FIG. 11 is a block diagram illustrating an example of configuration of a second embodiment of an encoding device serving as an image processing apparatus to which the present technique is applied.
An encoding device 50 of FIG. 11 includes a multi-viewpoint color image image-capturing unit 51, a multi-viewpoint color image correction unit 52, a multi-viewpoint parallax related image generation unit 53, a viewpoint generation information generation unit 54, and a multi-viewpoint image encoding unit 55. The encoding device 50 transmits a portion of the viewpoint generation information as information about encoding (encoding parameter).
More specifically, the multi-viewpoint color image image-capturing unit 51 of the encoding device 10 captures color images of multiple viewpoints, and provides them as multi-viewpoint color images to the multi-viewpoint color image correction unit 52. The multi-viewpoint color image image-capturing unit 51 generates external parameter, parallax related maximum value (depth maximum value), and parallax related minimum value (depth minimum value) (the details of which will be explained later). The multi-viewpoint color image image-capturing unit 51 provides the external parameter, the parallax related maximum value, and the parallax related minimum value to the viewpoint generation information generation unit 54, and provides the parallax related maximum value and the parallax related minimum value to the multi-viewpoint parallax related image generation unit 53.
When the parallax related image generated by the multi-viewpoint parallax related image generation unit 53 is a depth image, the parallax related maximum value is a depth maximum value, and when it is a parallax image, the parallax related maximum value is a parallax maximum value. When the parallax related image generated by the multi-viewpoint parallax related image generation unit 53 is a depth image, the parallax related minimum value is a depth minimum value, and when it is a parallax image, the parallax related minimum value is a parallax minimum value.
The multi-viewpoint color image correction unit 52 performs color correction, brightness correction, distortion correction, and the like on the multi-viewpoint color images provided from the multi-viewpoint color image image-capturing unit 51. Accordingly, the focal distance of the multi-viewpoint color image image-capturing unit 51 in the corrected multi-viewpoint color image in the horizontal direction (X direction) is the same at all the viewpoints. The multi-viewpoint color image correction unit 52 provides the corrected multi-viewpoint color image to the multi-viewpoint parallax related image generation unit 53 and the multi-viewpoint image encoding unit 55 as multi-viewpoint corrected color images.
On the basis of the parallax related maximum value and the parallax related minimum value provided from the multi-viewpoint color image image-capturing unit 51, the multi-viewpoint parallax related image generation unit 53 generates parallax related images of multiple viewpoints from the multi-viewpoint corrected color images provided from the multi-viewpoint color image correction unit 52. More specifically, the multi-viewpoint parallax related image generation unit 53 obtains a parallax related value which has not yet normalized at each pixel (the reciprocal number 1/Z of the depth Z or the parallax d) from the multi-viewpoint corrected color image for each viewpoint of multiple viewpoints, and normalizes the parallax related value which has not yet normalized on the basis of the parallax related maximum value and the parallax related minimum value. Then, the multi-viewpoint parallax related image generation unit 53 generates a parallax related image in which the parallax related value (value y,value I) of each pixel normalized is a pixel value of the pixel of the parallax related image for each viewpoint of the multiple viewpoints.
Then, the multi-viewpoint parallax related image generation unit 53 provides the generated parallax related images of multiple viewpoints to the multi-viewpoint image encoding unit 55 as the multi-viewpoint parallax related image. Further, the multi-viewpoint parallax related image generation unit 53 generates parallax accuracy parameter (depth accuracy parameter) representing the accuracy of the pixel value of the multi-viewpoint parallax related image, and provides the parallax accuracy parameter to the viewpoint generation information generation unit 54.
The viewpoint generation information generation unit 54 functions as a generation unit, and uses the multi-viewpoint corrected color image and the multi-viewpoint parallax related image to generate viewpoint generation information in accordance with a predetermined method for generating a color image of another viewpoint. More specifically, the viewpoint generation information generation unit 54 obtains the inter-camera distance on the basis of the external parameters provided by the multi-viewpoint color image image-capturing unit 51. The inter-camera distance is a distance between the position of the multi-viewpoint color image image-capturing unit 51 in the horizontal direction when the multi-viewpoint color image image-capturing unit 51 captures a color image at each viewpoint of the multi-viewpoint parallax related image and the position of the multi-viewpoint color image image-capturing unit 51 in the horizontal direction when the multi-viewpoint color image image-capturing unit 51 captures a color image having a parallax corresponding to the parallax related image with respect to the color image thus captured.
The viewpoint generation information generation unit 54 adopts, as viewpoint generation information, the parallax related maximum value and the parallax related minimum value provided by the multi-viewpoint color image image-capturing unit 51, the inter-camera distance, and the parallax accuracy parameter provided by the multi-viewpoint parallax related image generation unit 53. The viewpoint generation information generation unit 54 provides the generated viewpoint generation information to the multi-viewpoint image encoding unit 55.
The multi-viewpoint image encoding unit 55 functions as an encoding unit, and encodes the multi-viewpoint corrected color image provided by the multi-viewpoint color image correction unit 52 and the multi-viewpoint parallax related image provided by the multi-viewpoint parallax related image generation unit 53 in accordance with the method according to HEVC (High Efficiency Video Coding) method. As of August, 2011, Thomas Wiegand, Woo-jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivian, “WD3: Working Draft3 of High-Efficiency Video Coding”, JCTVC-E603_d5 (version 5), May 20, 2011 was issued as a draft with regard to HEVC method.
The multi-viewpoint image encoding unit 55 performs differential encoding on the parallax related maximum value, the parallax related minimum value, and the inter-camera distance in the viewpoint generation information provided by the viewpoint generation information generation unit 54, and causes such information to be included information about encoding of the multi-viewpoint parallax related image. Then, the multi-viewpoint image encoding unit 55 transmits as an encoded bit stream, a bit stream including the multi-viewpoint corrected color images and the multi-viewpoint parallax related image which are encoded, the parallax related maximum value and the parallax related minimum value which are differential-encoded, the information about encoding including the inter-camera distance, the parallax accuracy parameter provided by the viewpoint generation information generation unit 54, and the like.
As described above, the multi-viewpoint image encoding unit 55 differential-encodes and transmits the parallax related maximum value, the parallax related minimum value, and the inter-camera distance, and therefore, can reduce the amount of codes of the viewpoint generation information. In order to provide comfortable 3D image, it is likely not to greatly change the parallax related maximum value, the parallax related minimum value, and the inter-camera distance between pictures, and therefore, the differential encoding is effective for reducing the amount of codes.
[Explanation about Viewpoint Generation Information]
FIG. 12 is a figure explaining a parallax related maximum value and a parallax related minimum value of viewpoint generation information.
In FIG. 12, the horizontal axis denotes the parallax related value that is not normalized, and the vertical axis denotes the pixel value of the parallax related image (depth information).
As illustrated in FIG. 12, the multi-viewpoint parallax related image generation unit 53 normalizes the non-normalized parallax related value of each pixel (the reciprocal number 1/Z of the depth Z or parallax d) into, for example, a value of 0 to 255, using the parallax related minimum value Dmin and the parallax related maximum value Dmax. Then, the multi-viewpoint parallax related image generation unit 53 generates a parallax related image in which the normalized parallax related value of each pixel which is a value of any one of 0 and 255 (depth information) is a pixel value.
More specifically, as described above, the pixel value I of each pixel in the parallax related image is represented by the following expression (4), using the non-normalized parallax related value d (parallax d), the parallax related minimum value Dmin, and the parallax related maximum value Dmax of that pixel.




  
    
      
        [
        
          Mathematical
          ⁢
          
            
          
          ⁢
          Formula
          ⁢
          
            
          
          ⁢
          2
        
        ]
      
    
    
      
        
      
    
  
  
    
      
        I
        =
        
          
            255
            *
            
              (
              
                d
                -
                
                  D
                  min
                
              
              )
            
          
          
            
              D
              max
            
            -
            
              D
              min
            
          
        
      
    
    
      
        (
        4
        )
      
    
  




Therefore, in the decoding device explained later, it is necessary to restore the non-normalized parallax related value d from the pixel value I of each pixel in the parallax related image in accordance with the following expression (5) using the parallax related minimum value Dmin and the parallax related maximum value Dmax.




  
    
      
        [
        
          Mathematical
          ⁢
          
            
          
          ⁢
          Formula
          ⁢
          
            
          
          ⁢
          3
        
        ]
      
    
    
      
        
      
    
  
  
    
      
        d
        =
        
          
            
              I
              255
            
            ⁢
            
              (
              
                
                  D
                  max
                
                -
                
                  D
                  min
                
              
              )
            
          
          +
          
            D
            min
          
        
      
    
    
      
        (
        5
        )
      
    
  




More specifically, as described above, the pixel value y of each pixel in the parallax related image is represented by the expression (c), using the non-normalized parallax related value Z (parallax Z), the parallax related minimum value Znear, and the parallax related maximum value Zfar of that pixel. Therefore, in the decoding device explained later, it is necessary to restore the parallax related value Z from the pixel value y of each pixel in the parallax related image using the parallax related minimum value Z, and the parallax related maximum value Zfar. Accordingly, the parallax related minimum value and the parallax related maximum value are transmitted to the decoding device.
FIG. 13 is a figure explaining parallax accuracy parameter of the viewpoint generation information.
As illustrated in the upper stage of FIG. 13, when the non-normalized parallax related value (the reciprocal number 1/Z of the depth Z or parallax d) per normalized parallax related value (depth information) is 0.5, the parallax accuracy parameter represents 0.5 which is the accuracy of the normalized parallax related value (depth information). As illustrated in the lower stage of FIG. 13, when the non-normalized parallax related value per normalized parallax related value is one, the parallax accuracy parameter represents 1.0 which is the accuracy of the parallax related value.
In the example of FIG. 13, the non-normalized parallax related value at the viewpoint #1 at the first viewpoint is 1.0, and the non-normalized parallax related value at the viewpoint #2 at the second viewpoint is 0.5. Therefore, the normalized parallax related value of the viewpoint #1 is 1.0 even though the accuracy of the parallax related value is either 0.5 or 1.0. On the other hand, the parallax related value of the viewpoint #2 is 0.5 even though the accuracy of the parallax related value is 0.5, and the parallax related value of the viewpoint #2 is 0 even though the accuracy of the parallax related value is 1.0.
FIG. 14 is a figure explaining an inter-camera distance of the viewpoint generation information.
As illustrated in FIG. 14, the inter-camera distance of the parallax related image of the viewpoint #1 with respect to the viewpoint #2 is a distance between the position represented by the external parameter of the viewpoint #1 and the position represented by the external parameter of the viewpoint #2.
[Example of Configuration of Multi-Viewpoint Image Encoding Unit]
FIG. 15 is a block diagram illustrating an example of configuration of the multi-viewpoint image encoding unit 55 of FIG. 11.
The multi-viewpoint image encoding unit 55 of FIG. 15 includes a slice encoding unit 61, a slice header encoding unit 62, a PPS encoding unit 63, and an SPS encoding unit 64.
The slice encoding unit 61 of the multi-viewpoint image encoding unit 55 encodes the multi-viewpoint corrected color image provided by the multi-viewpoint color image correction unit 52 and the multi-viewpoint parallax related image provided by the multi-viewpoint parallax related image generation unit 53 in accordance with the method according to the HEVC method in units of slices. The slice encoding unit 61 provides the slice header encoding unit 62 with encoded data in units of slices obtained as a result of encoding.
The slice header encoding unit 62 determines that the parallax related maximum value, the parallax related minimum value, and the inter-camera distance in the viewpoint generation information provided by the viewpoint generation information generation unit 54 are the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the slice of the current processing target, and holds them.
The slice header encoding unit 62 also determines whether the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the slice of the current processing target are the same as the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the previous slice in the order of encoding with respect to the slice, and this determination is made in unit to which the same PPS is given (hereinafter referred to as the same PPS unit).
Then, when all the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the slice constituting the same PPS unit are determined to be the same as the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the previous slice in the order of encoding, the slice header encoding unit 62 adds information about encoding other than the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of that slice as the slice header of the encoded data of each slice constituting the same PPS unit, and provides the information to the PPS encoding unit 63. The slice header encoding unit 62 provides the PPS encoding unit 63 with a transmission flag indicating absence of transmission of the difference-encoded results of the parallax related maximum value, the parallax related minimum value, and the inter-camera distance.
On the other hand, when all the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of at least one slice constituting the same PPS unit are determined not to be the same as the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the previous slice in the order of encoding, the slice header encoding unit 62 adds information about encoding including the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of that slice as the slice header to the encoded data of the intra-type slice, and provides the information to the PPS encoding unit 63.
The slice header encoding unit 62 performs difference encoding on the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the inter-type slice. More specifically, the slice header encoding unit 62 subtracts the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the previous slice in the order of encoding with respect to the slice from the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the inter-type slice, respectively, and obtains a difference-encoded result. Then, the slice header encoding unit 62 adds information about encoding including the difference-encoded result of the parallax related maximum value, the parallax related minimum value, and the inter-camera distance as the slice header to the encoded data of the inter-type slice, and provides the information to the PPS encoding unit 63.
In this case, the slice header encoding unit 62 provides the PPS encoding unit 63 with a transmission flag indicating presence of transmission of the difference-encoded results of the parallax related maximum value, the parallax related minimum value, and the inter-camera distance.
The PPS encoding unit 63 generates PPS including the transmission flag provided from the slice header encoding unit 62 and the parallax accuracy parameter in the viewpoint generation information provided from the viewpoint generation information generation unit 54 of FIG. 11. The PPS encoding unit 63 adds, in the same PPS unit, the PPS to the encoded data in units of slices to which the slice header provided from the slice header encoding unit 62 is added, and provides it to the SPS encoding unit 64.
The SPS encoding unit 64 generates SPS. Then, the SPS encoding unit 64 adds, in units of sequences, the SPS to the encoded data to which the PPS provided from the PPS encoding unit 63 is added. The SPS encoding unit 64 transmits, as an encoded bit stream, the bit stream obtained as a result.
[Example of Configuration of Encoded Bit Stream]
FIG. 16 is a figure illustrating an example of configuration of an encoded bit stream.
In FIG. 16, for the sake of explanation, only encoded data of slice of the multi-viewpoint parallax related image are described. But in reality, the encoded bit stream is also arranged with the encoded data of slice of the multi-viewpoint color image.
In the example of FIG. 16, the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the two inter-type slices and one intra-type slice constituting the same PPS unit of the PPS #0 which is the 0th PPS are not the same as the parallax related maximum value, the parallax related minimum value, and the inter-camera distance, respectively, of the previous slice in the order of encoding. Therefore, the PPS #0 includes a transmission flag “1” indicating presence of transmission. In the example of FIG. 16, the parallax accuracy of the slice constituting the same PPS unit of the PPS #0 is 0.5, and the PPS #0 includes “1” representing the parallax accuracy 0.5 as the parallax accuracy parameter.
Further, in the example of FIG. 16, the parallax related minimum value of the intra-type slice constituting the same PPS unit of the PPS #0 is 10, and the parallax related maximum value thereof is 50, and the inter-camera distance thereof is 100. Therefore, the slice header of the slice includes the parallax related minimum value “10”, the parallax related maximum value “50”, and the inter-camera distance “100”.
In the example of FIG. 16, the parallax related minimum value of the first inter-type slice constituting the same PPS unit of the PPS #0 is 9, and the parallax related maximum value thereof is 48, and the inter-camera distance thereof is 105. Therefore, the slice header of the slice includes, as the difference-encoded result of the parallax related minimum value, difference “−1” which is obtained by subtracting the parallax related minimum value “10” of the intra-type slice which is arranged before the slice in the order of encoding from the parallax related minimum value “9” of the slice. Likewise, the difference “−2” of the parallax related maximum value is included as the difference-encoded result of the parallax related maximum value, and the difference “5” of the inter-camera distance is included as the difference-encoded result of the inter-camera distance.
Further, in the example of FIG. 16, the parallax related minimum value of the second inter-type slice constituting the same PPS unit of the PPS #0 is 7, and the parallax related maximum value thereof is 47, and the inter-camera distance thereof is 110. Therefore, the slice header of the slice includes, as the difference-encoded result of the parallax related minimum value, difference “−2” which is obtained by subtracting the parallax related minimum value “9” of the first inter-type slice which is arranged before the slice in the order of encoding from the parallax related minimum value “7” of the slice. Likewise, the difference “−1” of the parallax related maximum value is included as the difference-encoded result of the parallax related maximum value, and the difference “5” of the inter-camera distance is included as the difference-encoded result of the inter-camera distance.
In the example of FIG. 16, the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the two inter-type slices and one intra-type slice constituting the same PPS unit of the PPS #1 which is the 1st PPS are the same as the parallax related maximum value, the parallax related minimum value, and the inter-camera distance, respectively, of the previous slice in the order of encoding. More specifically, the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the two inter-type slices and one intra-type slice constituting the same PPS unit of the PPS #1 which is the 1st PPS are “7”, “47”, and “110”, respectively, which are the same as those of the second inter-type slice constituting the same PPS unit of the PPS #0. Therefore, the PPS #1 includes a transmission flag “0” indicating absence of transmission. In the example of FIG. 16, the parallax accuracy of the slice constituting the same PPS unit of the PPS #1 is 0.5, and the PPS #1 includes “1” representing the parallax accuracy 0.5 as the parallax accuracy parameter.
[Example of Syntax of PPS]
FIG. 17 is a figure illustrating an example of syntax of PPS of FIG. 16.
As illustrated in FIG. 17, the PPS includes parallax accuracy parameter (disparity_precision) and transmission flag (dsiparity_pic_same_flag). For example, the parallax accuracy parameter is “0” when it indicates the parallax accuracy (the accuracy of the depth information) 1, and the parallax accuracy parameter is “2” when it indicates the parallax accuracy (the accuracy of the depth information) 0.25. As described above, the parallax accuracy parameter is “1” when it indicates the parallax accuracy (the accuracy of the depth information) 0.5. As described above, the transmission flag is “1” when it indicates presence of transmission, and the transmission flag is “0” when it indicates absence of transmission.
[Example of Syntax of Slice Header]
FIGS. 18 and 19 are figures illustrating an example of syntax of slice header.
As illustrated in FIG. 19, when the transmission flag is 1, and the type of the slice is intra-type, the slice header includes the parallax related minimum value (minimum_disparity), the parallax related maximum value (maximum_disparity), and the inter-camera distance (translation_x).
On the other hand, when the transmission flag is 1, and the type of the slice is inter-type, the slice header includes the difference-encoded result of the parallax related minimum value (delta_minimum_disparity), the difference-encoded result of the parallax related maximum value (delta_maximum_disparity), and the difference-encoded result of the inter-camera distance (delta_translation_x).
[Explanation about Processing of Encoding Device]
FIG. 20 is a flowchart explaining encoding processing of the encoding device 50 of FIG. 11.
In step S111 of FIG. 20, the multi-viewpoint color image image-capturing unit 51 of the encoding device 50 captures color images of multiple viewpoints, and provides them as multi-viewpoint color images to the multi-viewpoint color image correction unit 52.
In step S112, the multi-viewpoint color image image-capturing unit 51 generates the parallax related maximum value, the parallax related minimum value, and the external parameter. The multi-viewpoint color image image-capturing unit 51 provides the parallax related maximum value, the parallax related minimum value, and the external parameter to the viewpoint generation information generation unit 54, and provides the parallax related maximum value and the parallax related minimum value to the multi-viewpoint parallax related image generation unit 53.
In step S113, the multi-viewpoint color image correction unit 52 performs color correction, brightness correction, distortion correction, and the like on the multi-viewpoint color images provided from the multi-viewpoint color image image-capturing unit 51. Accordingly, the focal distance of the multi-viewpoint color image image-capturing unit 51 in the corrected multi-viewpoint color image in the horizontal direction (X direction) is the same at all the viewpoints. The multi-viewpoint color image correction unit 52 provides the corrected multi-viewpoint color image to the multi-viewpoint parallax related image generation unit 53 and the multi-viewpoint image encoding unit 55 as multi-viewpoint corrected color images.
In step S114, on the basis of the parallax related maximum value and the parallax related minimum value provided from the multi-viewpoint color image image-capturing unit 51, the multi-viewpoint parallax related image generation unit 53 generates parallax related images of multiple viewpoints from the multi-viewpoint corrected color images provided from the multi-viewpoint color image correction unit 52. Then, the multi-viewpoint parallax related image generation unit 53 provides the generated parallax related images of multiple viewpoints to the multi-viewpoint image encoding unit 55 as the multi-viewpoint parallax related image.
In step S115, the multi-viewpoint parallax related image generation unit 53 generates parallax accuracy parameters, and provides the parallax accuracy parameters to the viewpoint generation information generation unit 54.
In step S116, the viewpoint generation information generation unit 54 obtains the inter-camera distance on the basis of the external parameters provided by the multi-viewpoint color image image-capturing unit 51.
In step S117, the viewpoint generation information generation unit 54 generates, as viewpoint generation information, the parallax related maximum value and the parallax related minimum value provided by the multi-viewpoint color image image-capturing unit 51, the inter-camera distance, and the parallax accuracy parameter provided by the multi-viewpoint parallax related image generation unit 53. The viewpoint generation information generation unit 54 provides the generated viewpoint generation information to the multi-viewpoint image encoding unit 55.
In step S118, the multi-viewpoint image encoding unit 55 performs the multi-viewpoint encoding processing for encoding the multi-viewpoint corrected color image provided by the multi-viewpoint color image correction unit 52 and the multi-viewpoint parallax related image provided by the multi-viewpoint parallax related image generation unit 53 in accordance with the method according to HEVC method. The details of the multi-viewpoint encoding processing will be explained with reference to FIG. 21 explained later.
In step S119, the multi-viewpoint image encoding unit 55 transmits the encoded bit stream obtained as a result of the multi-viewpoint encoding processing, and terminates the processing.
FIG. 21 is a flowchart explaining the multi-viewpoint encoding processing in step S118 of FIG. 20.
In step S131 of FIG. 21, the slice encoding unit 61 of the multi-viewpoint image encoding unit 55 (FIG. 15) encodes the multi-viewpoint corrected color image provided by the multi-viewpoint color image correction unit 52 and the multi-viewpoint parallax related image provided by the multi-viewpoint parallax related image generation unit 53 in accordance with the method according to the HEVC method in units of slices. The slice encoding unit 61 provides the slice header encoding unit 62 with encoded data in units of slices obtained as a result of encoding.
In step S132, the slice header encoding unit 62 determines that the parallax related maximum value, the parallax related minimum value, and the inter-camera distance in the viewpoint generation information provided by the viewpoint generation information generation unit 54 are the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the slice of the current processing target, and holds them.
In step S133, the slice header encoding unit 62 determines whether the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of all the slices constituting the same PPS unit are the same as the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the previous slice in the order of encoding with respect to the slice.
When the inter-camera distance, the parallax related maximum value, and the parallax related minimum value are determined to be the same in step S133, the slice header encoding unit 62 generates a transmission flag indicating absence of transmission of the difference-encoded results of the parallax related maximum value, the parallax related minimum value, and the inter-camera distance, and provides it to the PPS encoding unit 63 in step S134.
In step S135, the slice header encoding unit 62 adds, as slice header, information about encoding other than the inter-camera distance, the parallax related maximum value, and the parallax related minimum value of that slice to the encoded data of each slice constituting the same PPS unit which is the processing target of step S133. Then, the slice header encoding unit 62 provides the PPS encoding unit 63 with the encoded data of each slice constituting the same PPS unit obtained as a result, and proceeds to processing in step S140.
On the other hand, when the inter-camera distance, the parallax related maximum value, and the parallax related minimum value are determined not to be the same in step S133, the slice header encoding unit 62 generates a transmission flag indicating presence of transmission of the difference-encoded results of the parallax related maximum value, the parallax related minimum value, and the inter-camera distance, and provides it to the PPS encoding unit 63 in step S136. The processing in steps S137 to S139 explained later is performed for each slice constituting the same PPS unit which is the processing target of step S133.
In step S137, the slice header encoding unit 62 determines whether the type of the slice constituting the same PPS unit which is the processing target of step S133 is intra-type or not. When the type of the slice is determined to be the intra-type in step S137, the slice header encoding unit 62 adds information about encoding including the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of that slice as the slice header to the encoded data of that slice in step S138. Then, the slice header encoding unit 62 provides the PPS encoding unit 63 with the encoded data in units of slices obtained as a result, and proceeds to the processing in step S140.
On the other hand, when the type of the slice is determined not to be the intra-type in step S137, more specifically, when the type of the slice is determined to be the inter-type, the processing in step S139 is performed. In step S139, the slice header encoding unit 62 performs difference encoding on the inter-camera distance, the parallax related maximum value, and the parallax related minimum value of that slice, and adds, as slice header, information about encoding including the difference-encoded result to that encoded data of that slice. Then, the slice header encoding unit 62 provides the PPS encoding unit 63 with the encoded data in units of slices obtained as a result, and proceeds to the processing in step S140.
In step S140, the PPS encoding unit 63 generates PPS including the transmission flag provided from the slice header encoding unit 62 and the parallax accuracy parameter in the viewpoint generation information provided from the viewpoint generation information generation unit 54 of FIG. 11.
In step S141, the PPS encoding unit 63 adds, in the same PPS unit, the PPS to the encoded data in units of slices to which the slice header provided from the slice header encoding unit 62 is added, and provides it to the SPS encoding unit 64.
In step S142, the SPS encoding unit 64 generates SPS.
In step S143, the SPS encoding unit 64 adds, in units of sequences, the SPS to the encoded data to which the PPS provided from the PPS encoding unit 63 is added, and generates an encoded bit stream.
As described above, the encoding device 50 arranges the inter-camera distance, the parallax related maximum value, and the parallax related minimum value in the slice header as information about encoding. Accordingly, for example, the inter-camera distance, the parallax related maximum value, and the parallax related minimum value can be used for encoding.
[Example of Configuration of Second Embodiment of Decoding Device]
FIG. 22 is a block diagram illustrating an example of configuration of the second embodiment of a decoding device, serving as an image processing apparatus to which the present technique is applied, which decodes an encoded bit stream transmitted from the encoding device 50 of FIG. 11.
In the configuration as illustrated in FIG. 22, the same configurations as those of FIG. 7 are denoted with the same reference numerals. Repeated explanations are omitted as necessary.
The configuration of the decoding device 80 of FIG. 22 is different from the configuration of FIG. 7 in that the decoding device 80 includes a multi-viewpoint image decoding unit 81 and a viewpoint compositing unit 82 instead of the multi-viewpoint image decoding unit 31 and the viewpoint compositing unit 32. The decoding device 80 displays multi-viewpoint composed color images on the basis of the viewpoint generation information transmitted from the encoding device 50.
More specifically, the multi-viewpoint image decoding unit 81 of the decoding device 80 functions as a receiving unit, and receives the encoded bit stream transmitted from the encoding device 50 of FIG. 11. The multi-viewpoint image decoding unit 81 extracts the parallax accuracy parameter and the transmission flag from the PPS included in the received encoded bit stream. The multi-viewpoint image decoding unit 81 extracts the inter-camera distance, the parallax related maximum value, and the parallax related minimum value from the slice header of the encoded bit stream in accordance with the transmission flag. The multi-viewpoint image decoding unit 81 generates viewpoint generation information including the parallax accuracy parameter, the inter-camera distance, the parallax related maximum value, and the parallax related minimum value, and provides it to the viewpoint compositing unit 82.
The multi-viewpoint image decoding unit 81 functions as a decoding unit, and decodes the encoded data in units of slices included in the encoded bit stream in accordance with the method corresponding to the encoding method of the multi-viewpoint image encoding unit 15 of FIG. 11, and generates the multi-viewpoint corrected color image and the multi-viewpoint parallax related image. The multi-viewpoint image decoding unit 81 provides the multi-viewpoint corrected color images and the multi-viewpoint parallax related image to the viewpoint compositing unit 82.
The viewpoint compositing unit 82 uses the viewpoint generation information provided by the multi-viewpoint image decoding unit 81 to perform warping processing on the multi-viewpoint parallax related image provided by the multi-viewpoint image decoding unit 81 to warp the image according to the display viewpoints. More specifically, the viewpoint compositing unit 82 performs warping processing on the multi-viewpoint parallax related image to warp the image according to the display viewpoints with the accuracy corresponding to the parallax accuracy parameter, on the basis of the inter-camera distance, the parallax related maximum value, the parallax related minimum value, and the like included in the viewpoint generation information. The viewpoint compositing unit 82 uses the parallax related image of display viewpoints obtained as a result of warping processing to perform warping processing on the multi-viewpoint corrected color images provided by the multi-viewpoint image decoding unit 81 to warp them according to the display viewpoints. The viewpoint compositing unit 82 provides the color images for the display viewpoints obtained as a result, to the multi-viewpoint image display unit 33 as the multi-viewpoint composed color images.
As described above, the viewpoint compositing unit 82 performs warping processing on the multi-viewpoint parallax related images to warp them according to the display viewpoints with the accuracy corresponding to the viewpoint accuracy parameter on the basis of the parallax accuracy parameter, and therefore, it is not necessary for the viewpoint compositing unit 82 to wastefully perform the warping processing with a high degree of accuracy.
In addition, the viewpoint compositing unit 82 performs warping processing on the multi-viewpoint parallax related image to warp it according to the inter-camera distance, and therefore, when the parallax corresponding to the parallax related value of the multi-viewpoint parallax related image having been subjected to the warping processing is not in an appropriate range, the parallax related value can be corrected to a value corresponding to the parallax in the appropriate range on the basis of the inter-camera distance.
[Example of Configuration of Multi-Viewpoint Image Decoding Unit]
FIG. 23 is a block diagram illustrating an example of configuration of the multi-viewpoint image decoding unit 81 of FIG. 22.
The multi-viewpoint image decoding unit 81 of FIG. 23 includes an SPS decoding unit 101, a PPS decoding unit 102, a slice header decoding unit 103, and a slice decoding unit 104.
The SPS decoding unit 101 of the multi-viewpoint image decoding unit 81 receives the encoded bit stream transmitted from the encoding device 50 of FIG. 11, and extracts the SPS in the encoded bit stream. The SPS decoding unit 101 provides the PPS decoding unit 102 with the encoded bit stream other than the SPS and the extracted SPS.
The PPS decoding unit 102 extracts PPS from the encoded bit stream other than the SPS provided from the SPS decoding unit 101. The PPS decoding unit 102 provides the slice header decoding unit 103 with the encoded bit stream other than the SPS and the PPS, and the PPS and the SPS extracted.
The slice header decoding unit 103 extracts a slice header from the encoded bit stream other than the SPS and the PPS provided from the PPS decoding unit 102. When the transmission flag included in the PPS provided by the PPS decoding unit 102 is “1” indicating presence of transmission, the slice header decoding unit 103 holds the inter-camera distance, the parallax related maximum value, and the parallax related minimum value included in the slice header, or updates the inter-camera distance, the parallax related maximum value, and the parallax related minimum value held therein on the basis of the difference-encoded result of the inter-camera distance, the parallax related maximum value, and the parallax related minimum value. The slice header decoding unit 103 generates viewpoint generation information from the inter-camera distance, the parallax related maximum value, and the parallax related minimum value, which are held, and the parallax accuracy parameter included in the PPS, and provides it to the viewpoint compositing unit 82. Further, the slice header decoding unit 103 provides the slice decoding unit 104 with the encoded data in units of slices which is the encoded bit stream other than the SPS, the PPS, and the slice header, and the SPS, the PPS, and the slice header.
The slice decoding unit 104 decodes the encoded data in units of slices in accordance with the method corresponding to the encoding method of the slice encoding unit 61 (FIG. 15) on the basis of the SPS, the PPS, and the slice header provided from the slice header decoding unit 103. The slice header decoding unit 103 provides the viewpoint compositing unit 82 of FIG. 22 with the multi-viewpoint corrected color image and the multi-viewpoint parallax related image obtained as a result of decoding.
[Explanation about Processing of Decoding Device]
The decoding processing of the decoding device 80 of FIG. 22 is done in the same manner except the multi-viewpoint decoding processing in step S52 of FIG. 9, and therefore, in the explanation below, only the multi-viewpoint decoding processing will be explained.
FIG. 24 is a flowchart explaining the multi-viewpoint decoding processing of the multi-viewpoint image decoding unit 81 of the decoding device 80 of FIG. 22.
In step S161 of FIG. 24, the SPS decoding unit 101 of the multi-viewpoint image decoding unit 81 (FIG. 23) extracts the SPS from the received encoded bit stream. The SPS decoding unit 101 provides the PPS decoding unit 102 with the encoded bit stream other than the SPS and the extracted SPS.
In step S162, the PPS decoding unit 102 extracts PPS from the encoded bit stream other than the SPS provided from the SPS decoding unit 101. The PPS decoding unit 102 provides the slice header decoding unit 103 with the encoded bit stream other than the SPS and the PPS, and the PPS and the SPS extracted.
In step S163, the slice header decoding unit 103 provides the parallax accuracy parameter included in the PPS provided from the PPS decoding unit 102 to the viewpoint compositing unit 82 as a portion of the viewpoint generation information.
In step S164, the slice header decoding unit 103 determines whether the transmission flag included in the PPS provided by the PPS decoding unit 102 is “1” indicating presence of transmission. It should be noted that the subsequent processing in steps S165 to S174 is done in units of slices.
When the transmission flag is determined to be “1” indicating presence of transmission in step S164, the processing in step S165 is subsequently performed. In step S165, the slice header decoding unit 103 extracts the slice header including the parallax related maximum value, the parallax related minimum value, and the inter-camera distance, or the difference-encoded result of the parallax related maximum value, the parallax related minimum value, and the inter-camera distance, from the encoded bit stream other than the SPS and the PPS provided from the PPS decoding unit 102.
In step S166, the slice header decoding unit 103 determines whether the type of the slice is intra-type or not. When the type of the slice is determined to be the intra-type in step S166, the processing in step S167 is subsequently performed.
In step S167, the slice header decoding unit 103 holds the parallax related minimum value included in the slice header extracted in step S165, and provides it to the viewpoint compositing unit 82 as a portion of the viewpoint generation information.
In step S168, the slice header decoding unit 103 holds the parallax related maximum value included in the slice header extracted in step S165, and provides it to the viewpoint compositing unit 82 as a portion of the viewpoint generation information.
In step S169, the slice header decoding unit 103 holds the inter-camera distance included in the slice header extracted in step S165, and provides it to the viewpoint compositing unit 82 as a portion of the viewpoint generation information. Then, the processing in step S175 is performed.
On the other hand, when the type of the slice is determined not to be the intra-type in step S166, more specifically, when the type of the slice is determined to be the inter-type, the processing in step S170 is performed.
In step S170, the slice header decoding unit 103 adds the difference-encoded result of the parallax related minimum value included in the slice header extracted in step S165 to the held parallax related minimum value. The slice header decoding unit 103 provides the parallax related minimum value restored by adding operation to the viewpoint compositing unit 82 as a part of the viewpoint generation information.
In step S171, the slice header decoding unit 103 adds the difference-encoded result of the parallax related maximum value included in the slice header extracted in step S165 to the held parallax related maximum value. The slice header decoding unit 103 provides the parallax related maximum value restored by adding operation to the viewpoint compositing unit 82 as a part of the viewpoint generation information.
In step S172, the slice header decoding unit 103 adds the difference-encoded result of the inter-camera distance included in the slice header extracted in step S165 to the held inter-camera distance. The slice header decoding unit 103 provides the inter-camera distance restored by adding operation to the viewpoint compositing unit 82 as a part of the viewpoint generation information. Then, the processing in step S175 is performed.
When the transmission flag is determined not to be “1” indicating presence of transmission in step S164, i.e., the transmission flag is determined to be “0” indicating absence of transmission, the processing in step S173 is subsequently performed.
In step S173, the slice header decoding unit 103 extracts the slice header not including the parallax related maximum value, the parallax related minimum value, and the inter-camera distance, and the difference-encoded result of the parallax related maximum value, the parallax related minimum value, and the inter-camera distance, from the encoded bit stream other than the SPS and the PPS provided from the PPS decoding unit 102.
In step S174, the slice header decoding unit 103 determines that the parallax related maximum value, the parallax related minimum value, and the inter-camera distance which are held, i.e., the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the previous slice in the order of encoding, are the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the slice of the processing target, whereby the parallax related maximum value, the parallax related minimum value, and the inter-camera distance of the slice of the processing target are restored. Then, the slice header decoding unit 103 provides the parallax related maximum value, the parallax related minimum value, and the inter-camera distance thus restored to the viewpoint compositing unit 82 as a portion of the viewpoint generation information, and proceeds to the processing in step S175.
In step S175, the slice decoding unit 104 decodes the encoded data in units of slices in accordance with the method corresponding to the encoding method of the slice encoding unit 61 (FIG. 15) on the basis of the SPS, the PPS, and the slice header provided from the slice header decoding unit 103. The slice header decoding unit 103 provides the viewpoint compositing unit 82 of FIG. 22 with the multi-viewpoint corrected color image and the multi-viewpoint parallax related image obtained as a result of decoding.
As described above, the decoding device 80 can decode the encoded bit stream in which the parallax related maximum value, the parallax related minimum value, and the inter-camera distance are arranged as the information about encoding in the slice header. Accordingly, for example, the encoded bit stream in which the parallax related maximum value, the parallax related minimum value, and the inter-camera distance are used for encoding can be decoded.
In the second embodiment, the parallax related maximum value, the parallax related minimum value, and the inter-camera distance in the viewpoint generation information are included in the slice header, but may be described in SPS, PPS, SEI, and the like. In the second embodiment, the viewpoint generation information may also include the color image identification information, the parallax related image identification information, the external parameter information, the internal parameter information, the number of viewpoints of color images, information for identifying color images of viewpoints adopted as a base point for obtaining the parallax value, the number of viewpoints of parallax related image, the image type information, and the like.
Third Embodiment
Explanation about Computer to which the Present Technique is Applied
Subsequently, the above series of processing may be performed by either hardware or software. When the series of processing is performed by software, a program constituting the software is installed in a general-purpose computer and the like.
FIG. 26 is an exemplary configuration of an embodiment of a computer to which the program for executing the above series of processing is installed.
The program may be previously stored in a storage unit 808 and a ROM (Read Only Memory) 802 serving as recording media incorporated into the computer.
Alternatively, the program may be stored (recorded) to a removable medium 811. This removable medium 811 may be provided as so-called package software. In this case, examples of the removable medium 811 include, for example, a flexible disk, a CD-ROM (Compact Disc Read Only Memory), a MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, a semiconductor memory, and the like.
The program can be installed to the computer from the removable medium 811 as described above using a drive 810. Alternatively, the program may be downloaded to the computer via a communication network or a broadcast network, and the program can be installed to the storage unit 808 provided therein. More specifically, the program can be, for example, transferred from a download site to the computer wirelessly via a man-made satellite for digital satellite broadcasting, or may be transferred to the computer via the wire, i.e., network such as a LAN (Local Area Network) and the Internet.
The computer has a CPU (Central Processing Unit) 801. The CPU 801 is connected to an input/output interface 805 via a bus 804.
When a user operates an input unit 806 to input a command to the CPU 801 via the input/output interface 805, the CPU 801 executes the program stored in the ROM 802 in response to the command. Alternatively, the CPU 801 loads the program stored in the storage unit 808 to a RAM (Random Access Memory) 803, and executes the program.
Thus, the CPU 801 performs the processing according to the above flowcharts or the processing performed with the configurations in the block diagrams as described above. Then, as necessary, the CPU 801 outputs the processing result thereof from an output unit 807 via the input/output interface 805, transmits the processing result thereof from the communication unit 809, or records the processing result thereof to the storage unit 808, for example.
The input unit 806 is constituted by a keyboard, a mouse, a microphone, and the like. The output unit 807 is constituted by an LCD (Liquid Crystal Display), a speaker, and the like.
In this case, in this specification, the processing performed according to the program by the computer may not be necessarily performed in time-series according to the order described in the flowcharts. In other words, the processing performed according to the program by the computer include processing executed independently or in parallel (for example, processing performed with objects or parallel processing).
The program may be processed by one computer (processor), or may be processed by a plurality of computers as distributed processing. Further, the program may be transferred to a computer located far away and may be executed.
The present technique can be applied to an image processing apparatus used for communication via a network medium such as satellite broadcast, cable TV (television), the Internet, and portable telephone, or for processing on recording media such as optical, magnetic disks, and flash memories.
The above-explained image processing apparatus can be applied to any given electronic device. Hereinafter, an example thereof will be explained.
Fourth Embodiment
Example of Configuration of Television Device
FIG. 27 illustrates an example of schematic configuration of television device to which the present technique is applied. The television device 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, and an external interface unit 909. Further, the television device 900 includes a control unit 910 and a user interface unit 911.
The tuner 902 tunes into and decodes a desired channel from among broadcast signals received by the antenna 901, and outputs the encoded bit stream thus obtained to the demultiplexer 903.
The demultiplexer 903 extracts packets of video and audio of a program, which is a viewing target, from the encoded bit stream, and outputs the data of the extracted packets to the decoder 904. The demultiplexer 903 also provides packets of data such as EPG (Electronic Program Guide) to the control unit 910. When scrambled, the demultiplexer and the like performs descrambling.
The decoder 904 performs decoding processing of packets, and outputs the video data generated by the decoding processing to the video signal processing unit 905, and the audio data to the audio signal processing unit 907.
The video signal processing unit 905 performs noise reduction and video processing according to user settings on the video data. The video signal processing unit 905 generates, e.g., video data of a program displayed on the display unit 906 and image data made by processing based on an application provided via a network. The video signal processing unit 905 generates video data for displaying a menu screen and the like for allowing selection of items, and overlays the video data on the video data of the program. The video signal processing unit 905 generates a driving signal on the basis of the video data thus generated, and drives the display unit 906.
The display unit 906 displays, e.g., video of program, by driving a display device (for example, liquid crystal display device and the like) on the basis of the driving signal provided by the video signal processing unit 905.
The audio signal processing unit 907 performs predetermined processing such as noise reduction on the audio data, and D/A conversion processing and amplification processing of the audio data having been processed, and provides the data to the speaker 908, thus outputting audio.
The external interface unit 909 is an interface for connecting an external device and a network, and exchange data such as video data and audio data.
The control unit 910 is connected to the user interface unit 911. The user interface unit 911 is constituted by, e.g., operation switches and a remote control signal reception unit, and provides an operation signal according to user operation to the control unit 910.
The control unit 910 is constituted by a CPU (Central Processing Unit), a memory, and the like. The memory stores, e.g., programs executed by the CPU, various kinds of data required when processing is performed with the CPU, EPG data, and data obtained via a network. The programs stored in the memory is read and executed by the CPU with predetermined timing such as during activation of the television device 900. The CPU executes the program, thus controlling each unit so as to cause the television device 900 to operate in accordance with user operation.
The television device 900 is provided with the bus 912 for connecting the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface unit 909, and the control unit 910.
In the television device configured as described above, the decoder 904 is provided with a function of an image processing apparatus (image processing method) of the present application. Accordingly, using the color image of the predetermined viewpoint and the parallax related image, a color image of a viewpoint other than the predetermined viewpoint can be generated.
Fifth Embodiment
Example of Configuration of Portable Telephone
FIG. 28 illustrates an example of schematic configuration of portable telephone to which the present technique is applied. A portable telephone 920 includes a communication unit 922, an audio codec 923, a camera unit 926, an image processing unit 927, a demultiplexer 928, a recording/reproducing unit 929, a display unit 930, and a control unit 931. They are connected with each other via a bus 933.
The communication unit 922 is connected to the antenna 921, and the audio codec 923 is connected to the speaker 924 and the microphone 925. Further, the control unit 931 is connected to the operation unit 932.
The portable telephone 920 performs various kinds of operation such as transmission and reception of audio signal, transmission and reception of e-mail and image data, image capturing, or recording of data, in various kinds of modes such as audio phone call mode and data communication mode.
In the audio phone call mode, an analog audio signal generated by the microphone 925 is, e.g., converted into audio data and compressed by the audio codec 923, and is provided to the communication unit 922. The communication unit 922 performs, e.g., modulation processing and frequency conversion processing on the audio data, and generates a transmission signal. The communication unit 922 provides the transmission signal to the antenna 921, and transmits the transmission signal to a base station, not shown. The communication unit 922 performs, e.g., amplification, frequency conversion processing and amplification processing on the reception signal received by the antenna 921, and provides the obtained audio data to the audio codec 923. The audio codec 923 performs, e.g., data extension of the audio data and conversion into analog audio signal, and outputs the data to the speaker 924.
When mail is transmitted in the data communication mode, the control unit 931 receives character data which are input by operation with the operation unit 932, and displays the input characters on the display unit 930. The control unit 931 also generates mail data on the basis of, e.g., user instruction with the operation unit 932, and provides the mail data to the communication unit 922. The communication unit 922 performs, e.g., modulation processing and frequency conversion processing on mail data, and transmits the obtained transmission signal via the antenna 921. The communication unit 922 performs, e.g., amplification, frequency conversion processing and amplification processing on the reception signal received by the antenna 921, and restores the mail data. The mail data are provided to the display unit 930, and the contents of the mail are displayed.
The portable telephone 920 can also store the received mail data to a storage medium using the recording/reproducing unit 929. The storage medium any given rewritable storage medium. For example, the storage medium may be a semiconductor memory such as RAM and internal flash memory, a hard disk, or a removable medium such as a magnetic disk, a magneto optical disk, an optical disk, a USB memory, or a memory card.
When image data are transmitted in the data communication mode, the image data generated by the camera unit 926 are provided to the image processing unit 927. The image processing unit 927 performs encoding processing of the image data and generates encoded data.
The demultiplexer 928 multiplexes the encoded data generated by the image processing unit 927 and the audio data provided from the audio codec 923 in accordance with predetermined method, and provides the data to the communication unit 922. The communication unit 922 performs, e.g., modulation processing and frequency conversion processing on the multiplexed data, and transmits the obtained transmission signal via the antenna 921. The communication unit 922 performs, e.g., amplification, frequency conversion processing and amplification processing on the reception signal received by the antenna 921, and restores the multiplexed data. The multiplexed data are provided to the demultiplexer 928. The demultiplexer 928 separates the multiplexed data, and provides the encoded data to the image processing unit 927, and the audio data to the audio codec 923. The image processing unit 927 performs decoding processing of the encoded data and generates image data. The image data are provided to the display unit 930, and the received image is displayed. The audio codec 923 converts the audio data into analog audio signal, and provides the analog audio signal to the speaker 924 so as to output the received audio.
In the portable telephone configured as described above, the image processing unit 927 is provided with a function of an image processing apparatus (image processing method) of the present application. Accordingly, using the color image of the predetermined viewpoint and the parallax related image, information required to generate a color image of a viewpoint other than the predetermined viewpoint can be transmitted. Using the color image of the predetermined viewpoint and the parallax related image, a color image of a viewpoint other than the predetermined viewpoint can be generated.
Sixth Embodiment
Example of Configuration of Recording/Reproducing Device
FIG. 29 illustrates an example of schematic configuration of recording/reproducing device to which the present technique is applied. For example, a recording/reproducing device 940 records audio data and video data of received broadcasting program to a recording medium, and provides a user with the recorded data with timing according to user's instruction. For example, the recording/reproducing device 940 can obtain the audio data and the video data from another device, and can record them to the recording medium. Further, the recording/reproducing device 940 decodes and outputs the audio data and the video data recorded in the recording medium, thus allowing image display and audio output with the monitor device and the like.
The recording/reproducing device 940 includes a tuner 941, an external interface unit 942, an encoder 943, an HDD (Hard Disk Drive) unit 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) unit 948, a control unit 949, and a user interface unit 950.
The tuner 941 tunes in to a desired channel from broadcasting signals received by an antenna, not shown. The tuner 941 outputs, to the selector 946, an encoded bit stream obtained by amplifying the reception signal of the desired channel.
The external interface unit 942 may be constituted by, for example, any one of an IEEE1394 interface, a network interface unit, a USB interface, a flash memory interface, and the like. The external interface unit 942 is an interface for connecting to an external device, a network, a memory card, and the like, and receives data such as the video data, the audio data, and the like thus recorded.
The encoder 943 performs encoding according to a predetermined method when the video data and the audio data provided from the external interface unit 942 are not encoded, and outputs the encoded bit stream to the selector 946.
The HDD unit 944 records the content data such as video and audio, other data of various kinds of programs, and the like to an internal hard disk, and reads them from the hard disk during play back and the like.
The disk drive 945 records and reproduces the signal to/from an optical disk loaded. For example, the optical disk is a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD+R, DVD+RW and the like), a Blu-ray disk, and the like.
During recording of video and audio, the selector 946 selects an encoded bit stream from any one of the tuner 941 and the encoder 943, and provides it to any one of the HDD unit 944 and the disk drive 945. During reproduction of video and audio, the selector 946 provides the decoder 947 with the encoded bit stream which is output from the HDD unit 944 or the disk drive 945.
The decoder 947 performs decoding processing of the encoded bit stream. The decoder 947 performs decoding processing, thereby providing the generated video data to the OSD unit 948. The decoder 947 performs decoding processing, thereby outputting the generated audio data.
The OSD unit 948 generates video data for displaying menu screen and the like such as item selection, and overlays and outputs them on the video data which are output from the decoder 947.
The control unit 949 is connected to the user interface unit 950. The user interface unit 950 is constituted by, e.g., operation switches and a remote control signal reception unit, and provides an operation signal according to user operation to the control unit 949.
The control unit 949 is constituted by a CPU, a memory, and the like. The memory stores, e.g., programs executed by the CPU, various kinds of data required when processing is performed with the CPU. The programs stored in the memory is read and executed by the CPU with predetermined timing such as during activation of the recording/reproducing device 940. The CPU executes the program, thus controlling each unit so as to cause the recording/reproducing device 940 to operate in accordance with user operation.
In the recording/reproducing device configured as described above, the decoder 947 is provided with a function of an image processing apparatus (image processing method) of the present application. Accordingly, using the color image of the predetermined viewpoint and the parallax related image, a color image of a viewpoint other than the predetermined viewpoint can be generated.
Seventh Embodiment
Example of Configuration of Image-Capturing Device
FIG. 30 illustrates an example of schematic configuration of image-capturing device to which the present technique is applied. An image-capturing device 960 captures an image of a subject, displays the image of the subject on the display unit, and records the image data to a recording medium.
The image-capturing device 960 includes an optical block 961, an image-capturing unit 962, a camera signal processing unit 963, an image data processing unit 964, a display unit 965, an external interface unit 966, a memory unit 967, a medium drive 968, an OSD unit 969, and a control unit 970. The control unit 970 is connected to a user interface unit 971. Further, the image data processing unit 964, the external interface unit 966, the memory unit 967, the medium drive 968, the OSD unit 969, the control unit 970, and the like are connected via the bus 972.
The optical block 961 includes, e.g., a focus lens and a diaphragm mechanism. The optical block 961 causes an optical image of a subject to be formed on an image-capturing surface of the image-capturing unit 962. The image-capturing unit 962 includes a CCD or a CMOS image sensor, and generates an electric signal according to an optical image by photoelectric conversion, and provides the electric signal to the camera signal processing unit 963.
The signal processing unit 963 performs various kinds of camera signal processing such as knee correction, gamma correction, and color correction on the electric signal provided by the image-capturing unit 962. The camera signal processing unit 963 provides the image data processing unit 964 with image data having been subjected to the camera signal processing.
The image data processing unit 964 performs encoding processing on the image data provided from the camera signal processing unit 963. The image data processing unit 964 the external interface unit 966 and the medium drive 968 with the encoded data generated by performing the encoding processing. The image data processing unit 964 performs decoding processing on the encoded data provided by the external interface unit 966 and the medium drive 968. The image data processing unit 964 provides the display unit 965 with the image data generated by performing the decoding processing. The image data processing unit 964 performs processing for providing the display unit 965 with the image data provided from the camera signal processing unit 963, and overlays the display data obtained from the OSD unit 969 on the image data and provides the data to the display unit 965.
The OSD unit 969 generates display data such as menu screen and icons including symbols, characters, or figures, and outputs the display data to the image data processing unit 964.
The external interface unit 966 is constituted by, for example, a USB input/output terminal, and when image is printed, it is connected to a printer. The external interface unit 966 is also connected to a drive as necessary, and removable medium such as a magnetic disk, an optical disk, or the like is loaded as necessary, and a computer program read therefrom is installed as necessary. Further, the external interface unit 966 includes a network interface connected to a predetermined network such as a LAN or the Internet. For example, the control unit 970 reads the encoded data from the memory unit 967 in accordance with a command from the user interface unit 971, and can provide the data to another device connected via the network from the external interface unit 966. The control unit 970 obtains, via external interface unit 966, the encoded data and the image data provided from another device via the network, and can provided the data to the image data processing unit 964, for example.
The recording medium driven the medium drive 968 may be any given removable medium which can be read and written, such as a magnetic disk, an optical magnetic disk, an optical disk, or a semiconductor memory. The recording medium may be of any type as a removable medium, and may be a tape device, or a disk, or a memory card. It is to be understood that it may be a non-contact IC card and the like.
The medium drive 968 and the recording medium may be integrated, and like, for example, an internal hard disk drive and an SSD (Solid State Drive), the medium drive 968 and the recording medium may be configured by a non-movable storage medium.
The control unit 970 is constituted by a CPU, a memory, and the like. The memory stores, e.g., programs executed by the CPU, various kinds of data required when processing is performed with the CPU. The programs stored in the memory is read and executed by the CPU with predetermined timing such as during activation of the image-capturing device 960. The CPU executes the program, thus controlling each unit so as to cause the image-capturing device 960 to operate in accordance with user operation.
In the image-capturing device configured as described above, the image data processing unit 964 is provided with a function of an image processing apparatus (image processing method) of the present application. Accordingly, using the color image of the predetermined viewpoint and the parallax related image, information required to generate a color image of a viewpoint other than the predetermined viewpoint can be transmitted. Using the color image of the predetermined viewpoint and the parallax related image, a color image of a viewpoint other than the predetermined viewpoint can be generated.
More specifically, the embodiments of the present technique is not limited to the embodiments explained above, and may be changed in various manners as long as it is within the gist of the present technique.
It should be noted that the present technique may be configured as follows.
(1)
An image processing apparatus including an encoding unit for generating a bit stream by encoding a color image of a viewpoint and a depth image of the viewpoint; a generation unit for generating viewpoint generation information used to generate a color image of a display viewpoint, in accordance with a generation method of the color image of the display viewpoint obtained by performing warping processing using the color image and the depth image; and a transmission unit for transmitting the bit stream generated by the encoding unit and the viewpoint generation information generated by the generation unit.
(2)
The image processing apparatus as described in (1), wherein the transmission unit transmits the viewpoint generation information as an encoding parameter used for encoding or decoding.
(3)
The image processing apparatus as described in (1) or (2), wherein the transmission unit transmits difference between the viewpoint generation information of the depth image and the viewpoint generation information of a depth image located before the depth image in the order of encoding.
(4)
The image processing apparatus as described in (3), wherein when the slice of the bit stream is intra-slice, the transmission unit transmits the viewpoint generation information of the slice, and when the slice is inter-slice, the transmission unit transmits the difference of the slice.
(5)
The image processing apparatus as described in (3) or (4) further includes a setting unit for setting difference identification information for identifying presence/absence of the difference, wherein the transmission unit transmits the difference identification information which is set by the setting unit.
(6)
The image processing apparatus as described in (5), wherein the transmission unit transmits the difference identification information set by the setting unit in such a manner that the difference identification information is included in the PPS (Picture Parameter Set) of the bit stream.
(7)
The image processing apparatus as described in any one of (1) to (6), wherein the generation unit generates, as the viewpoint generation information, information for identifying the color image or information for identifying the depth image.
(8)
The image processing apparatus as described in any one of (1) to (7), wherein the depth image is a depthwise image including a depth value representing a position of a subject in a depth direction at each pixel of the color image, or a parallax image including a parallax value representing a distance between each pixel of the color image and a pixel of a color image at a base point corresponding to the pixel, and the generation unit generates, as the viewpoint generation information, depth image identification information indicating whether the depth image is the depthwise image or the parallax image.
(9)
The image processing apparatus as described in (8), wherein when the depth image is the depthwise image, the generation unit generates, as the viewpoint generation information, information indicating a minimum value and a maximum value of world coordinate value at a position in the depth direction that may occur in the depth image, and when the depth image is the parallax image, the generation unit generates, as the viewpoint generation information, information indicating a minimum value and a maximum value of parallax, in world coordinate, at a position that may occur in the parallax image, and information for identifying a color image of the base point.
(10)
The image processing apparatus as described in any one of (1) to (8), wherein the generation unit generates, as the viewpoint generation information, a depth minimum value representing the minimum value that would occur as a pixel value of the depth image, a depth maximum value representing the maximum value that would occur as a pixel value of the depth image, and an image-capturing position distance which is a distance between image-capturing positions of multiple color images corresponding to the depth image, and the transmission unit transmits the viewpoint generation information as a slice header of the bit stream.
(11)
An image processing method for an image processing apparatus, including an encoding step for generating a bit stream by encoding a color image of a viewpoint and a depth image of the viewpoint, a generation step for generating viewpoint generation information used to generate a color image of a display viewpoint, in accordance with a generation method of the color image of the display viewpoint obtained by performing warping processing using the color image and the depth image, and a transmission step for transmitting the bit stream generated in the processing of the encoding step and the viewpoint generation information generated in the processing of the generation step.
(12)
An image processing apparatus including a receiving unit for receiving a bit stream obtained as a result of encoding of a color image of a viewpoint and a depth image of the viewpoint and viewpoint generation information used to generate a color image of a display viewpoint which is generated in accordance with a generation method of the color image of the display viewpoint obtained by performing warping processing using the color image and the depth image, a decoding unit for generating the color image and the depth image by decoding the bit stream received by the receiving unit, and a generation unit for generating the color image of the display viewpoint by performing warping processing using the color image and the depth image generated by the decoding unit and the viewpoint generation information received by the receiving unit.
(13)
The image processing apparatus as described in (12), wherein the receiving unit receives the viewpoint generation information as an encoding parameter used for encoding or decoding.
(14)
The image processing apparatus as described in (12) or (13), wherein the receiving unit receives difference between the viewpoint generation information of the depth image and the viewpoint generation information of a depth image located before the depth image in the order of encoding, the generation unit restores the viewpoint generation information of the depth image corresponding to the difference using the difference and the viewpoint generation information of the depth image located, in the order of encoding, before the depth image corresponding to the difference, which are received by the receiving unit, and performs warping processing using the restored viewpoint generation information, the color image, and the depth image, thus generating the color image of the display viewpoint.
(15)
The image processing apparatus as described in (14), wherein when the slice of the bit stream is intra-slice, the receiving unit receives the viewpoint generation information of the slice, and when the slice is inter-slice, the receiving unit receives the difference of the slice.
(16)
The image processing apparatus as described in (14) or (15), wherein the receiving unit receives difference identification information for identifying presence/absence of the difference, and the generation unit restores the viewpoint generation information on the basis of the difference identification information received by the receiving unit.
(17)
The image processing apparatus as described in (16), wherein the receiving unit receives the difference identification information included in the PPS (Picture Parameter Set) of the bit stream.
(18)
The image processing apparatus as described in any one of (12) to (17), wherein the receiving unit receives, as the viewpoint generation information, information for identifying the color image or information for identifying the depth image, and the generation unit identifies the color image and depth image received by the receiving unit on the basis of the viewpoint generation information, performs warping processing on the depth image, and generates the color image of the display viewpoint by performing warping processing on the color image using the depth image of the display viewpoint having been subjected to the warping processing.
(19)
The image processing apparatus as described in any one of (12) to (18), wherein the depth image is a depthwise image including a depth value representing a position of a subject in a depth direction at each pixel of the color image, or a parallax image including a parallax value representing a distance between each pixel of the color image and a pixel of a color image at a base point corresponding to the pixel, and the receiving unit receives, as the viewpoint generation information, information indicating whether the depth image is a depthwise image or a parallax image.
(20)
The image processing apparatus as described in (19), wherein when the depth image is the depthwise image, the receiving unit receives, as the viewpoint generation information, information indicating a minimum value and a maximum value of world coordinate value at a position in the depth direction that may occur in the depth image, and when the depth image is the parallax image, the receiving unit receives information indicating a minimum value and a maximum value of parallax, in world coordinate, at a position that may occur in the parallax image, and information for identifying a color image of the base point.
(21)
The image processing apparatus as described in any one of (12) to (19), wherein the receiving unit receives, as a slice header of the bit stream, the viewpoint generation information including a depth minimum value representing the minimum value that would occur as a pixel value of the depth image, a depth maximum value representing the maximum value that would occur as a pixel value of the depth image, and an image-capturing position distance which is a distance between image-capturing positions of multiple color images corresponding to the depth image.
(22)
An image processing method for an image processing apparatus, including a receiving step for receiving a bit stream obtained as a result of encoding of a color image of a viewpoint and a depth image of the viewpoint and viewpoint generation information used to generate a color image of a display viewpoint which is generated in accordance with a generation method of the color image of the display viewpoint obtained by performing warping processing using the color image and the depth image, a decoding step for generating the color image and the depth image by decoding the bit stream received in the processing of the receiving step, and a generation step for generating the color image of the display viewpoint by performing warping processing using the color image and the depth image generated in the processing of the decoding step and the viewpoint generation information received in the processing of the receiving unit.
REFERENCE SIGNS LIST
10 encoding device, 14 viewpoint generation information generation unit, 15 multi-viewpoint image encoding unit, 30 decoding device, 31 multi-viewpoint image decoding unit, 32 viewpoint compositing unit

## Claims

1. An image processing apparatus comprising:
an encoding unit for generating a bit stream by encoding a color image of a viewpoint and a depth image of the viewpoint;
a generation unit for generating viewpoint generation information used to generate a color image of a display viewpoint, in accordance with a generation method of the color image of the display viewpoint obtained by performing warping processing using the color image and the depth image; and
a transmission unit for transmitting the bit stream generated by the encoding unit and the viewpoint generation information generated by the generation unit,
wherein:
the depth image is a depthwise image including a depth value representing a position of a subject in a depth direction at each pixel of the color image, or a parallax image including a parallax value representing a distance between each pixel of the color image and a pixel of a color image at a base point corresponding to the pixel,
the generation unit generates, as the viewpoint generation information, depth image identification indicating that the depth image is the depthwise image or the parallax image,
when the depth image is the depthwise image, the generation unit generates, as the viewpoint generation information, depthwise minimum value information indicating a minimum value of world coordinate value at a position in the depth direction in the depthwise image and depthwise maximum value information indicating a maximum value of world coordinate value at a position in the depth direction in the depthwise image, and
when the depth image is the parallax image, the generation unit generates, as the viewpoint generation information, parallax minimum value information indicating a minimum value of the distance of world coordinate value in the parallax image and parallax maximum value information indicating a maximum value of the distance of world coordinate value in the parallax image.

2. The image processing apparatus according to claim 1, wherein the transmission unit transmits the viewpoint generation information as auxiliary information of the bit stream.

3. The image processing apparatus according to claim 1, wherein the transmission unit transmits the viewpoint generation information as SEI (Supplemental Enhancement Information) of the bit stream.

4. The image processing apparatus according to claim 1, wherein the generation unit generates, as the viewpoint generation information, information for identifying the color image or information for identifying the depth image.

5. The image processing apparatus according to claim 1, wherein:
the depth image is a parallax image including a parallax value representing a distance between each pixel of the color image and a pixel of a color image at a base point corresponding to the pixel,
the generation unit generates, as the viewpoint generation information, parallax minimum value information indicating a minimum value of the parallax value of the parallax image and parallax maximum value information indicating a maximum value of the parallax value of the parallax image, and
the transmission unit transmits the viewpoint generation information as SEI (Supplemental Enhancement Information).

6. The image processing apparatus according to claim 1, wherein
the depth image is a depthwise image including a depth value representing a position of a subject in a depth direction at each pixel of the color image,
the generation unit generates, as the viewpoint generation information, depthwise minimum value information indicating a minimum value of a pixel value of the depth image and depthwise maximum value information indicating a maximum value of the pixel value of the depth image, and
the transmission unit transmits the viewpoint generation information as SEI (Supplemental Enhancement Information).

7. The image processing apparatus according to claim 1, wherein:
the generation unit generates, as the viewpoint generation information, depth minimum value information indicating a minimum value of a pixel value in the depth image, depth maximum value information indicating a maximum value of a pixel value in the depth image, and image-capturing position distance information indicating a distance between image-capturing positions of color images corresponding to depth images, and
the transmission unit transmits the viewpoint generation information as SEI (Supplemental Enhancement Information).

8. An image processing method for an image processing apparatus, comprising:
an encoding step for generating a bit stream by encoding a color image of a viewpoint and a depth image of the viewpoint;
a generation step for generating viewpoint generation information used to generate a color image of a display viewpoint, in accordance with a generation method of the color image of the display viewpoint obtained by performing warping processing using the color image and the depth image; and
a transmission step for transmitting the bit stream generated in the processing of the encoding step and the viewpoint generation information generated in the processing of the generation step,
wherein:
the depth image is a depthwise image including a depth value representing a position of a subject in a depth direction at each pixel of the color image, or a parallax image including a parallax value representing a distance between each pixel of the color image and a pixel of a color image at a base point corresponding to the pixel,
the generation step comprises generating, as the viewpoint generation information, depth image identification indicating that the depth image is the depthwise image or the parallax image,
when the depth image is the depthwise image, the generation step comprises generating, as the viewpoint generation information, depthwise minimum value information indicating a minimum value of world coordinate value at a position in the depth direction in the depthwise image and depthwise maximum value information indicating a maximum value of world coordinate value at a position in the depth direction in the depthwise image, and
when the depth image is the parallax image, the generation step comprises generating, as the viewpoint generation information, parallax minimum value information indicating a minimum value of the distance of world coordinate value in the parallax image and parallax maximum value information indicating a maximum value of the distance of world coordinate value in the parallax image.

9. The image processing apparatus according to claim 8,
wherein the viewpoint generation information includes image-capturing position distance information indicating a distance between image-capturing positions of color images corresponding to depth images.