WO2012060168A1 - 符号化装置、復号装置、符号化方法、復号方法、プログラム、記録媒体、および符号化データ - Google Patents
符号化装置、復号装置、符号化方法、復号方法、プログラム、記録媒体、および符号化データ Download PDFInfo
- Publication number
- WO2012060168A1 WO2012060168A1 PCT/JP2011/071913 JP2011071913W WO2012060168A1 WO 2012060168 A1 WO2012060168 A1 WO 2012060168A1 JP 2011071913 W JP2011071913 W JP 2011071913W WO 2012060168 A1 WO2012060168 A1 WO 2012060168A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- distance
- value
- encoding
- area
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
Definitions
- the present invention mainly relates to an encoding device that encodes a distance image (Depth Image) and a decoding device that decodes the distance image encoded by such an encoding device.
- a texture image which is a general two-dimensional image that represents the subject space with the color of each subject and background, and the subject space is represented by the distance from the viewpoint to each subject and background.
- distance image is an image expressing a distance value (depth value) from the viewpoint to a corresponding point in the object space for each pixel.
- This distance image can be acquired by a distance measuring device such as a depth camera installed in the vicinity of the camera that records the texture image.
- a distance image can be acquired by analyzing a plurality of texture images obtained by photographing with a multi-viewpoint camera, and many analysis methods have been proposed.
- distance values are expressed in 256 levels (ie, 8-bit luminance values) in the Moving Picture Experts Group (MPEG), which is a working group of the International Organization for Standardization / ISO / IEC, as a standard for distance images.
- MPEG-C part3 which is a standard to be established. That is, the standard distance image is an 8-bit grayscale image.
- a subject located in front is expressed as white and a subject located in the back is expressed in black.
- the distance from the viewpoint of each pixel constituting the subject image drawn in the texture image is known from the distance image, so that the subject has the maximum depth. It can be restored as a three-dimensional shape expressed in 256 stages. Furthermore, by projecting the 3D shape onto the 2D plane geometrically, the original texture image is converted into a texture image in the subject space when the subject is photographed from another angle within a certain range from the original angle. It is possible to convert. In other words, since a three-dimensional shape can be restored when viewed from an arbitrary angle within a certain range by a set of texture images and distance images, a free viewpoint of a three-dimensional shape can be obtained by using multiple sets of texture images and distance images. It is possible to represent an image with a small amount of data.
- Non-Patent Document 1 discloses a technique capable of compressing and encoding video by efficiently eliminating temporal or spatial redundancy in the video.
- a texture video video having a texture image as each frame
- a distance video video having a distance image as each frame
- Non-Patent Document 1 Even if the compression coding technique disclosed in Non-Patent Document 1 is applied to texture video and distance video, there is a problem that the data amount of distance video is not necessarily reduced sufficiently.
- Non-Patent Document 1 can reduce the code amount of the distance image to some extent, it encodes the distance values of all the pixels of the distance image including the pixels of the area composed of a single distance value. Therefore, it cannot be said that the code amount can be reduced sufficiently.
- the present invention has been made in view of the above problems, and its main purpose is an encoding apparatus capable of reducing the amount of encoded data of distance images to be supplied to the decoding apparatus, Another object is to realize a decoding apparatus that decodes a distance image from encoded data supplied from such an encoding apparatus.
- an encoding device is an encoding device that encodes a distance image that forms a pair with a texture image, and includes a plurality of regions obtained by dividing the entire region of the texture image.
- the difference between the average value calculated from the pixel value of the pixel group included in the area and the average value calculated from the pixel value of the pixel group included in the area adjacent to the area is greater than or equal to a predetermined threshold for each area
- representative value calculating means for calculating a representative value from the distance value of each pixel included in the area, and data relating to the distance value are included.
- Encoding means for generating encoded data of the distance image, wherein the data relating to the distance value is data composed of representative values of the respective areas calculated by the representative value calculating means. .
- the encoded data of the distance image generated by the encoding device includes a representative value for the number of regions defined by the second region defining means as the distance value of the distance image. Will be included.
- the conventional moving image encoding apparatus encodes the distance values of all the pixels of the distance image.
- the encoding device has an effect that the code amount of the encoded data of the distance image can be reduced as compared with the conventional moving image encoding device.
- an encoding method is an encoding method for encoding a distance image that is paired with a texture image, and includes a plurality of regions obtained by dividing the entire region of the texture image.
- An encoding step for generating encoded data of the distance image, wherein the data relating to the distance value is data composed of a representative value of each region calculated in the representative value calculating step.
- the encoding method according to the present invention has the same effects as the encoding apparatus according to the present invention.
- a decoding device decodes a distance image that forms a pair with a texture image from encoded data of the distance image.
- a difference between an average value calculated from a pixel value of a pixel group included in the region and an average value calculated from a pixel value of a pixel group included in a region adjacent to the region is predetermined for each region.
- a reading means for reading out the encoded data, which includes only the representative value of the distance value of each pixel in the region, and the distance image to be decoded.
- Decoding means for decoding the distance image by setting a pixel value of a pixel included in the region to a distance value in the region included in the encoded data for each of the plurality of regions. It
- the reading means reads the encoded data.
- the decoding unit calculates a pixel value of a pixel included in the region for each of the plurality of regions in the distance image corresponding to the plurality of regions defined by the region defining unit. The distance image is decoded by setting the distance value in the region included in the encoded data.
- the texture image and the distance image (original distance image) in which the encoded data is generated by encoding are composed of pixel groups composed of pixels of similar colors in a certain area in the texture image, the original distance It has been found that there is a correlation that the pixel groups included in the corresponding region in the image have a strong tendency that all or almost all the pixels have the same distance value. Therefore, the distance image decoded by the decoding means is an image that approximates the original distance image.
- the decoding device has the effect of being able to decode the distance image from the encoded data of the original distance image transmitted from the encoding device according to the present invention.
- the decoding method divides the entire area of the texture image in the decoding method for decoding the distance image that forms a pair with the texture image from the encoded data of the distance image.
- a region defining step for defining a plurality of regions such that is equal to or greater than a predetermined threshold, and for each of a plurality of regions obtained by dividing the entire region of the distance image with the same division pattern as the division pattern of the texture image.
- a readout process for reading out the encoded data which includes only the representative value of the distance value of each pixel in the region as data relating to the distance value, and the distance image to be decoded.
- a decoding step of decoding the distance image by setting a pixel value of a pixel included in the region to a distance value in the region included in the encoded data for each of the plurality of regions formed; It is characterized by containing.
- the decoding method according to the present invention has the same operational effects as the decoding device according to the present invention.
- the encoded data of the distance image that forms a pair with the texture image and for each of a plurality of areas obtained by dividing the entire area of the distance image with a predetermined division pattern, the area as data relating to the distance value in the area Only the representative value of the distance value of each pixel included in the image, and the predetermined division pattern is an average calculated from the pixel values of the pixel group included in the region for all regions of the texture image.
- the division pattern is divided into a plurality of regions in which a difference between the value and an average value calculated from pixel values of a pixel group included in a region adjacent to the region is equal to or greater than a predetermined threshold value.
- Encoded data is also included in the scope of the present invention.
- the encoding apparatus has an effect that the code amount of the encoded data of the distance image to be supplied to the decoding apparatus can be reduced as compared with the related art.
- the decoding device has an effect that the distance image can be decoded from the encoded data of the distance image supplied from the encoding device according to the present invention.
- FIG. 4 is a diagram showing the distribution of each segment defined by the moving image encoding apparatus of FIG. 1 from the texture image of FIG. 3.
- FIG. 6 is a diagram illustrating a segment boundary portion in which an image division processing unit of the moving image encoding device in FIG.
- the moving picture coding apparatus generally generates coded data for each frame constituting a three-dimensional moving picture by coding a texture image and a distance image constituting the frame. It is a device to do.
- the moving picture encoding apparatus uses H.264 for encoding texture images.
- the encoding technique employed in the H.264 / MPEG-4 AVC standard is used, while the encoding of the distance image is a moving picture encoding apparatus using the encoding technique peculiar to the present invention.
- the above encoding technique unique to the present invention is an encoding technique developed by paying attention to the fact that there is a correlation between a texture image and a distance image.
- a certain area in the texture image is composed of pixel groups composed of pixels of similar colors, all or almost all of the pixels included in the corresponding area in the distance image are the same.
- FIG. 1 is a block diagram illustrating a configuration of a main part of a video encoding device.
- the moving image encoding device 1 includes an image encoding unit 11, an image decoding unit 12, a distance image encoding unit 20, and a packaging unit 28.
- the distance image encoding unit 20 includes an image division processing unit 21, a distance image division processing unit 22, a distance value correction unit 23, a number assigning unit 24, and an information source encoding unit 25.
- the image encoding unit 11 The texture image # 1 is encoded by AVC (Advanced Video Coding) coding defined in the H.264 / MPEG-4 AVC standard.
- AVC Advanced Video Coding
- the image decoding unit 12 decodes the texture image # 1 'from the encoded data # 11 of the texture image # 1.
- the image division processing unit 21 divides the entire area of the texture image into a plurality of segments (areas). Then, the image division processing unit 21 outputs segment information # 21 including position information of each segment.
- the segment position information is information indicating the position of the segment in the texture image # 1.
- the distance image division processing unit 22 When the distance image # 2 and the segment information # 21 are input, the distance image division processing unit 22 includes each segment included in the corresponding segment (region) in the distance image # 2 for each segment in the texture image # 1 ′. A distance value set consisting of pixel distance values is extracted. Then, the distance image division processing unit 22 generates segment information # 22 in which the distance value set and the position information are associated with each segment from the segment information # 21.
- the distance value correction unit 23 calculates the mode value as the representative value # 23a from the distance value set of the segment included in the segment information # 22 for each segment of the distance image # 2. That is, when the segment i in the distance image # 2 includes N pixels, the distance value correcting unit 23 calculates the mode value from the N distance values.
- the distance value correcting unit 23 may calculate an average of N distance values as an average value, or a median value of N distance values or the like as a representative value # 23a instead of the mode value.
- the distance value correcting unit 23 may further round the decimal value to an integer value by rounding down, rounding up, or rounding off when the average value, median value, or the like becomes a decimal value as a result of the calculation. .
- the distance value correcting unit 23 replaces the distance value set of each segment included in the segment information # 22 with the representative value # 23a of the corresponding segment, and outputs it to the number assigning unit 24 as the segment information # 23.
- the number assigning unit 24 associates identifiers having different values with each representative value # 23a included in the segment information # 23. Specifically, the number assigning unit 24 sets the segment number # 24 according to the representative value # 23a and the position information for each set of the position information and the representative value # 23a of the M sets included in the segment information # 23. Associate. Then, the number assigning unit 24 outputs data in which the segment number # 24 and the representative value # 23a are associated with each other.
- the information source encoding unit 25 performs compression encoding processing on the data in which the segment number # 24 and the representative value # 23a are associated, and outputs the obtained encoded data # 25 of the distance image to the outside.
- the packaging unit 28 associates the encoded data # 11 of the texture image # 1 and the encoded data # 25 of the distance image # 2 and outputs them as encoded data # 28 to the outside.
- FIG. 2 is a flowchart showing the operation of the moving image encoding apparatus 1.
- the operation of the moving image encoding apparatus 1 described here is an operation of encoding a texture image and a distance image of the t frame from the head in a moving image including a large number of frames. That is, the moving image encoding apparatus 1 repeats the operation described below as many times as the number of frames of the moving image in order to encode the entire moving image.
- each data # 1 to # 28 is interpreted as data of the t-th frame.
- the image encoding unit 11 and the distance image division processing unit 22 respectively receive the texture image # 1 and the distance image # 2 from the outside of the moving image encoding device 1 (step S1).
- the pair of the texture image # 1 and the distance image # 2 received from the outside is correlated with the contents of the image, as can be seen, for example, by comparing the texture image of FIG. 3 and the distance image of FIG. is there.
- the image encoding unit 11 The texture image # 1 is encoded by the AVC encoding method stipulated in the H.264 / MPEG-4 AVC standard, and the obtained texture image encoded data # 11 is transmitted to the packaging unit 28 and the image decoding unit 12. Output (step S2).
- the texture image # 1 is a B picture or a P picture in step S2
- the image encoding unit 11 encodes the prediction residual between the texture image # 1 and the predicted image, and the encoded prediction residual Is output as encoded data # 11.
- the image decoding unit 12 decodes the texture image # 1 'from the encoded data # 11 and outputs it to the image division processing unit 21 (step S3).
- the texture image # 1 'to be decoded is not completely the same as the texture image # 1 encoded by the image encoding unit 11. This is because the image encoding unit 11 performs the DCT conversion process and the quantization process during the encoding process, but a quantization error occurs when the DCT coefficient obtained by the DCT conversion is quantized.
- the timing at which the image decoding unit 12 decodes the texture image differs depending on whether or not the texture image # 1 is a B picture. This will be described in detail.
- the image decoding unit 12 decodes the texture image # 1 ′ without performing inter prediction (inter-screen prediction).
- the image decoding unit 12 decodes the prediction residual from the encoded data # 11. Then, the image decoding unit 12 decodes the texture image # 1 ′ by adding a prediction residual to the predicted image generated using the encoded data # 11 of one or more frames before the t-th frame as a reference picture.
- the image decoding unit 12 decodes the prediction residual from the encoded data # 11. Then, the image decoding unit 12 generates, as reference pictures, encoded data # 11 of one or more frames before the t-th frame and encoded data # 11 of one or more frames after the t-th frame. Texture image # 1 ′ is decoded by adding the prediction residual to the prediction image.
- the timing at which the image decoding unit 12 decodes the texture image # 1 ′ in the t frame is the t frame. Immediately after the encoded data # 11 is generated.
- the timing at which the image decoding unit 12 decodes the texture image # 1 ′ is the T (> t) frame (the last frame in the reference picture). ) After the time when the encoding process for texture image # 1 is completed.
- the image division processing unit 21 defines a plurality of segments from the input texture image # 1 '(step S4).
- Each segment defined by the image division processing unit 21 is a closed region composed of pixels of similar colors (that is, a pixel group in which the difference between the maximum pixel value and the minimum pixel value is a predetermined threshold value or less). .
- FIG. 5 is a diagram showing the distribution of each segment defined by the image division processing unit 21 from the texture image # 1 ′ of FIG.
- the closed region drawn by the same pattern indicates one segment.
- the left and right hairs of the girl's head division are drawn in two colors, brown and light brown.
- the image division processing unit 21 defines a closed region made up of pixels of similar colors such as brown and light brown as one segment.
- the skin portion of the girl's face is also drawn in two colors, the skin color and the pink color of the cheek portion.
- Each pink area is defined as a separate segment. This is because the skin color and the pink color are not similar (that is, the difference between the skin color pixel value and the pink pixel value exceeds a predetermined threshold value).
- the image division processing unit 21 After the process of step S4, the image division processing unit 21 generates segment information # 21 including the position information of each segment and outputs it to the distance image division processing unit 22 (step S5).
- the position information of the segment for example, the coordinate values of all the pixels included in the segment can be cited. That is, when defining each segment from the texture image # 1 ′ in FIG. 3, each closed region in FIG. 6 is defined as one segment, but the position information of the segment constitutes a closed region corresponding to the segment. Coordinate values for all pixels.
- the distance image division processing unit 22 divides the input distance image # 2 into a plurality of segments. Specifically, the distance image division processing unit 22 refers to the input segment information # 21, specifies the position of each segment in the texture image # 1 ′, and is the same as the segment division pattern in the texture image # 1 ′. In this division pattern, the distance image # 2 is divided into a plurality of segments (in the following description, it is assumed that the number of segments is M).
- the distance image division processing unit 22 extracts the distance value of each pixel included in the segment as a distance value set for each segment of the distance image # 2. Furthermore, the distance image division processing unit 22 associates the distance value set extracted from the corresponding segment with the position information of each segment included in the segment information # 21. And the distance image division
- the distance value correction unit 23 calculates the mode value as the representative value # 23a from the distance value set of the segment included in the segment information # 22 for each segment of the distance image # 2. Then, the distance value correcting unit 23 replaces each of the M distance value sets included in the segment information # 22 with the representative value # 23a of the corresponding segment, and outputs it as the segment information # 23 to the number assigning unit 24 ( Step S7).
- the number assigning unit 24 associates the representative value # 23a with the segment number # 24 corresponding to the position information for each of the M sets of position information and representative value # 23a included in the segment information # 23, and sets M sets The representative value # 23a and the segment number # 24 are output to the information source encoding unit 25 (step S8).
- the number assigning unit 24 for each i from 1 to M (M: the number of segments) based on the segment information # 23, the distance image or the texture image in the raster scan order as shown in FIG.
- the segment number “i ⁇ 1” is associated with the representative value # 23a of the segment in which the i-th pixel is scanned (hereinafter abbreviated as “i-th segment in raster scan order”).
- FIG. 8 is a diagram schematically showing the position of each segment of the distance image input to the moving image encoding device 1 together with the texture image as shown in FIG. In FIG. 8, one closed region indicates one segment.
- segment number “0” is assigned to the segment R0 located at the head in the raster scan order. Further, the segment number “1” is assigned to the segment R1 that is positioned second in the raster scan order. Similarly, segment numbers “2” and “3” are respectively assigned to the third and fourth segments R2 and R3 in the raster scan order.
- the number assigning unit 24 outputs the M sets of representative values # 23a and the segment number # 24 whose specific examples are shown in FIG. 9 to the information source encoding unit 25.
- the information source encoding unit 25 performs information source encoding processing on the input M sets of representative values # 23a and segment numbers # 24, and the obtained encoded data # 25 is packaged by the packaging unit 28.
- Step S9 the information source coding unit 25 converts the representative value # 23a of the set of the segment number “i” from a decimal number to an 8-bit binary number sequence. Convert to Then, the information source encoding unit 25 performs an information source encoding process on an 8 ⁇ M-bit binary sequence (information sequence) obtained by concatenating M binary sequences, and obtains encoded data # 25 (code) Series) to the packaging unit 28.
- the 8-bit binary sequence converted from the representative value # 23a of the set of segment number “i” is the 8 ⁇ (i + 1) -th bit from the 8 ⁇ i + 1-th bit in the 8 ⁇ M-bit binary sequence.
- the binary number sequence up to is configured.
- a set of segment number “0” as shown in FIG. 9 a set of segment number “0” as shown in FIG.
- the 8-bit binary number sequence “010101001” converted from the representative value “83” of the above constitutes the first 8 bits of the 8 ⁇ M-bit binary number sequence.
- the 8-bit binary sequence “10110110” converted from the representative value “182” of the set of segment numbers “1” is 8 bits from the 9th bit to the 16th bit of the 8 ⁇ M-bit binary sequence.
- any compression encoding method can be adopted as the information source encoding method.
- the information source coding method entropy coding such as Huffman coding or arithmetic coding may be employed, or universal coding such as Lempel-Ziv coding may be employed.
- the packaging unit 28 integrates the encoded data # 11 output from the image encoding unit 11 in step S2 and the encoded data # 25 output from the information source encoding unit 25 in step S9. Then, the obtained encoded data # 28 is transmitted to a moving picture decoding apparatus described later (step S10).
- the packaging unit 28 is H.264.
- the texture image encoded data # 11 and the distance image encoded data # 25 are integrated. More specifically, the integration of the encoded data # 11 and the encoded data # 25 is performed as follows.
- FIG. 11 is a diagram schematically showing the configuration of the NAL unit. As shown in FIG. 11, the NAL unit is composed of three parts: a NAL header part, an RBSP part, and an RBSP trailing bit part. .
- the packaging unit 28 stores a prescribed numerical value I in the nal_unit_type (identifier indicating the type of NAL unit) field of the NAL header portion of the NAL unit corresponding to each slice (main slice) of the main picture.
- the specified numerical value I is obtained by converting the encoded data # 28 into the encoding method according to the present embodiment (that is, the distance image # 2 is converted into a unique distance value (M representative values # 23a) for each segment. This is a value indicating that the encoded data is generated according to the encoding method for encoding the information source).
- the numerical value I is, for example, H.264. Values defined as “undefined” or “for future expansion” in the H.264 / MPEG-4 AVC standard can be used.
- the packaging unit 28 stores the encoded data # 11 and the encoded data # 25 in the RBSP unit of the NAL unit corresponding to the main slice. Further, the packaging unit 28 stores the RBSP trailing bit in the RBSP trailing bit unit.
- the packaging unit 28 transmits the NAL unit thus obtained to the video decoding device as encoded data # 28.
- FIG. 12 is a block diagram illustrating a configuration of the moving image encoding device 1 ′.
- the moving image encoding device 1 ′ is a device in which the distance image encoding unit 20 in the moving image encoding device 1 is replaced with a distance image encoding unit 20 ′.
- the moving image encoding device 1 ′ excludes the number assigning unit 24 from the moving image encoding device 1, and converts the image division processing unit 21 to the distance value correction unit 23 into the image division processing unit 21 ′ to the distance value correction. This is a device replaced with a unit 23 '.
- the image division processing unit 21 ′ defines a plurality of segments from the texture image # 1 ′ with the same algorithm as the image division processing unit 21, but the image division processing unit 21 ′ replaces the segment information # 21 with segment identification
- the image # 21 ′ is configured to be output to the distance image division processing unit 22 ′.
- the image division processing unit 21 ′ like the number assigning unit 24 of the moving image encoding device 1, is positioned i-th in the raster scan order for each i from 1 to M in the texture image # 1 ′.
- the segment number “i-1” is assigned to the segment to be replaced, and the pixel value of each pixel included in the i-th segment in the texture image # 1 ′ is replaced with “i-1”.
- the image division processing unit 21 ′ outputs the segment identification image # 21 ′ obtained thereby to the distance image division processing unit 22.
- the distance image division processing unit 22 ′ For each i from 1 to M, the distance image division processing unit 22 ′ obtains a distance value set from the segment in the distance image # 2 corresponding to the segment having the pixel value “i ⁇ 1” in the segment identification image # 21 ′. Extract and associate the segment number “i ⁇ 1” with the distance value set. Then, the distance image division processing unit 22 ′ outputs segment information # 22 ′ including the obtained M segment numbers and distance value sets to the distance value correction unit 23 ′.
- the distance value correction unit 23 ' calculates the mode value as the representative value # 23a from the distance value set of the segment included in the segment information # 22' for each segment of the distance image # 2. Then, the distance value correction unit 23 ′ replaces each of the M distance value sets included in the segment information # 22 ′ with the representative value # 23a of the corresponding segment, and the information source encoding unit as segment information # 23 ′ To 25. That is, the distance value correction unit 23 ′ outputs segment information # 23 ′ whose specific example is shown in FIG. 9 to the information source encoding unit 25.
- FIGS. 13A to 13C show 12 pixels of 3 vertical dots and 4 horizontal dots included in the texture image.
- the color of the pixel “A” and the color of the pixel “B” are the same or similar. Further, the colors of the other ten pixels are completely different from both the color of the pixel “A” and the color of the pixel “B”.
- each segment is a closed region composed of pixels adjacent to any other pixel of the same or similar color.
- the pixel and the pixel are adjacent to each other is strictly equivalent to the Manhattan distance between the coordinates of the two pixels being “1”, and the two pixels are not adjacent to each other is 2 This is synonymous with the fact that the Manhattan distance between the coordinates of two pixels is “2 or more”.
- FIGS. 13A and 13B when the pixel “A” and the pixel “B” are in contact in either the vertical direction or the horizontal direction, the pixel “A” and the pixel “B” Is adjacent.
- the pixel “A” and the pixel “B” when the pixel “A” and the pixel “B” are not in contact with each other in either the vertical direction or the horizontal direction, the pixel “A” and the pixel “B” are handled as not adjacent to each other. That is, for example, as shown in FIG. 13C, when the pixel “A” and the pixel “B” are located at the lower left and upper right of each other, the pixel “A” and the pixel “B” are adjacent to each other. Will not.
- the image division processing unit 21 is configured from a group of pixels whose difference between the maximum pixel value and the minimum pixel value is equal to or less than a predetermined threshold value from the input texture image # 1 ′.
- the method of defining the segments is not limited to this configuration. That is, the image division processing unit 21 calculates, for each segment, the average value calculated from the pixel values of the pixel group included in the segment and the pixels included in the segment adjacent to the segment from the input texture image # 1 ′. What is necessary is just to prescribe
- FIG. 18 is a flowchart showing an operation in which the video encoding device 1 defines a plurality of segments based on the above algorithm.
- FIG. 19 is a flowchart showing a subroutine of segment combination processing in the flowchart of FIG.
- the image division processing unit 21 performs, for each of all the pixels included in the texture image, in the initialization step in the figure for the texture image subjected to the smoothing process as shown in (Appendix 2).
- One independent segment provisional segment
- the pixel value itself of the corresponding pixel is set as the average value (average color) of all pixel values in each provisional segment (step S41).
- step S42 a segment combination processing step to combine provisional segments having similar colors.
- This segment combining process will be described in detail below with reference to FIG. 19, but this combining process is repeated until no combination is performed.
- the image division processing unit 21 performs the following processing (steps S51 to S55) for all provisional segments.
- the image division processing unit 21 determines whether or not the height and width of the temporary segment of interest are both equal to or less than a threshold value (step S51). If it is determined that both are equal to or less than the threshold value (YES in S51), the process proceeds to step S52. On the other hand, when it is determined that any one is larger than the threshold value (NO in S51), the process of step S51 is performed for the temporary segment to be focused next. Note that the temporary segment to be noted next may be, for example, a temporary segment positioned next to the temporary segment of interest in the raster scan order.
- the image division processing unit 21 selects a temporary segment having an average color closest to the average color in the temporary segment of interest among the temporary segments adjacent to the temporary segment of interest (step S52).
- a temporary segment having an average color closest to the average color in the temporary segment of interest among the temporary segments adjacent to the temporary segment of interest.
- an index for judging the closeness of colors for example, the Euclidean distance between vectors when the three RGB values of pixel values are regarded as a three-dimensional vector can be used.
- a pixel value of each segment an average value of all pixel values included in each segment is used.
- the image division processing unit 21 determines whether or not the proximity of the temporary segment of interest and the temporary segment that is determined to have the closest color is equal to or less than a certain threshold value. (Step S53). If it is determined that the value is larger than the threshold value (NO in step S53), the process of step S51 is performed for the temporary segment that should be noticed next. On the other hand, when it is determined that the value is equal to or less than the threshold value (YES in step S53), the process proceeds to step S54.
- the image division processing unit 21 converts two provisional segments (provisional segments determined to be closest in color to the provisional segment of interest) into one provisional segment. (Step S54). The number of provisional segments is reduced by 1 by the process of step S54.
- step S54 the average value of the pixel values of all the pixels included in the converted target segment is calculated (step S55). If there is a segment that has not yet been subjected to the processing of steps S51 to S55, the processing of step S51 is performed for the temporary segment to be noticed next.
- step S43 After completing the processes of steps S51 to S55 for all the provisional segments, the process proceeds to the process of step S43.
- the image division processing unit 21 compares the number of provisional segments before the process of step S42 and the number of provisional segments after the process of step S42 (step S43).
- step S43 If the number of provisional segments has decreased (YES in step S43), the process returns to step S42. On the other hand, when the number of temporary segments does not change (NO in step S43), the image division processing unit 21 defines each current temporary segment as one segment.
- the input texture image is an image of 1024 ⁇ 768 dots, it can be divided into about several thousand segments.
- step S51 is not essential, but it is desirable to prevent the segment size from becoming too large by limiting the segment size as in step S51.
- the image division processing unit 21 is configured from a group of pixels whose difference between the maximum pixel value and the minimum pixel value is equal to or less than a predetermined threshold value from the input texture image # 1 ′.
- an upper limit may be set for the number of pixels included in each segment.
- an upper limit may be provided for the width or height of the segment together with the upper limit of the number of pixels or instead of the upper limit of the number of pixels.
- the moving image decoding apparatus 2 can decode a distance image that more faithfully reproduces the original distance image # 2.
- the image division processing unit 21 may perform a smoothing process on the input texture image # 1 ′.
- the image segmentation processing unit 21 is a non-patent document “C. Lawrence Zinick, Sing Bing Kang, Mattew Uyttendaele, Simon Winder and Richard Szeliski,“ High-quality video view interpolation using a layered representation, ”ACM Trans. On Graphics, 23 (3), 600-608, (2004) ”, the texture image # 1 ′ may be repeatedly smoothed to such an extent that the edge information is not lost.
- the image division processing unit 21 converts the texture image after the smoothing process into a plurality of segments each composed of a pixel group in which the difference between the maximum pixel value and the minimum pixel value is equal to or less than a predetermined threshold value. It may be divided.
- the smoothing process reduces the size of the segment. Can be suppressed. That is, by performing the smoothing process, the code amount of the encoded data # 25 can be reduced as compared with the case where the smoothing process is not performed.
- the image division processing unit 21 may be arranged before the image encoding unit 11 instead of being arranged between the image decoding unit 12 and the distance image division processing unit 22. . That is, the image division processing unit 21 outputs the input texture image # 1 as it is to the subsequent image encoding unit 11, and each segment of the texture image # 1 has a predetermined difference between the maximum pixel value and the minimum pixel value. May be divided into a plurality of segments composed of pixel groups that are equal to or smaller than the threshold value, and segment information # 21 may be output to the distance image division processing unit 22 in the subsequent stage.
- the information source encoding unit 25 performs the information source encoding process on the 8 ⁇ M-bit binary sequence.
- the information source encoding process by the information source encoding unit 25 is not essential. That is, the moving image encoding apparatus 1 may transmit the M sets of representative values # 23a and the segment number # 24 as they are to the moving image decoding apparatus as encoded data of the distance image # 2. Alternatively, the moving image encoding apparatus 1 transmits the above-described 8 ⁇ M bit binary sequence generated from the M sets of representative values # 23a and the segment number # 24 to the moving image decoding apparatus as encoded data of the distance image # 2. You may make it do.
- the information source encoding unit 25 converts M representative values # 23a in decimal numbers into binary sequences of 8 ⁇ M bits, but the present invention is not limited to this. That is, the information source encoding unit 25 generates a symbol sequence (information sequence) of length M with each representative value # 23a as one symbol, and performs information source encoding processing on the symbol sequence of length M. May be.
- the moving image encoding apparatus 1 is the H.264 standard.
- the texture image # 1 is encoded using AVC encoding defined in the H.264 / MPEG-4 AVC standard, but the present invention is not limited to this. That is, the image encoding unit 11 of the moving image encoding apparatus 1 may encode the texture image # 1 using another encoding method such as MPEG-2 or MPEG-4.
- the texture image # 1 may be encoded using an encoding method established as the H.265 / HVC standard.
- the image division processing unit 21 is a plurality of segments obtained by dividing the entire region of the texture image # 2, and the maximum pixel value and the minimum pixel group included in each region A plurality of segments are defined such that the difference from the pixel value is equal to or less than a predetermined threshold value.
- the distance image division processing unit 22 defines a plurality of segments obtained by dividing the entire area of the distance image # 2 with the same division pattern as the plurality of segment division patterns defined by the image division processing unit 21. Further, for each segment defined by the distance image division processing unit 22, the distance value correction unit 23 calculates a representative value # 23a from the distance value of each pixel included in the segment.
- the distance image encoding unit 20 generates encoded data # 25 including a plurality of representative values # 23a calculated by the distance value correcting unit 23.
- the moving image encoding apparatus 1 transmits the representative values # 23a corresponding to the number of segments at most as the encoded data # 25 of the distance image # 2 transmitted to the moving image decoding apparatus.
- the code amount of the encoded data of the distance image is clearly larger than the code amount of the encoded data # 25.
- the distance image division processing unit 21 defines a plurality of segments by the method described in the above-described patent document
- the number of pixels included in each segment is about 100 to 1600.
- the encoding method of this embodiment is also used for the code amount per block of the distance image when AVC encoding is used. In this case, the code amount per segment of the distance image becomes larger.
- the moving image encoding apparatus 1 reduces the code amount of the encoded data of the distance image # 2 compared to the conventional moving image encoding apparatus that AVC encodes the distance image # 2 and transmits the encoded image to the moving image decoding apparatus. There is an effect that can be done.
- the moving picture decoding apparatus uses the texture image # 1 ′ and the distance picture # from the encoded data # 28 transmitted from the moving picture encoding apparatus 1 described above for each frame constituting the moving picture to be decoded. This is a moving picture decoding apparatus for decoding 2 ′.
- FIG. 14 is a block diagram illustrating a main configuration of the video decoding device.
- the moving image decoding apparatus 2 includes an image decoding unit 12, an image division processing unit 21 ′, an unpackaging unit 31, an information source decoding unit 32, and a distance value adding unit 33.
- the unpackaging unit 31 extracts the encoded data # 11 of the texture image # 1 and the encoded data # 25 of the distance image # 2 from the encoded data # 28.
- the image decoding unit 12 decodes the texture image # 1 'from the encoded data # 11.
- the image decoding unit 12 is the same as the image decoding unit 12 included in the moving image encoding device 1. That is, the image decoding unit 12 is configured to transmit the encoded data # 28 from the moving image encoding apparatus 1 to the moving image decoding apparatus 2 as long as no noise is mixed in the encoded data # 28.
- the texture image # 1 ′ having the same content as the texture image decoded by the image decoding unit 12 is decoded.
- the image division processing unit 21 ′ performs the entire texture image # 1 ′ using the same algorithm as the image division processing unit 21 of the moving image encoding device 1 (or the image division processing unit 21 ′ of the moving image encoding device 1 ′).
- the area is divided into a plurality of segments (areas).
- M the number of segments
- the image division processing unit 21 ′ is a pixel of each pixel included in the i th segment in the raster scan order in the texture image # 1 ′.
- the segment identification image # 21 ′ is generated.
- the information source decoding unit 32 decodes the M sets of representative values # 23a and the segment number # 24 from the encoded data # 25 of the distance image encoded by the information source.
- the distance value assigning unit 33 for each i from 1 to M (M: number of segments), in the segment identification image # 21, based on the M sets of representative values # 23a and the segment number # 24.
- the range image # 2 ′ is decoded by converting the pixel values of all the pixels having the pixel value “i ⁇ 1” into the representative value # 23a of the group having the segment number “i ⁇ 1”.
- FIG. 15 is a flowchart showing the operation of the video decoding device 2.
- the operation of the moving image decoding apparatus 2 described here is an operation of decoding a texture image and a distance image of the t-th frame from the top in a three-dimensional moving image including a large number of frames. That is, the moving image decoding apparatus 2 repeats the operation described below as many times as the number of frames of the moving image in order to decode the entire moving image. Further, in the following description, unless otherwise specified, each data # 1 to # 28 is interpreted as data of the t-th frame.
- the unpackaging unit 31 extracts the encoded data # 11 of the texture image and the encoded data # 25 of the distance image from the encoded data # 28 received from the moving image encoding device 1. Then, the unpackaging unit 31 outputs the encoded data # 11 to the image decoding unit 12, and outputs the encoded data # 25 to the information source decoding unit 32 (step S21).
- the image decoding unit 12 decodes the texture image # 1 ′ from the input encoded data # 11, and sends it to the image division processing unit 21 ′ and a stereoscopic video display device (not shown) outside the moving image decoding device 2. Output (step S22).
- the image division processing unit 21 ′ defines a plurality of segments with the same algorithm as the image division processing unit 21 of the moving image encoding device 1. Then, for each i from 1 to M (M: the number of segments), the image division processing unit 21 ′ is a pixel of each pixel included in the i th segment in the raster scan order in the texture image # 1 ′. By replacing the value with “i ⁇ 1”, the segment identification image # 21 ′ is generated. The image division processing unit 21 'outputs the segment identification image # 21' to the distance value providing unit 33 (step S23).
- the information source decoding unit 32 decodes the above-described 8 ⁇ M-bit binary sequence from the encoded data # 25 of the distance image that has been encoded by the information source. Further, the information source decoding unit 32 performs, for each i from “0” to “M ⁇ 1”, 8 bits from the 8 ⁇ M + 1 binary sequence to the 8 ⁇ (i + 1) th bit from the 8 ⁇ M bit binary sequence. And the representative value # 23a obtained by converting the binary number sequence into a decimal number and the segment number “i” are decoded. Then, the information source decoding unit 32 outputs the obtained M sets of representative values # 23a and segment numbers # 24 to the distance value assigning unit 33 (step S24).
- the distance value assigning unit 33 for each i from 1 to M (M: number of segments), in the segment identification image # 21, based on the M sets of representative values # 23a and the segment number # 24.
- the range image # 2 ′ is decoded by converting the pixel values of all the pixels having the pixel value “i ⁇ 1” into the representative value # 23a of the group having the segment number “i ⁇ 1”. Then, the distance value assigning unit 33 outputs the distance image # 2 'to the above-described stereoscopic video display device (step S25).
- the distance image # 2 ′ decoded by the distance value assigning unit 33 in step S25 is generally the distance image 2 input to the video encoding device 1.
- the distance image approximates to.
- the distance image # 2 is the same as the image obtained by changing the distance value of a very small part included in the segment in the distance image # 2 to the representative value in the segment. It can be said that the distance image # 2 is approximate.
- the image division processing unit 21 ′ defines a plurality of segments obtained by dividing the entire area of the texture image # 1 ′. Specifically, the image division processing unit 21 ′ defines a plurality of segments each including a group of pixels each having a similar color.
- the information source decoding unit 32 reads the encoded data # 25.
- the encoded data # 25 is data including at most one representative value # 23a as a distance value for each of a plurality of segments constituting the distance image # 2 'to be decoded. Note that the division pattern of the plurality of segments constituting the distance image # 2 'to be decoded is the same as the division pattern of the plurality of segments defined by the image division processing unit 21'.
- the distance value assigning unit 33 encodes the pixel values of all the pixels in the segment by the encoded data # 25 read by the information source decoding unit 32. Is set to the representative value # 23a in the segment included in the. The distance value assigning unit 33 decodes the distance image # 2 ′ in this way.
- the distance image # 2 ′ decoded from the encoded data # 25 by the moving image decoding apparatus 2 is similar to the distance image # 2 encoded by the moving image encoding apparatus 1 as described above.
- the device 2 can decode an appropriate distance image.
- the distance image # 2 'decoded by the video decoding device 2 has further advantages.
- the contour of the subject in the generated three-dimensional image is the subject and background in the distance image # 2. It depends on the shape of the boundary.
- the texture image # 1 'and the distance image # 2 match the position of the boundary between the subject and the background, the position of the boundary between the subject and the background may not match.
- the texture image reproduces the shape of the edge portion between the subject and the background more faithfully.
- the position of the boundary between the subject and the background in the distance image # 2 ′ decoded by the moving image decoding apparatus 2 often coincides with the position of the boundary between the subject and the background in the texture image # 1. This is because, in general, the subject color and the background color are significantly different in the texture image # 1, and the boundary between the subject and the background becomes the segment boundary in the texture image # 1.
- the three-dimensional image reproduced by the stereoscopic image display device from the texture image # 1 ′ and the distance image # 2 ′ output from the moving image decoding apparatus 2 according to the present embodiment is the texture image # 1 ′ and the distance image # 2.
- the moving image encoding apparatus 1 transmits the encoded data # 25 to the moving image decoding apparatus 2.
- the moving image encoding apparatus 1 transmits the encoded data # 25 to the moving image decoding apparatus 2 as follows. Then, the encoded data # 25 may be supplied.
- the moving image encoding apparatus 1 and the moving image decoding apparatus 2 are provided with access means that can access a removable recording medium such as an optical disk drive, and the moving image encoding apparatus 1 and the moving image decoding apparatus 2 are connected via the recording medium.
- the encoded data # 25 may be supplied.
- the encoding apparatus of the present invention does not necessarily include a means for transmitting data
- the decoding apparatus of the present invention does not necessarily include a receiving means for receiving data.
- the moving image encoding apparatus is H.264 for encoding texture images.
- the MVC coding adopted as the MVC standard in H.264 / AVC is used, while the distance picture is coded by a moving picture coding apparatus using a coding technique peculiar to the present invention.
- the moving image encoding apparatus according to the present embodiment is different from the moving image encoding apparatus 1 in that a plurality of sets (N sets) of texture images and distance images are encoded per frame.
- the N sets of texture images and distance images are images of subjects simultaneously captured by cameras and ranging devices installed at N locations so as to surround the subject. That is, N sets of texture images and distance images are images for generating a three-dimensional free viewpoint image.
- each set of texture images and distance images that is, texture images and distance images of each viewpoint
- Camera parameters are included as metadata.
- FIG. 16 is a block diagram showing a main configuration of the moving picture encoding apparatus according to the present embodiment.
- the moving image encoding apparatus 1A includes an image encoding unit 11A, an image decoding unit 12A, a distance image encoding unit 20A, and a packaging unit 28 ′.
- the distance image encoding unit 20A includes an image division processing unit 21, a distance image division processing unit 22A, a distance value correction unit 23A, a number assigning unit 24A, and an information source encoding unit 25 ′.
- the image encoding unit 11A N view components (that is, texture images # 1-1 to # 1-N) are encoded by MVC encoding (multi-view video encoding) defined in the MVC standard in H.264 / AVC, and each view component is Coded data # 11-1 to # 11-N are generated. Further, the image encoding unit 11A converts the encoded data # 11-1 to # 11-N into the image decoding unit 12 and the packaging unit 28 together with the view IDs “1” to “N” that are parameters by NAL header extension. Output to '.
- MVC encoding multi-view video encoding
- the image decoding unit 12A converts the texture images # 1′-1 to # 1′-N from the encoded data # 11-1 to # 11-N of the texture image # 1 by the decoding method stipulated in the MVC standard. Decrypt.
- the distance image division processing unit 22A corresponds to each segment in the texture image # 1′-j in the distance image # 2-j. A distance value set including the distance values of each pixel included in the segment (region) is extracted. Then, the distance image division processing unit 22A generates segment information # 22-j in which the distance value set and the position information are associated with each segment from the segment information # 21-j.
- the distance image division processing unit 22A generates a view ID “j” of the distance image # 2-j, and generates segment information # 22A-j in which the view ID “j” is associated with the segment information # 22-j. To do.
- the distance value correcting unit 23A calculates the mode value as the representative value # 23a from the distance value set of the segment included in the segment information # 22A-j for each segment of the distance image # 2-j. Then, the distance value correcting unit 23 replaces the distance value set of each segment included in the segment information # 22A-j with the representative value # 23a of the corresponding segment, and outputs the segment information # 23A-j to the number assigning unit 24A. To do.
- Number giving unit 24A when the segment information # 23A-j is input, each set for the M j sets of position information and the representative value # 23a contained in the segment information # 23A-j, and the representative value # 23a The segment number # 24 corresponding to the position information is associated.
- the number assigning unit 24A then encodes the data in which the segment number # 24 and the representative value # 23a of the M j sets are associated with the view ID “j” included in the segment information # 23A-j, as information source coding To the unit 25 '.
- the information source encoding unit 25 ′ When the information source encoding unit 25 ′ receives the M j sets of representative values # 23a and the segment number # 24 related to the distance image # 2-j and the view ID “j”, the information source encoding unit 25 ′ A binary sequence of 8 ⁇ M j bits is generated by a similar method. Then, the information source encoding unit 25 ′ generates encoded data of the distance image # 2-j by performing information source encoding processing on the binary sequence of 8 ⁇ M j bits. The information source encoding unit 25 ′ uses the encoded data of the distance image # 2-j for each j from 1 to N obtained in this way as the VCL / NAL unit and the view ID “j” as the non-VCL / NAL unit. The encoded data # 25 ′ included as the NAL unit is transmitted to the packaging unit 28 ′.
- the packaging unit 28 ′ integrates the encoded data # 11-1 to # 11-N of the texture images # 1-1 to # 1-N and the encoded data # 25 ′, thereby encoding the encoded data # 28 'is generated. Then, the packaging unit 28 'transmits the encoded data # 28' to the video decoding device.
- the image division processing unit 21 is the same as the image division processing unit 21 of the moving image encoding apparatus 1 of the first embodiment, and thus description thereof is omitted.
- Video decoding device Next, the configuration of the video decoding device according to the present embodiment will be described with reference to FIG.
- FIG. 17 is a block diagram showing a main configuration of the moving picture decoding apparatus according to the present embodiment.
- the moving image decoding apparatus 2A includes an image decoding unit 12A, an image division processing unit 21 ′, an unpackaging unit 31 ′, an information source decoding unit 32 ′, and a distance value providing unit 33 ′. Yes.
- the difference between the video decoding device 2A and the video decoding device 2 is only the image decoding unit, the unpackaging unit, and the information source decoding unit. Therefore, the image decoding unit 12A, the unpackaging unit 31 ′, and the information source Only the decoding unit 32 ′ will be described, and the description of the other units will be omitted.
- the image decoding unit 12A decodes the texture images # 1′-1 to # 1′-N from the encoded data # 11-1 to # 11-N of the texture image # 1 by the decoding method defined in the MVC standard. To do.
- the unpackaging unit 31 ′ When receiving the encoded data # 28 ′, the unpackaging unit 31 ′ extracts the encoded data # 11-1 to # 11-N and the encoded data # 25 ′ from the encoded data # 28 ′, respectively. To do.
- the information source decoding unit 32 ′ performs the same processing as the information source decoding unit 32 for each j from 1 to N by performing information source decoding on the encoded data # 25 ′. That is, the information source decoding unit 32 ′ decodes an 8 ⁇ M j- bit binary sequence. Then, the information source decoding unit 32 ′ divides the decoded 8 ⁇ M j -bit binary number sequence into 8-bit M j binary number sequences, and M j sets of distance values from each 8-bit binary number sequence. Decode # 23a and segment number # 24.
- the distance value assigning unit 33 decodes the distance images # 2'-1 to # 2'-N. Specifically, the distance value assigning unit 33 'decodes the distance image # 2'-j as follows.
- the distance value assigning unit 33 ′ receives M j sets of representative values # 23a and segment numbers # 24 input from the information source decoding unit 32 ′ and the view ID “j” from 1 to M for each i to j, the set of the pixel values of all pixels of the pixel values of the distinct segment recognition image # in 21-j is the view ID "j", "i-1", the segment number "i-1”
- the distance image # 2′-j is decoded by converting to the representative value # 23a.
- the distance value assigning unit 33 outputs the distance images # 2'-1 to # 2'-N to the above-described stereoscopic video display device.
- the moving image encoding device 1A and the moving image decoding device 2A have N sets of texture images and distance images of a subject captured simultaneously by cameras and ranging devices installed at N locations so as to surround the subject. Then, an encoding process and a decoding process were performed.
- the moving image encoding device 1A and the moving image decoding device 2A can perform encoding processing and decoding processing on N sets of texture images and distance images generated as follows. .
- the moving image encoding device 1A and the moving image decoding device 2A are generated by N sets of cameras and ranging devices installed in one place so that each set of cameras and ranging devices faces different directions. Also, encoding processing and decoding processing can be performed on the N sets of texture images and distance images. That is, the moving image encoding device 1A and the moving image decoding device 2A have N sets of texture images and distance images (that is, texture images and distances in each direction) for generating a three-dimensional omnidirectional image, a panoramic image, and the like. Encoding processing and decoding processing can also be performed on the image.
- the texture image and the distance image of each set indicate the direction of the image generated by the camera and the distance measuring device in which direction it is directed together with the actual data of the texture image and the distance image of the set.
- Camera parameters are included as metadata.
- the image encoding unit 11A of the moving image encoding apparatus 1A is configured as H.264.
- texture images # 1-1 to # 1-N are encoded using MVC encoding defined in the MVC standard in H.264 / AVC, the present invention is not limited to this.
- the image encoding unit 11A of the moving image encoding device 1A uses other encoding methods such as a VSP (View Synthesis Prediction) encoding method, an MVD encoding method, and an LVD (Layered Video Depth) encoding method.
- Texture images # 1-1 to # 1-N may be encoded.
- the image decoding unit 12A of the moving image decoding apparatus 2A is configured to decode the texture images # 1′-1 to # 1′-N by a decoding method corresponding to the encoding method adopted by the image encoding unit 11A. What is necessary is just to comprise.
- the information source encoding unit 25 ′ of the moving image encoding apparatus 1A stores the encoded data of the distance images # 2-1 to # 2-n in a binary sequence of N ⁇ (Q + q) bits as follows. You may produce
- the information source decoding unit 32 ′ of the moving image decoding apparatus 2A decodes the N ⁇ (Q + q) -bit binary number sequence as described below, so that the distance images # 2′-1 to # 2′-n May be decrypted.
- the information source encoding process and the information source decoding process in this case will be specifically described below.
- the information source encoding unit 25 ′ converts the representative value # 23a of the set of the segment number “i” from a decimal number to a 9-bit binary number sequence. , M j 9-bit binary sequences are generated.
- the maximum value of the representative value # 23a is “255”, the first bit of each binary sequence of 9 bits is always “0”.
- the 9-bit binary sequence converted from the representative value # 23a of the set of segment number “i” is 9 ⁇ (i + 1) bits from the 9 ⁇ i + 1 bit in the 9 ⁇ M j- bit binary sequence. A binary sequence up to the eye is constructed.
- the information source encoding unit 25 ′ generates a Q-bit binary number sequence by concatenating the L-9xM j- bit “1” immediately after the generated 9 ⁇ M j- bit binary number sequence.
- the information source encoding unit 25 ′ further generates a q-bit binary sequence corresponding to the value of the camera parameter j on a one-to-one basis, and concatenates it immediately after the Q-bit binary sequence.
- the information source encoding unit 25 ′ generates k ⁇ (Q + q) when a Q + q-bit binary sequence has been generated for k distance images other than the distance image # 2-j among the N distance images. ) Immediately after the binary sequence of bits, the Q + q-bit binary sequence generated for the distance image # 2-j is concatenated.
- the information source encoding unit 25 ′ performs information source encoding processing on the N ⁇ (Q + q) -bit binary sequence generated as described above, and generates encoded data # 25 ′.
- the information source decoding unit 32 ′ decodes the N ⁇ (Q + q) -bit binary number sequence by performing information source decoding on the encoded data # 25 ′. Then, the information source decoding unit 32 ′ divides the decoded N ⁇ (Q + q) -bit binary sequence into N binary sequences of Q + q bits, and for each of the N binary sequences, 2 bits of the end q bits.
- the camera parameter j is specified from the base sequence, and the distance value # 23a and segment number # 24 of M j sets are decoded from the binary sequence of the first Q bits.
- the information source decoding unit 32 ′ converts, for each i from 0 to M j ⁇ 1, a 9-bit binary sequence from the 9 ⁇ i + 1 bit from the beginning of the Q-bit binary sequence.
- the segmented decimal distance value # 23a is associated with the segment number “i”. Since all the bits after the 9 ⁇ M j +1 bit from the top in the Q-bit binary number sequence are “1”, the information source decoding unit 32 ′ sequentially converts the Q-bit binary number sequence from the top. By reading out 9 bits at a time, it can be recognized that the number of distance values # 23a decoded from the Q-bit binary number sequence is at most M j .
- each block included in the image encoding devices 1, 1 ′, 1A and the image decoding devices 2, 2A may be configured by hardware logic. Further, the control of the image encoding devices 1, 1 ′, 1A and the image decoding devices 2, 2A may be realized by software using a CPU (Central Processing Unit) as follows.
- a CPU Central Processing Unit
- a program code (execution format program, intermediate code program, source program) of a control program that realizes control of the image encoding devices 1, 1 ′, 1A and the image decoding devices 2, 2A is recorded so as to be readable by a computer. It only has to be.
- the image encoding devices 1, 1 ', 1A and the image decoding devices 2, 2A may read and execute the program code recorded on the supplied recording medium.
- the recording medium for supplying the program code to the image encoding devices 1, 1 ′, 1A and the image decoding devices 2, 2A is, for example, a tape system such as a magnetic tape or a cassette tape, or a magnetic such as a floppy (registered trademark) disk / hard disk.
- the semiconductor memory system can be used.
- the object of the present invention can be achieved.
- the program code is supplied to the image encoding devices 1, 1 ', 1A and the image decoding devices 2, 2A via a communication network.
- the communication network is not limited to a specific type or form as long as it can supply program codes to the image encoding devices 1, 1 ', 1A and the image decoding devices 2, 2A.
- the Internet, intranet, extranet, LAN, ISDN, VAN, CATV communication network, mobile communication network, satellite communication network, etc. may be used.
- the transmission medium constituting the communication network may be any medium that can transmit the program code, and is not limited to a specific configuration or type.
- wired communication such as IEEE 1394, USB (Universal Serial Bus), power line carrier, cable TV line, telephone line, ADSL (Asymmetric Digital Subscriber Line) line, infrared such as IrDA or remote control, Bluetooth (registered trademark), 802. 11 wireless, HDR, mobile phone network, satellite line, terrestrial digital network, etc.
- the present invention can also be realized in the form of a computer data signal embedded in a carrier wave in which the program code is embodied by electronic transmission.
- the encoding apparatus includes a second encoding unit that generates encoded data of the texture image, the encoded data of the texture image generated by the second encoding unit, and the encoding unit. It is desirable to further include transmission means for associating and transmitting the encoded data of the distance image generated by the above to the outside.
- the encoding apparatus encodes not only the distance image but also the texture image. Therefore, the total data amount obtained by summing the data amount of the texture image and the data amount of the distance image is further increased. There is an additional effect that it can be reduced.
- the encoding apparatus further includes, for example, a decoding unit that decodes a texture image from the encoded data generated by the second encoding unit, and the first region defining unit includes the decoding unit.
- a decoding unit that decodes a texture image from the encoded data generated by the second encoding unit
- the first region defining unit includes the decoding unit.
- a plurality of areas obtained by dividing the entire area of the texture image decoded by the above, and for each area, an average value calculated from the pixel values of the pixel group included in the area and a pixel group included in the area adjacent to the area
- a plurality of regions can be defined such that the difference from the average value calculated from the pixel values is equal to or greater than a predetermined threshold value.
- the encoding means generates an information sequence corresponding to M representative values (M: the number of areas defined by the second area defining means) calculated by the representative value calculating means. It is desirable to generate encoded data of the distance image by generating and performing information source encoding processing on the information series.
- the encoding apparatus does not directly use the M representative values as the encoded data of the distance image, but uses the information source code as an information sequence generated from the M representative values. Since the encoded data of the distance image is generated by performing the encoding process, it is possible to further reduce the code amount of the encoded data of the distance image.
- the encoding device includes N distance images generated for displaying an omnidirectional stereoscopic image or a free viewpoint stereoscopic image, and displays each of the azimuth images and the stereoscopic images of each viewpoint. It is preferable to operate each of the above-described units so as to encode the distance image for each of N distance images processed together with the texture image paired with the distance image.
- the decoding apparatus includes: encoded data of the texture image and encoded data of the distance image from integrated data in which the encoded data of the distance image and the encoded data of the texture image are associated with each other. It is desirable to further include extraction means for individually extracting.
- the decoding device is supplied with integrated data in which the encoded data of the distance image and the encoded data of the texture image are associated from the encoding device according to the present invention. Even if it is a case, there exists the further effect that a distance image can be decoded from the encoding data of the said distance image.
- the decoding apparatus performs an information source encoding process on an information sequence corresponding to M (M: the number of areas defined by the area defining means) distance values of the encoded data read by the reading means.
- the decoding means decodes the information sequence by subjecting the code sequence to an information source decoding process, and from the information sequence, M decoding units constituting the distance image It is desirable to decode the M distance values to be set as pixel values of the region.
- the source data is encoded into an information sequence corresponding to M (M: the number of areas defined by the area defining means) encoded data supplied from the encoding apparatus according to the present invention. Even in the case of a code sequence obtained by performing processing, there is an additional effect that a distance image can be decoded.
- the decoding device includes N distance images generated for displaying an omnidirectional stereoscopic image or a free viewpoint stereoscopic image, and each distance for displaying a stereoscopic image of each azimuth or each viewpoint. It is desirable to operate each of the above-described units so as to decode the distance image from the encoded data of the distance image for each of the N distance images processed together with the texture image paired with the image.
- an encoding program that causes a computer to function as each unit of the encoding device according to the present invention a decoding program that causes the computer to function as each unit of the decoding device according to the present invention, and a computer-readable recording of the encoding program A recording medium and a computer-readable recording medium on which a decoding program is recorded are also included in the scope of the present invention.
- Non-Patent Document 1 is incorporated herein by reference.
- the present invention can be suitably applied to a content generation device that generates 3D-compatible content, a content playback device that plays back 3D-compatible content, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
動画像符号化装置(1)は、テクスチャ画像(#1)と距離画像(#2)とを符号化する装置であり、画像(#1)の全領域を分割した複数の領域であって、各領域が類似する色の画素からなる複数の領域を規定する画像分割処理部(21)と、上記複数の領域と同一の分割パターンで画像(#2)の全領域を分割した複数の領域を規定する距離画像分割処理部(22)と、画像(#2)の各領域について、領域内の各画素の距離値から最頻値を算出する距離値修正部(23)と、各領域の最頻値からなる距離値に関する符号化データ(#25)を生成する情報源符号化部(25)と、を備えている。
Description
本発明は、主に、距離画像(Depth Image)を符号化する符号化装置、および、そのような符号化装置により符号化された距離画像を復号する復号装置に関する。
被写体の三次元形状を、正確に、且つ、効率良くデータとして記録することは重要なテーマであり、従来からさまざまな方法が提案されている。
それらの方法の一つとして、被写空間を各被写体および背景の色で表現した一般的な二次元画像であるテクスチャ画像と、被写空間を各被写体および背景までの視点からの距離で表現した画像(以下、「距離画像」と呼ぶ)との二種類の画像データを関連付けて記録する方法がある。より具体的には、距離画像とは、画素ごとに、被写空間中の対応する地点までの視点からの距離値(深度値)を表現する画像である。
この距離画像は、例えば、テクスチャ画像を記録するカメラ近傍に設置された、デプスカメラ等の測距装置によって取得できる。あるいは、多視点カメラの撮影によって得られる複数のテクスチャ画像を解析することによっても距離画像を取得することができ、その解析手法も数多く提案されている。
また、距離画像に関する規格として、国際標準化機構/国際電機標準会議(ISO/IEC)のワーキンググループであるMoving Picture Experts Group(MPEG)において、距離値を256段階(すなわち8ビットの輝度値)で表現する規格であるMPEG-C part3が定められている。すなわち、標準的な距離画像は8ビットのグレースケール画像となる。また、視点からの距離が近いほど高い輝度値を割り当てるように規定されているため、標準的な距離画像では、手前に位置する被写体ほど白く、奥に位置する被写体ほど黒く表現される。
同一の被写空間を表現したテクスチャ画像と距離画像とが得られれば、テクスチャ画像に描画されている被写体像を構成する各画素の視点からの距離が距離画像から分かるため、被写体を奥行きが最大256段階で表現される三次元形状として復元することができる。さらに、三次元形状を二次元平面上に幾何的に投影することにより、元のテクスチャ画像を、元の角度から一定範囲にある別の角度から被写体を撮影した場合の被写空間のテクスチャ画像に変換することが可能である。すなわち、1組のテクスチャ画像および距離画像によって一定範囲にある任意の角度から見たときの三次元形状を復元できるため、たかだか複数組のテクスチャ画像および距離画像を用いることにより三次元形状の自由視点画像を少ないデータ量で表すことが可能である。
ところで、非特許文献1には、映像が内部に持つ時間的あるいは空間的な冗長性を効率良く排除することにより、映像を圧縮符号化することができる技術が開示されている。この技術を用いた符号化装置により、テクスチャ映像(テクスチャ画像を各フレームとする映像)と距離映像(距離画像を各フレームとする映像)との各映像を符号化すると、各映像が有する冗長性を排除することが可能となり、復号装置に伝送される各映像のデータ量をさらに削減することができる。
「ITU-T 勧告 H.264」,International Telecommunication Union - Telecommunication Standardization Sector,2009年3月
しかしながら、非特許文献1に開示されている圧縮符号化技術をテクスチャ映像および距離映像に適応したとしても、距離映像のデータ量は必ずしも十分に削減されていないという問題がある。
すなわち、距離画像においては、テクスチャ画像と比べてより広い領域において単一の画素値が表れる傾向が強いと言える。例えば、テクスチャ画像に派手な柄の服を着ている人物が描かれていても、距離画像においては、服の部分の距離値が一定になる傾向がある。非特許文献1に開示されている圧縮符号化技術は、ある程度距離画像の符号量を削減できるものの、単一の距離値から構成される領域の画素を含め距離画像の全画素の距離値を符号化するので、必ずしも十分に符号量を削減できているとは言えない。
本発明は、上記課題に鑑みてなされたものであり、その主な目的は、復号装置に供給すべき距離画像の符号化データの符号量を従来よりも削減することが可能な符号化装置、および、そのような符号化装置から供給された符号化データから距離画像を復号する復号装置を実現することにある。
本発明に係る符号化装置は、上記課題を解決するために、テクスチャ画像とで対を成す距離画像を符号化する符号化装置において、上記テクスチャ画像の全領域を分割した複数の領域であって、各領域について該領域に含まれる画素群の画素値から算出される平均値と該領域に隣接する領域に含まれる画素群の画素値から算出される平均値との差が所定の閾値以上となるような複数の領域を規定する第1領域規定手段と、上記距離画像の全領域を上記テクスチャ画像の分割パターンと同一の分割パターンで分割した複数の領域を規定する第2領域規定手段と、上記第2領域規定手段により規定された上記複数の領域の各々について、該領域に含まれる各画素の距離値から代表値を算出する代表値算出手段と、上記距離値に関するデータを含む、上記距離画像の符号化データを生成する符号化手段と、を備え、上記距離値に関するデータは、上記代表値算出手段により算出された各領域の代表値からなるデータであることを特徴としている。
上記の構成によれば、本発明に係る符号化装置が生成する上記距離画像の符号化データには、距離画像の距離値として、たかだか第2領域規定手段が規定する領域の個数分の代表値が含まれることとなる。
一方、従来の動画像符号化装置は、上記距離画像の全画素の距離値を符号化する。
したがって、本発明に係る符号化装置は、従来の動画像符号化装置に比べ、上記距離画像の符号化データの符号量を削減することができるという効果を奏する。
本発明に係る符号化方法は、上記課題を解決するために、テクスチャ画像とで対を成す距離画像を符号化する符号化方法において、上記テクスチャ画像の全領域を分割した複数の領域であって、各領域について該領域に含まれる画素群の画素値から算出される平均値と該領域に隣接する領域に含まれる画素群の画素値から算出される平均値との差が所定の閾値以上となるような複数の領域を規定する第1領域規定工程と、上記距離画像の全領域を上記テクスチャ画像の分割パターンと同一の分割パターンで分割した複数の領域を規定する第2領域規定工程と、上記第2領域規定工程にて規定された上記複数の領域の各々について、該領域に含まれる各画素の距離値から代表値を算出する代表値算出工程と、上記距離値に関するデータを含む、上記距離画像の符号化データを生成する符号化工程と、を含み、上記距離値に関するデータは、上記代表値算出工程にて算出された各領域の代表値からなるデータであることを特徴としている。
上記の構成によれば、本発明に係る符号化方法は、本発明に係る符号化装置と同様の作用効果を奏する。
本発明に係る復号装置は、上記課題を解決するために、テクスチャ画像とで対を成す距離画像を距離画像の符号化データから復号する復号装置において、上記テクスチャ画像の全領域を分割した複数の領域であって、各領域について該領域に含まれる画素群の画素値から算出される平均値と該領域に隣接する領域に含まれる画素群の画素値から算出される平均値との差が所定の閾値以上となるような複数の領域を規定する領域規定手段と、上記距離画像の全領域を上記テクスチャ画像の分割パターンと同一の分割パターンで分割した複数の領域の各々について該領域における距離値に関するデータとして該領域における各画素の距離値の代表値のみを含んでいる、上記符号化データを読み出す読出手段と、復号すべき上記距離画像を構成する上記複数の領域の各々について、該領域に含まれる画素の画素値を上記符号化データに含まれている該領域における距離値に設定することにより、上記距離画像を復号する復号手段と、を備えていることを特徴としている。
上記の構成によれば、本発明に係る復号装置では、本発明に係る符号化装置から上記符号化データが供給された場合に、上記読出手段が、上記符号化データを読み出す。そして、本発明に係る復号装置では、上記復号手段が、領域規定手段が規定した上記複数の領域に対応する上記距離画像中の複数の領域の各々について、該領域に含まれる画素の画素値を上記符号化データに含まれている該領域における距離値に設定することにより、距離画像を復号する。
テクスチャ画像と符号化により上記符号化データが生成された距離画像(原距離画像)とには、テクスチャ画像中のある領域が類似する色の画素からなる画素群で構成されている場合、原距離画像中の対応する領域に含まれる画素群は全部または略全ての画素が同じ距離値をとる傾向が強いという相関があることがわかっている。したがって、上記復号手段により復号される距離画像は、原距離画像と近似する画像となる。
したがって、本発明に係る復号装置は、本発明に係る符号化装置から送信された原距離画像の符号化データから距離画像を復号することができるという効果を奏する。
また、本発明に係る復号方法は、上記課題を解決するために、テクスチャ画像とで対を成す距離画像を距離画像の符号化データから復号する復号方法において、上記テクスチャ画像の全領域を分割した複数の領域であって、各領域について該領域に含まれる画素群の画素値から算出される平均値と該領域に隣接する領域に含まれる画素群の画素値から算出される平均値との差が所定の閾値以上となるような複数の領域を規定する領域規定工程と、上記距離画像の全領域を上記テクスチャ画像の分割パターンと同一の分割パターンで分割した複数の領域の各々について該領域における距離値に関するデータとして該領域における各画素の距離値の代表値のみを含んでいる、上記符号化データを読み出す読出工程と、復号すべき上記距離画像を構成する上記複数の領域の各々について、該領域に含まれる画素の画素値を上記符号化データに含まれている該領域における距離値に設定することにより、上記距離画像を復号する復号工程と、を含んでいることを特徴としている。
上記の構成によれば、本発明に係る復号方法は、本発明に係る復号装置と同様の作用効果を奏する。
さらに、テクスチャ画像とで対を成す距離画像の符号化データであって、上記距離画像の全領域を所定の分割パターンで分割した複数の領域の各々について、該領域における距離値に関するデータとして該領域に含まれる各画素の距離値の代表値のみを含んでおり、上記所定の分割パターンは、上記テクスチャ画像の全領域を、各領域について該領域に含まれる画素群の画素値から算出される平均値と該領域に隣接する領域に含まれる画素群の画素値から算出される平均値との差が所定の閾値以上となるような複数の領域に分割する分割パターンである、ことを特徴とする符号化データも本発明の範疇に含まれる。
以上説明したように、本発明に係る符号化装置は、復号装置に供給すべき距離画像の符号化データの符号量を従来よりも削減することができるという効果を奏する。
また、本発明に係る復号装置は、本発明に係る符号化装置から供給される距離画像の符号化データから距離画像を復号することができるという効果を奏する。
<実施形態1>
本発明の一実施形態に係る動画像符号化装置および動画像復号装置について図1~図13を参照しながら以下に説明する。
本発明の一実施形態に係る動画像符号化装置および動画像復号装置について図1~図13を参照しながら以下に説明する。
最初に、本実施形態に係る動画像符号化装置について説明する。本実施形態に係る動画像符号化装置は、概略的に言えば、3次元動画像を構成する各フレームについて、該フレームを構成するテクスチャ画像および距離画像を符号化することによって符号化データを生成する装置である。
本実施形態に係る動画像符号化装置は、テクスチャ画像の符号化に、H.264/MPEG-4 AVC規格に採用されている符号化技術を用いる一方、距離画像の符号化には本発明に特有の符号化技術を用いている動画像符号化装置である。
本発明に特有の上記符号化技術は、テクスチャ画像と距離画像とに相関があることに着目して開発された符号化技術である。2つの画像には、テクスチャ画像中のある領域が類似する色の画素からなる画素群で構成されている場合、距離画像中の対応する領域に含まれる画素群は全部または略全ての画素が同じ距離値をとる傾向が強いという相関がある。
最初に本実施形態に係る動画像符号化装置の構成について図1を参照しながら説明する。図1は、動画像符号化装置の要部構成を示すブロック図である。
(動画像符号化装置1の構成)
図1に示すように、動画像符号化装置1は、画像符号化部11、画像復号部12、距離画像符号化部20、およびパッケージング部28を備えている。また、距離画像符号化部20は、画像分割処理部21、距離画像分割処理部22、距離値修正部23、番号付与部24、および情報源符号化部25を備えている。
図1に示すように、動画像符号化装置1は、画像符号化部11、画像復号部12、距離画像符号化部20、およびパッケージング部28を備えている。また、距離画像符号化部20は、画像分割処理部21、距離画像分割処理部22、距離値修正部23、番号付与部24、および情報源符号化部25を備えている。
画像符号化部11は、H.264/MPEG-4 AVC規格に規定されているAVC(Advanced Video Coding)符号化によりテクスチャ画像#1の符号化を行う。
画像復号部12は、テクスチャ画像#1の符号化データ#11からテクスチャ画像#1’を復号する。
画像分割処理部21は、テクスチャ画像の全領域を複数のセグメント(領域)に分割する。そして、画像分割処理部21は、各セグメントの位置情報からなるセグメント情報#21を出力する。セグメントの位置情報とは、そのセグメントのテクスチャ画像#1における位置を表す情報である。
距離画像分割処理部22は、距離画像#2およびセグメント情報#21が入力されると、テクスチャ画像#1’中の各セグメントについて、距離画像#2中の対応するセグメント(領域)に含まれる各画素の距離値からなる距離値セットを抽出する。そして、距離画像分割処理部22は、セグメント情報#21から、各セグメントについて距離値セットと位置情報とが関連づけられたセグメント情報#22を生成する。
距離値修正部23は、距離画像#2の各セグメントについて、セグメント情報#22に含まれる該セグメントの距離値セットから代表値#23aとして最頻値を算出する。すなわち、距離値修正部23は、距離画像#2中のセグメントiにN個の画素が含まれている場合には、N個の距離値から最頻値を算出する。なお、距離値修正部23は、最頻値の代わりに、N個の距離値の平均を平均値、または、N個の距離値の中央値等を代表値#23aとして算出してもよい。そして、距離値修正部23は、算出の結果、平均値や中央値等の値が小数値になる場合には、さらに、切捨て、切り上げ、または四捨五入等により小数値を整数値に丸めればよい。
そして、距離値修正部23は、セグメント情報#22に含まれる各セグメントの距離値セットを、対応するセグメントの代表値#23aに置き換え、セグメント情報#23として番号付与部24に出力する。
番号付与部24は、セグメント情報#23が入力されると、セグメント情報#23に含まれている各代表値#23aに、互いに値が異なる識別子を関連づける。具体的には、番号付与部24は、セグメント情報#23に含まれているM組の位置情報および代表値#23aの各組について、代表値#23aと位置情報に応じたセグメント番号#24とを関連づける。そして、番号付与部24は、セグメント番号#24と代表値#23aとが関連づけられたデータを外部に出力する。
情報源符号化部25は、セグメント番号#24と代表値#23aとが関連付けられたデータに圧縮符号化処理を施し、得られた距離画像の符号化データ#25を外部に出力する。
パッケージング部28は、入力されたテクスチャ画像#1の符号化データ#11と距離画像#2の符号化データ#25とを関連づけ、符号化データ#28として外部に出力する。
(動画像符号化装置1の動作)
次に、動画像符号化装置1の動作について、図2を参照しながら以下に説明する。図2は、動画像符号化装置1の動作を示すフローチャートである。なお、ここで説明する動画像符号化装置1の動作とは、多数のフレームからなる動画像における先頭からtフレーム目のテクスチャ画像および距離画像を符号化する動作である。すなわち、動画像符号化装置1は、上記動画像全体を符号化するために、上記動画像のフレーム数に応じた回数だけ以下に説明する動作を繰り返すことになる。また、以下の動作の説明においては、特に明示していなければ、各データ#1~#28はtフレーム目のデータであると解釈するものとする。
次に、動画像符号化装置1の動作について、図2を参照しながら以下に説明する。図2は、動画像符号化装置1の動作を示すフローチャートである。なお、ここで説明する動画像符号化装置1の動作とは、多数のフレームからなる動画像における先頭からtフレーム目のテクスチャ画像および距離画像を符号化する動作である。すなわち、動画像符号化装置1は、上記動画像全体を符号化するために、上記動画像のフレーム数に応じた回数だけ以下に説明する動作を繰り返すことになる。また、以下の動作の説明においては、特に明示していなければ、各データ#1~#28はtフレーム目のデータであると解釈するものとする。
最初に、画像符号化部11および距離画像分割処理部22が、それぞれ、テクスチャ画像#1および距離画像#2を動画像符号化装置1の外部から受信する(ステップS1)。前述したように、外部から受信されるテクスチャ画像#1および距離画像#2のペアは、例えば図3のテクスチャ画像と図4の距離画像とを対比するとわかるように、画像の内容に互いに相関がある。
次に、画像符号化部11は、H.264/MPEG-4 AVC規格に規定されているAVC符号化方式によりテクスチャ画像#1の符号化を行い、得られたテクスチャ画像の符号化データ#11をパッケージング部28と画像復号部12とに出力する(ステップS2)。なお、ステップS2において、テクスチャ画像#1がBピクチャまたはPピクチャである場合、画像符号化部11は、テクスチャ画像#1と予測画像との予測残差を符号化し、符号化済みの予測残差を符号化データ#11として出力する。
そして、画像復号部12は、符号化データ#11からテクスチャ画像#1’を復号して画像分割処理部21に出力する(ステップS3)。ここで、復号するテクスチャ画像#1’は、画像符号化部11が符号化するテクスチャ画像#1と完全に同一ではない。これは、画像符号化部11は符号化処理中にDCT変換処理および量子化処理を施すが、DCT変換により得られたDCT係数を量子化する際に量子化誤差が生じるためである。
ところで、画像復号部12がテクスチャ画像を復号するタイミングは、テクスチャ画像#1がBピクチャであるか否かによって異なっているが、このことについて具体的に説明する。
すなわち、画像復号部12は、テクスチャ画像#1がIピクチャである場合には、インター予測(画面間予測)を行わずにテクスチャ画像#1’を復号する。
また、テクスチャ画像#1がPピクチャである場合には、画像復号部12は、符号化データ#11から予測残差を復号する。そして、画像復号部12は、tフレーム目以前の1または複数のフレームの符号化データ#11を参照ピクチャとして生成した予測画像に予測残差を加算することによりテクスチャ画像#1’を復号する。
さらに、テクスチャ画像#1がBピクチャである場合には、画像復号部12は、符号化データ#11から予測残差を復号する。そして、画像復号部12は、tフレーム目以前の1または複数のフレームの符号化データ#11と、tフレーム目以降の1または複数のフレームの符号化データ#11と、を参照ピクチャとして生成した予測画像に予測残差を加算することによりテクスチャ画像#1’を復号する。
以上の説明からわかるように、tフレーム目のテクスチャ画像#1がIピクチャまたはPピクチャである場合には、画像復号部12がtフレーム目のテクスチャ画像#1’を復号するタイミングはtフレームの符号化データ#11が生成された直後となる。一方、tフレーム目のテクスチャ画像#1がBピクチャである場合、画像復号部12がテクスチャ画像#1’を復号するタイミングは、T(>t)フレーム目(参照ピクチャの中で最後方のフレーム)のテクスチャ画像#1に対する符号化処理が終わった時点以降となる。
ステップS3の処理の後、画像分割処理部21は、入力されたテクスチャ画像#1’から、複数のセグメントを規定する(ステップS4)。画像分割処理部21が規定する各セグメントは、類似する色の画素(すなわち、最大画素値と最小画素値との差が所定の閾値以下であるような画素群)で構成される閉領域となる。
ステップS4の処理について具体例を挙げて説明する。図5は、画像分割処理部21が図3のテクスチャ画像#1’から規定する各セグメントの分布を示した図である。なお、図5において、同一の模様により描かれている閉領域は1つのセグメントを示している。
図3のテクスチャ画像#1において、女の子の頭の分け目の左右の髪は、茶色と薄茶色との2色で描かれている。図5を見るとわかるように、画像分割処理部21は、茶色と薄茶色とのように類似する色の画素からなる閉領域を1つのセグメントに規定する。
一方、女の子の顔の肌の部分も、肌色と頬の部分のピンク色との2色で描かれているが、図5を見るとわかるように、画像分割処理部21は、肌色の領域とピンク色の領域とをそれぞれ別個のセグメントとして規定している。これは、肌色とピンク色とが類似しない色(すなわち、肌色の画素値とピンク色の画素値との差が所定の閾値を上回る)ためである。
ステップS4の処理の後、画像分割処理部21は、各セグメントの位置情報からなるセグメント情報#21を生成し、距離画像分割処理部22に出力する(ステップS5)。セグメントの位置情報としては、例えば、そのセグメントに含まれる全画素の座標値が挙げられる。すなわち、図3のテクスチャ画像#1’から各セグメントを規定する場合、図6における各閉領域が1つのセグメントとして規定されるが、セグメントの位置情報は、そのセグメントに対応する閉領域を構成する全画素の座標値となる。
ステップS5の処理の後、距離画像分割処理部22は、入力された距離画像#2を複数のセグメントに分割する。具体的には、距離画像分割処理部22は、入力されたセグメント情報#21を参照して各セグメントのテクスチャ画像#1’における位置を特定し、テクスチャ画像#1’におけるセグメントの分割パターンと同一の分割パターンで、距離画像#2を複数のセグメントに分割する(以下では、セグメントの個数がM個であるものとして説明する)。
そして、距離画像分割処理部22は、距離画像#2の各セグメントについて、該セグメントに含まれる各画素の距離値を距離値セットとして抽出する。さらに、距離画像分割処理部22は、セグメント情報#21に含まれる各セグメントの位置情報に、対応するセグメントから抽出した距離値セットを関連づける。そして、距離画像分割処理部22は、これにより得られたセグメント情報#22を、距離値修正部23に出力する(ステップS6)。
距離値修正部23は、距離画像#2の各セグメントについて、セグメント情報#22に含まれる該セグメントの距離値セットから代表値#23aとして最頻値を算出する。そして、距離値修正部23は、セグメント情報#22に含まれるM個の距離値セットの各々を、対応するセグメントの代表値#23aに置き換え、セグメント情報#23として番号付与部24に出力する(ステップS7)。
番号付与部24は、セグメント情報#23に含まれているM組の位置情報および代表値#23aの各組について、代表値#23aと位置情報に応じたセグメント番号#24とを関連づけ、M組の代表値#23aおよびセグメント番号#24を情報源符号化部25に出力する(ステップS8)。具体的には、番号付与部24は、セグメント情報#23に基づいて、1からM(M:セグメントの個数)までの各iについて、距離画像またはテクスチャ画像を図7に示すようにラスタスキャン順に走査した場合にi番目に画素が走査されるセグメント(以下、「ラスタスキャン順でi番目のセグメント」等と略称する)の代表値#23aにセグメント番号「i-1」を関連づける。
図8を参照して具体例を以下に説明する。
図8は、図3に示すようなテクスチャ画像とともに動画像符号化装置1に入力される距離画像の各セグメントの位置を模式的に示す図である。なお、図8において、1つの閉領域が1つのセグメントを示している。
図8の距離画像においては、ラスタスキャン順で先頭に位置するセグメントR0にはセグメント番号「0」が割り当てられる。また、ラスタスキャン順で2番目に位置するセグメントR1にはセグメント番号「1」が割り当てられる。同様に、ラスタスキャン順で3、4番目に位置するセグメントR2、R3には、それぞれ、セグメント番号「2」「3」が割り当てられる。
そして、番号付与部24は、図9に具体例が示されているようなM組の代表値#23aおよびセグメント番号#24を情報源符号化部25に出力する。
ステップS8の後、情報源符号化部25は、入力されたM組の代表値#23aおよびセグメント番号#24に情報源符号化処理を施し、得られた符号化データ#25をパッケージング部28に出力する(ステップS9)。具体的には、情報源符号化部25は、「0」から「M-1」までの各iについて、セグメント番号「i」の組の代表値#23aを10進数から8ビットの2進数列に変換する。そして、情報源符号化部25は、M個の2進数列を連結した8×Mビットの2進数列(情報系列)に情報源符号化処理を施し、得られた符号化データ#25(符号系列)をパッケージング部28に出力する。なお、セグメント番号「i」の組の代表値#23aから変換された8ビットの2進数列は、8×Mビットの2進数列のうち、8×i+1ビット目から8×(i+1)ビット目までの2進数列を構成するようになっている。
例えば、情報源符号化部25に入力されるM組の代表値#23aおよびセグメント番号#24が図9に示すような値である場合、図10に示すように、セグメント番号「0」の組の代表値「83」から変換された8ビットの2進数列「01011001」は、8×Mビットの2進数列の先頭8ビットを構成する。また、セグメント番号「1」の組の代表値「182」から変換された8ビットの2進数列「10110110」は、8×Mビットの2進数列の9ビット目から16ビット目までの8ビットを構成する。
また、ステップS9において、上記情報源符号化方式として、任意の圧縮符号化方式を採用することができる。例えば、上記情報源符号化方式として、ハフマン符号化や算術符号化等のエントロピー符号化を採用してもよいし、Lempel-Ziv符号化等のユニバーサル符号化を採用してもよい。
ステップS9の後、パッケージング部28は、ステップS2にて画像符号化部11が出力した符号化データ#11とステップS9にて情報源符号化部25が出力した符号化データ#25とを統合し、得られた符号化データ#28を、後述する動画像復号装置に伝送する(ステップS10)。
具体的には、パッケージング部28は、H.264/MPEG-4 AVC規格で規定されているNALユニットのフォーマットに従って、テクスチャ画像の符号化データ#11と距離画像の符号化データ#25とを統合する。符号化データ#11と符号化データ#25との統合は、より具体的には以下のように行われる。
図11はNALユニットの構成を模式的に示した図であるが、図11に示すように、NALユニットは、NALヘッダ部とRBSP部とRBSPトレイリングビット部との3つの部分から構成される。
パッケージング部28は、主ピクチャの各スライス(主スライス)に対応するNALユニットのNALヘッダ部のnal_unit_type(NALユニットの種類を示す識別子)フィールドに、規定の数値Iを格納する。この規定の数値Iは、符号化データ#28が本実施形態に係る符号化方法(すなわち、距離画像#2をセグメント毎に一意な距離値(M個の代表値#23a)に変換した上で情報源符号化する符号化方法)に従って生成された符号化データであることを示す値である。また、数値Iとしては、例えば、H.264/MPEG-4 AVC規格で「未定義」または「将来拡張用」と規定されている数値を用いることできる。
そして、パッケージング部28は、主スライスに対応するNALユニットのRBSP部に、符号化データ#11と符号化データ#25とを格納する。さらに、パッケージング部28は、RBSPトレイリングビット部にRBSPトレイリングビットを格納する。
パッケージング部28は、このようにして得られたNALユニットを符号化データ#28として動画像復号装置に伝送する。
(動画像符号化装置の変形例)
本発明に係る符号化装置は、以下のように、動画像符号化装置1に代えて動画像符号化装置1’として実現してもよい。図12は、動画像符号化装置1’の構成を示すブロック図である。図12に示すように、動画像符号化装置1’は、動画像符号化装置1における距離画像符号化部20を距離画像符号化部20’に置き換えた装置である。具体的には、動画像符号化装置1’は、動画像符号化装置1から番号付与部24を除き、画像分割処理部21~距離値修正部23を画像分割処理部21’~距離値修正部23’に置き換えた装置である。
本発明に係る符号化装置は、以下のように、動画像符号化装置1に代えて動画像符号化装置1’として実現してもよい。図12は、動画像符号化装置1’の構成を示すブロック図である。図12に示すように、動画像符号化装置1’は、動画像符号化装置1における距離画像符号化部20を距離画像符号化部20’に置き換えた装置である。具体的には、動画像符号化装置1’は、動画像符号化装置1から番号付与部24を除き、画像分割処理部21~距離値修正部23を画像分割処理部21’~距離値修正部23’に置き換えた装置である。
画像分割処理部21’は、画像分割処理部21と同じアルゴリズムでテクスチャ画像#1’から複数のセグメントを規定するが、画像分割処理部21’は、セグメント情報#21に代えて、セグメント識別用画像#21’を距離画像分割処理部22’に出力するように構成されている。
具体的には、画像分割処理部21’は、動画像符号化装置1の番号付与部24と同様、1からMまでの各iについて、テクスチャ画像#1’においてラスタスキャン順でi番目に位置するセグメントにセグメント番号「i―1」を付与し、テクスチャ画像#1’中の上記i番目に位置するセグメントに含まれる各画素の画素値を「i―1」に置き換える。画像分割処理部21’は、これにより得られるセグメント識別用画像#21’を距離画像分割処理部22に出力する。
距離画像分割処理部22’は、1からMまでの各iについて、セグメント識別用画像#21’における画素値「i―1」のセグメントに対応する距離画像#2中のセグメントから距離値セットを抽出し、セグメント番号「i―1」と距離値セットとを関連づける。そして、距離画像分割処理部22’は、得られたM組のセグメント番号および距離値セットを含むセグメント情報#22’を距離値修正部23’に出力する。
距離値修正部23’は、距離画像#2の各セグメントについて、セグメント情報#22’に含まれる該セグメントの距離値セットから代表値#23aとして最頻値を算出する。そして、距離値修正部23’は、セグメント情報#22’に含まれるM個の距離値セットの各々を、対応するセグメントの代表値#23aに置き換え、セグメント情報#23’として情報源符号化部25に出力する。すなわち、距離値修正部23’は、図9に具体例が表されているようなセグメント情報#23’を情報源符号化部25に出力することになる。
(セグメントについての補足事項)
前述したセグメントについての補足事項を、図13を参照しながら説明する。図13(a)~図13(c)は、テクスチャ画像中に含まれる縦3ドット横4ドットの12個の画素を示している。また、図13(a)~(c)において画素「A」の色と画素「B」の色とは同一色または類似する色であるものとする。また、その他の10個の画素の色は、画素「A」の色および画素「B」の色のいずれとも全く異なっているものとする。
前述したセグメントについての補足事項を、図13を参照しながら説明する。図13(a)~図13(c)は、テクスチャ画像中に含まれる縦3ドット横4ドットの12個の画素を示している。また、図13(a)~(c)において画素「A」の色と画素「B」の色とは同一色または類似する色であるものとする。また、その他の10個の画素の色は、画素「A」の色および画素「B」の色のいずれとも全く異なっているものとする。
前述したように各セグメントは、同一または類似する色の他のいずれかの画素と隣接する画素からなる閉領域となっている。ここで、「画素と画素とが隣接する」とは、厳密には、2つの画素の座標間のマンハッタン距離が「1」であることと同義であり、2つの画素が隣接しないとは、2つの画素の座標間のマンハッタン距離が「2以上」であることと同義である。
すなわち、図13(a)および図13(b)のように、画素「A」と画素「B」とは縦方向および横方向のいずれかで接している場合、画素「A」と画素「B」とは隣接している。一方、画素「A」と画素「B」とが縦方向および横方向のいずれにおいても接していない場合、画素「A」と画素「B」とは隣接していないものとして扱う。すなわち、例えば、図13(c)のように画素「A」および画素「B」が、それぞれ、互いの画素の左下および右上に位置する場合には、画素「A」および画素「B」は隣接しないことになる。
(付記事項1)
上記実施形態では、画像分割処理部21は、入力されたテクスチャ画像#1’から、各セグメントが最大画素値と最小画素値との差が所定の閾値以下であるような画素群から構成される複数のセグメントを規定するものとしたが、セグメントの規定の仕方はこの構成に限られない。すなわち、画像分割処理部21は、入力されたテクスチャ画像#1’から、各セグメントについて、該セグメントに含まれる画素群の画素値から算出される平均値と該セグメントに隣接するセグメントに含まれる画素群の画素値から算出される平均値との差が所定の閾値以上であるような複数のセグメントを規定すればよい。
上記実施形態では、画像分割処理部21は、入力されたテクスチャ画像#1’から、各セグメントが最大画素値と最小画素値との差が所定の閾値以下であるような画素群から構成される複数のセグメントを規定するものとしたが、セグメントの規定の仕方はこの構成に限られない。すなわち、画像分割処理部21は、入力されたテクスチャ画像#1’から、各セグメントについて、該セグメントに含まれる画素群の画素値から算出される平均値と該セグメントに隣接するセグメントに含まれる画素群の画素値から算出される平均値との差が所定の閾値以上であるような複数のセグメントを規定すればよい。
上記平均値の差が所定の閾値以上であるような複数のセグメントを規定する具体的なアルゴリズムについて図18および図19を参照しながら以下に説明する。
図18は、上記アルゴリズムに基づいて動画像符号化装置1が複数のセグメントを規定する動作を示すフローチャート図である。また、図19は、図18のフローチャートにおけるセグメント結合処理のサブルーチンを示すフローチャート図である。
画像分割処理部21は、次の(付記事項2)に示すような平滑化処理が施されたテクスチャ画像に対し、図中の初期化ステップで、テクスチャ画像中に含まれる全ての画素の各々について、独立した1つのセグメント(暫定セグメント)を規定し、各暫定セグメントにおける全画素値の平均値(平均色)として、対応する画素の画素値そのものを設定する(ステップS41)。
次に、セグメント結合処理ステップ(ステップS42)に進み、色が似ている暫定セグメント同士を結合させる。このセグメント結合処理について以下に図19を参照しながら詳細に説明するが、この結合処理を、結合が行われなくなるまで繰り返し続ける。
画像分割処理部21は、全ての暫定セグメントについて、以下の処理(ステップS51~S55)を行う。
まず、画像分割処理部21は、注目する暫定セグメントの高さと幅とが、いずれも閾値以下であるかどうかを判定する(ステップS51)。もしいずれも閾値以下であると判定された場合(S51においてYES)、ステップS52の処理に進む。一方、いずれかが閾値より大きいと判定された場合(S51においてNO)、次に注目すべき暫定セグメントについてステップS51の処理を行う。なお、次に注目すべき暫定セグメントは、例えば、ラスタスキャン順で注目している暫定セグメントの次に位置する暫定セグメントにすればよい。
画像分割処理部21は、注目している暫定セグメントに隣接する暫定セグメントのうち、注目している暫定セグメントにおける平均色と最も近い平均色の暫定セグメントを選択する(ステップS52)。色の近さを判断する指標としては、例えば、画素値のRGBの3つの値を3次元ベクトルと見做したときの、ベクトル同士のユークリッド距離を用いることができる。各セグメントの画素値としては、各セグメントに含まれる全画素値の平均値を用いる。
ステップS52の処理の後、画像分割処理部21は、注目している暫定セグメントと、最も色が近いと判断された暫定セグメントと、の近さが、ある閾値以下であるか否かを判定する(ステップS53)。閾値より大きいと判定された場合(ステップS53においてNO)、次に注目すべき暫定セグメントについてステップS51の処理を行う。一方、閾値以下であると判定された場合(ステップS53においてYES)、ステップS54の処理に進む。
ステップS53の処理の後、画像分割処理部21は、2つの暫定セグメント(注目している暫定セグメントと最も色が近いと判断された暫定セグメント)を結合することにより、1つの暫定セグメントに変換する(ステップS54)。このステップS54の処理のより暫定セグメントの数が1減ることになる。
ステップS54の処理の後、変換後の対象セグメントに含まれる全画素の画素値の平均値を計算する(ステップS55)。まだステップS51~S55までの処理を行っていないセグメントがある場合には、次に注目すべき暫定セグメントについてステップS51の処理を行う。
ステップS51~S55の処理を全暫定セグメントについて完了した後、ステップS43の処理に進む。
画像分割処理部21は、ステップS42の処理を行う前の暫定セグメントの数とステップS42の処理を行った後の暫定セグメントの数とを比較する(ステップS43)。
暫定セグメントの数が減少した場合(ステップS43においてYES)には、ステップS42の処理に戻る。一方、暫定セグメントの数が変わらない場合(ステップS43においてNO)、画像分割処理部21は、現状の各暫定セグメントを1つのセグメントとして規定する。
以上のようなアルゴリズムによって、例えば、入力されたテクスチャ画像が1024×768ドットの画像である場合、数千個程度のセグメントに分割することができる。
なお、前述したように、セグメントは、距離画像を分割するために用いられる。したがって、セグメントのサイズが大きくなり過ぎると、1つのセグメントの中にさまざまな距離値が含まれてしまい、代表値との誤差が大きい画素が生じてしまい、その結果、距離画像の符号化精度が低下する。したがって、本発明ではステップS51の処理は必須ではないがステップS51のようにセグメントの大きさを制限することにより、セグメントのサイズが大きくなり過ぎることを防ぐことが望ましい。
上記実施形態では、画像分割処理部21は、入力されたテクスチャ画像#1’から、各セグメントが最大画素値と最小画素値との差が所定の閾値以下であるような画素群から構成される複数のセグメントを規定するものとしたが、各セグメントに含まれる画素の数に上限を設けてもよい。また、画素数の上限とともに、または、画素数の上限に代えて、セグメントの幅または高さに上限を設けてもよい。
上限を設けた場合、画像分割処理部21により規定されるセグメントの数は、上限を設けない場合に比べて多くなる。すなわち、セグメントの数が多くなる分、セグメントの大きさは相対的に小さくなる。したがって、上限を設けることにより、動画像復号装置2では、元の距離画像#2をより忠実に再現した距離画像を復号することができる。
(付記事項2)
画像分割処理部21は、入力されたテクスチャ画像#1’に平滑化処理を施してもよい。例えば、画像分割処理部21は、非特許文献“C.Lawrence Zinick, Sing Bing Kang, Mattew Uyttendaele, Simon Winder and Richard Szeliski, “High-quality video view interpolation using a layered representation,” ACM Trans. on Graphics, 23(3), 600-608, (2004)”に記載されているように、エッジ情報が失われない程度にテクスチャ画像#1’に繰り返し平滑化処理を施してもよい。
画像分割処理部21は、入力されたテクスチャ画像#1’に平滑化処理を施してもよい。例えば、画像分割処理部21は、非特許文献“C.Lawrence Zinick, Sing Bing Kang, Mattew Uyttendaele, Simon Winder and Richard Szeliski, “High-quality video view interpolation using a layered representation,” ACM Trans. on Graphics, 23(3), 600-608, (2004)”に記載されているように、エッジ情報が失われない程度にテクスチャ画像#1’に繰り返し平滑化処理を施してもよい。
そして、画像分割処理部21は、平滑化処理後のテクスチャ画像を、各セグメントが最大画素値と最小画素値との差が所定の閾値以下であるような画素群から構成される複数のセグメントに分割してもよい。
上述の平滑化処理を施さない場合、テクスチャ画像#1’にノイズが多く含まれていると、セグメントのサイズが小さくなってしまうが、平滑化処理を施すことにより、セグメントのサイズが小さくなってしまうことを抑制することができる。すなわち、平滑化処理を行うことにより、符号化データ#25の符号量を、平滑化処理を施さない場合に比べて削減することができる。
また、画像分割処理部21は、画像復号部12と距離画像分割処理部22との間に配置するのではなく、画像分割処理部21を、画像符号化部11の前段に配置してもよい。すなわち、画像分割処理部21は、入力されたテクスチャ画像#1をそのまま後段の画像符号化部11に出力するとともに、テクスチャ画像#1を各セグメントが最大画素値と最小画素値との差が所定の閾値以下であるような画素群から構成される複数のセグメントに分割し、セグメント情報#21を後段の距離画像分割処理部22に出力してもよい。
(付記事項3)
上記実施形態では、情報源符号化部25が、8×Mビットの2進数列に情報源符号化処理を施すものとした。ただし、本発明において、情報源符号化部25による情報源符号化処理は必須ではない。すなわち、動画像符号化装置1は、M組の代表値#23aおよびセグメント番号#24をそのまま距離画像#2の符号化データとして動画像復号装置に伝送するようにしてもよい。あるいは、動画像符号化装置1は、M組の代表値#23aおよびセグメント番号#24から生成される前述した8xMビットの2進数列を距離画像#2の符号化データとして動画像復号装置に伝送するようにしてもよい。
上記実施形態では、情報源符号化部25が、8×Mビットの2進数列に情報源符号化処理を施すものとした。ただし、本発明において、情報源符号化部25による情報源符号化処理は必須ではない。すなわち、動画像符号化装置1は、M組の代表値#23aおよびセグメント番号#24をそのまま距離画像#2の符号化データとして動画像復号装置に伝送するようにしてもよい。あるいは、動画像符号化装置1は、M組の代表値#23aおよびセグメント番号#24から生成される前述した8xMビットの2進数列を距離画像#2の符号化データとして動画像復号装置に伝送するようにしてもよい。
また、上記実施形態では、情報源符号化部25が、10進数のM個の代表値#23aを8×Mビットの2進数列に変換したが、本発明はこれに限定されない。すなわち、情報源符号化部25は、各代表値#23aを1シンボルとする長さMのシンボル列(情報系列)を生成し、長さMのシンボル列に情報源符号化処理を施すようにしてもよい。
(付記事項4)
上記実施形態では、動画像符号化装置1は、H.264/MPEG-4 AVC規格に規定されているAVC符号化を用いてテクスチャ画像#1を符号化するものとしたが、本発明はこれに限定されない。すなわち、動画像符号化装置1の画像符号化部11は、MPEG―2やMPEG-4他の他の符号化方式を用いてテクスチャ画像#1を符号化してもよいし、H.265/HVC規格として策定されている符号化方式を用いてテクスチャ画像#1を符号化してもよい。
上記実施形態では、動画像符号化装置1は、H.264/MPEG-4 AVC規格に規定されているAVC符号化を用いてテクスチャ画像#1を符号化するものとしたが、本発明はこれに限定されない。すなわち、動画像符号化装置1の画像符号化部11は、MPEG―2やMPEG-4他の他の符号化方式を用いてテクスチャ画像#1を符号化してもよいし、H.265/HVC規格として策定されている符号化方式を用いてテクスチャ画像#1を符号化してもよい。
(動画像符号化装置1の利点)
以上のように、動画像符号化装置1では、画像分割処理部21が、テクスチャ画像#2の全領域を分割した複数のセグメントであって、各領域に含まれる画素群の最大画素値と最小画素値との差が所定の閾値以下となるような複数のセグメントを規定する。また、距離画像分割処理部22が、画像分割処理部21が規定した複数のセグメントの分割パターンと同一の分割パターンで、距離画像#2の全領域を分割した複数のセグメントを規定する。さらに、距離画像分割処理部22が規定した各セグメントについて、距離値修正部23が、セグメントに含まれる各画素の距離値から代表値#23aを算出する。
以上のように、動画像符号化装置1では、画像分割処理部21が、テクスチャ画像#2の全領域を分割した複数のセグメントであって、各領域に含まれる画素群の最大画素値と最小画素値との差が所定の閾値以下となるような複数のセグメントを規定する。また、距離画像分割処理部22が、画像分割処理部21が規定した複数のセグメントの分割パターンと同一の分割パターンで、距離画像#2の全領域を分割した複数のセグメントを規定する。さらに、距離画像分割処理部22が規定した各セグメントについて、距離値修正部23が、セグメントに含まれる各画素の距離値から代表値#23aを算出する。
距離画像符号化部20は、距離値修正部23により算出された複数個の代表値#23aを含む符号化データ#25を生成する。
動画像符号化装置1は、上記の構成によって、動画像復号装置に伝送する距離画像#2の符号化データ#25として、たかだかセグメントの個数分の代表値#23aを伝送することになる。
一方、AVC符号化を用いて距離画像を符号化した場合、距離画像の符号化データの符号量は符号化データ#25の符号量より明らかに大きくなる。
例えば、距離画像分割処理部21が、前述した特許文献に記載されている方法により複数のセグメントを規定すると、各セグメントに含まれる画素の数は100から1600程度になる。一方、AVC符号化を用いて距離画像を符号化すると、ブロック(4x4=16画素)ごとにDCT変換および量子化処理を行うことになる。また、AVC符号化では、ブロックに含まれる全画素の画素値を符号化するので、AVC符号化を用いた場合における距離画像の1ブロックあたりの符号量も、本実施形態の符号化方式を用いた場合における距離画像の1セグメントあたりの符号量よりも大きくなる。
したがって、動画像符号化装置1は、距離画像#2をAVC符号化して動画像復号装置に伝送する従来の動画像符号化装置に比べて、距離画像#2の符号化データの符号量を削減することができるという効果を奏する。
(動画像復号装置2)
次に、本発明の一実施形態に係る動画像復号装置について、図14および図15に基づいて以下に説明する。本実施形態に係る動画像復号装置は、復号すべき動画像を構成する各フレームについて、前述した動画像符号化装置1より伝送された符号化データ#28からテクスチャ画像#1’および距離画像#2’を復号する動画像復号装置である。
次に、本発明の一実施形態に係る動画像復号装置について、図14および図15に基づいて以下に説明する。本実施形態に係る動画像復号装置は、復号すべき動画像を構成する各フレームについて、前述した動画像符号化装置1より伝送された符号化データ#28からテクスチャ画像#1’および距離画像#2’を復号する動画像復号装置である。
最初に本実施形態に係る動画像復号装置の構成について図14を参照しながら説明する。図14は、動画像復号装置の要部構成を示すブロック図である。
図14に示すように、動画像復号装置2は、画像復号部12、画像分割処理部21’、アンパッケージング部31、情報源復号部32、および距離値付与部33を備えている。
アンパッケージング部31は、符号化データ#28から、テクスチャ画像#1の符号化データ#11と距離画像#2の符号化データ#25とを抽出する。
画像復号部12は、符号化データ#11からテクスチャ画像#1’を復号する。画像復号部12は、動画像符号化装置1が備える画像復号部12と同一である。すなわち、画像復号部12は、動画像符号化装置1から動画像復号装置2への符号化データ#28の伝送中に符号化データ#28中にノイズが混入しない限り、動画像符号化装置1の画像復号部12が復号したテクスチャ画像と同一内容のテクスチャ画像#1’を復号するようになっている。
画像分割処理部21’は、動画像符号化装置1の画像分割処理部21(または、動画像符号化装置1’の画像分割処理部21’)と同じアルゴリズムにより、テクスチャ画像#1’の全体領域を複数のセグメント(領域)に分割する。そして、画像分割処理部21’は、1からM(M:セグメントの個数)までの各iについて、テクスチャ画像#1’中のラスタスキャン順でi番目に位置するセグメントに含まれる各画素の画素値を「i―1」に置き換えることにより、セグメント識別用画像#21‘を生成する。
情報源復号部32は、情報源符号化された距離画像の符号化データ#25からM組の代表値#23aおよびセグメント番号#24を復号する。
距離値付与部33は、入力されるM組の代表値#23aおよびセグメント番号#24に基づいて、1からM(M:セグメントの個数)までの各iについて、セグメント識別用画像#21中の画素値「i-1」の全画素の画素値を、セグメント番号「i―1」の組の代表値#23aに変換することにより、距離画像#2’を復号する。
(動画像復号装置2の動作)
次に、動画像復号装置2の動作について、図15を参照しながら以下に説明する。図15は、動画像復号装置2の動作を示すフローチャートである。ここで説明する動画像復号装置2の動作とは、多数のフレームからなる3次元動画像における先頭からtフレーム目のテクスチャ画像および距離画像を復号する動作である。すなわち、動画像復号装置2は、上記動画像全体を復号するために、上記動画像のフレーム数に応じた回数だけ以下に説明する動作を繰り返すことになる。また、以下の説明においては、特に断りがない限り、各データ#1~#28はtフレーム目のデータであると解釈するものとする。
次に、動画像復号装置2の動作について、図15を参照しながら以下に説明する。図15は、動画像復号装置2の動作を示すフローチャートである。ここで説明する動画像復号装置2の動作とは、多数のフレームからなる3次元動画像における先頭からtフレーム目のテクスチャ画像および距離画像を復号する動作である。すなわち、動画像復号装置2は、上記動画像全体を復号するために、上記動画像のフレーム数に応じた回数だけ以下に説明する動作を繰り返すことになる。また、以下の説明においては、特に断りがない限り、各データ#1~#28はtフレーム目のデータであると解釈するものとする。
最初に、アンパッケージング部31は、動画像符号化装置1より受信した符号化データ#28から、テクスチャ画像の符号化データ#11および距離画像の符号化データ#25を抽出する。そして、アンパッケージング部31は、符号化データ#11を画像復号部12に出力し、符号化データ#25を情報源復号部32に出力する(ステップS21)。
画像復号部12は、入力された符号化データ#11からテクスチャ画像#1’を復号し、画像分割処理部21’と動画像復号装置2の外部の立体映像表示装置(図示せず)とに出力する(ステップS22)。
画像分割処理部21’は、動画像符号化装置1の画像分割処理部21と同じアルゴリズムで複数のセグメントを規定する。そして、画像分割処理部21’は、1からM(M:セグメントの個数)までの各iについて、テクスチャ画像#1’中のラスタスキャン順でi番目に位置するセグメントに含まれる各画素の画素値を「i―1」に置き換えることにより、セグメント識別用画像#21’を生成する。画像分割処理部21’は、セグメント識別用画像#21’を距離値付与部33に出力する(ステップS23)。
一方、情報源復号部32は、情報源符号化された距離画像の符号化データ#25から、前述した8×Mビットの2進数列を復号する。さらに、情報源復号部32は、「0」から「M-1」までの各iについて、8×Mビットの2進数列から8×i+1ビット目から8×(i+1)ビット目までの8ビットの2進数列を抽出し、2進数列を10進数に変換した代表値#23aとセグメント番号「i」とを復号する。そして、情報源復号部32は、得られたM組の代表値#23aおよびセグメント番号#24を距離値付与部33に出力する(ステップS24)。
距離値付与部33は、入力されるM組の代表値#23aおよびセグメント番号#24に基づいて、1からM(M:セグメントの個数)までの各iについて、セグメント識別用画像#21中の画素値「i-1」の全画素の画素値を、セグメント番号「i―1」の組の代表値#23aに変換することにより、距離画像#2’を復号する。そして、距離値付与部33は、距離画像#2’を前述した立体映像表示装置に出力する(ステップS25)。
以上、動画像復号装置2の動作について説明したが、ステップS25にて距離値付与部33が復号する距離画像#2’は、一般的に、動画像符号化装置1に入力される距離画像2に近似する距離画像になる。
これは、前述したように、テクスチャ画像#1と距離画像#2との相関から、「各セグメントが類似する色の画素群で構成されるような複数のセグメントにテクスチャ画像#1’を分割すると、距離画像#2中の単一のセグメントに含まれる全部または略全ての画素が同一の距離値を持つ傾向がある」と言えるからである。すなわち、距離画像#2’は、距離画像#2中のセグメントに含まれる極一部の距離値を該セグメントにおける代表値に変更することにより得られる画像と同一であるので、距離画像#2’と距離画像#2とは近似すると言える。
(動画像復号装置2の利点)
以上のように、動画像復号装置2は、画像分割処理部21’が、テクスチャ画像#1’の全領域を分割した複数のセグメントを規定する。具体的には、画像分割処理部21’は、各セグメントが類似する色からなる画素群により構成される複数のセグメントを規定する。
以上のように、動画像復号装置2は、画像分割処理部21’が、テクスチャ画像#1’の全領域を分割した複数のセグメントを規定する。具体的には、画像分割処理部21’は、各セグメントが類似する色からなる画素群により構成される複数のセグメントを規定する。
また、情報源復号部32が、符号化データ#25を読み出す。符号化データ#25は、復号すべき距離画像#2’を構成する複数のセグメントの各々について該セグメントにおける代表値#23aをたかだか1つ距離値として含んでいるデータである。なお、復号すべき距離画像#2’を構成する上記複数のセグメントの分割パターンは、画像分割処理部21’が規定した複数のセグメントの分割パターンと同一である。
そして、距離値付与部33は、復号すべき距離画像#2’を構成する複数のセグメントの各々について、該セグメントにおける全画素の画素値を、情報源復号部32が読み出した符号化データ#25に含まれている該セグメントにおける代表値#23aに設定する。距離値付与部33は、このようにして距離画像#2’を復号する。
動画像復号装置2が符号化データ#25から復号する距離画像#2’は、前述したように、動画像符号化装置1が符号化する距離画像#2と類似しているので、動画像復号装置2は適切な距離画像を復号することができる。
以上に加えて、動画像復号装置2が復号する距離画像#2’にさらなる利点があることを以下に示す。
すなわち、被写体および背景が描画されているテクスチャ画像#1’と距離画像#2とから3次元画像を生成すると、生成される3次元画像における被写体の輪郭は、距離画像#2中の被写体と背景との境界の形状に応じたものとなる。
一般に、テクスチャ画像#1’と距離画像#2とは、被写体と背景との境界の位置が一致するものの、被写体と背景との境界の位置が一致しないこともある。この場合、カメラ撮影により生成されたテクスチャ画像#1と測距装置により生成された距離画像#2とでは、テクスチャ画像のほうが、被写体と背景とのエッジ部分の形状をより忠実に再現する。
動画像復号装置2が復号する距離画像#2’において被写体と背景との境界の位置は、テクスチャ画像#1における被写体と背景との境界の位置と一致することが多い。これは、一般に、テクスチャ画像#1において被写体の色と背景の色とは大きく異なるため、テクスチャ画像#1において被写体と背景との境界がセグメントの境界になるためである。
したがって、本実施形態に係る動画像復号装置2が出力したテクスチャ画像#1’および距離画像#2’から立体映像表示装置で再現される3次元画像は、テクスチャ画像#1’および距離画像#2から再現される3次元画像に略忠実であるばかりか、場合によっては実物の被写体をより忠実に再現した3次元画像となる。
(付記事項5)
上記実施形態では、動画像符号化装置1が符号化データ#25を動画像復号装置2に伝送するものとしたが、動画像符号化装置1は、動画像復号装置2に、以下のようにして符号化データ#25を供給するようにしてもよい。
上記実施形態では、動画像符号化装置1が符号化データ#25を動画像復号装置2に伝送するものとしたが、動画像符号化装置1は、動画像復号装置2に、以下のようにして符号化データ#25を供給するようにしてもよい。
すなわち、動画像符号化装置1および動画像復号装置2に光ディスクドライブ等、着脱可能な記録媒体にアクセス可能なアクセス手段を設け、記録媒体を介して動画像符号化装置1から動画像復号装置2に符号化データ#25を供給するようにしてもよい。換言すると、本発明の符号化装置はデータを伝送する手段を必ずしも備えていなくともよく、本発明の復号装置は、データを受信する受信手段を必ずしも備えていなくともよい。
<実施形態2>
次に、本発明の別の一実施形態に動画像符号化装置および動画像復号装置について、図16および図17を参照しながら以下に説明する。最初に、本実施形態に係る動画像符号化装置について説明する。
次に、本発明の別の一実施形態に動画像符号化装置および動画像復号装置について、図16および図17を参照しながら以下に説明する。最初に、本実施形態に係る動画像符号化装置について説明する。
本実施形態に係る動画像符号化装置は、テクスチャ画像の符号化にH.264/AVCにおけるMVC規格として採用されているMVC符号化を用いる一方、距離画像の符号化には本発明に特有の符号化技術を用いている動画像符号化装置である。本実施形態に係る動画像符号化装置は、1フレームあたりテクスチャ画像および距離画像を複数組(N組)符号化する点において動画像符号化装置1と異なっている。ここで、N組のテクスチャ画像および距離画像は、被写体を取り囲むようにN箇所に設置されたカメラおよび測距装置によって同時に取り込まれた被写体の画像である。すなわち、N組のテクスチャ画像および距離画像は、3次元形状の自由視点画像を生成するための画像である。また、各組のテクスチャ画像および距離画像(すなわち、各視点のテクスチャ画像および距離画像)には、当該組のテクスチャ画像および距離画像の実データとともに、カメラの位置や方向のほか、焦点距離情報などのカメラパラメータがメタデータとして含まれている。
以下、本実施形態の動画像符号化装置の構成について図16を参照して説明する。
(動画像符号化装置)
図16は、本実施形態の動画像符号化装置の要部構成を示すブロック図である。図16に示すように、動画像符号化装置1Aは、画像符号化部11A、画像復号部12A、距離画像符号化部20A、およびパッケージング部28’を備えている。また、距離画像符号化部20Aは、画像分割処理部21、距離画像分割処理部22A、距離値修正部23A、番号付与部24A、および情報源符号化部25’を備えている。
図16は、本実施形態の動画像符号化装置の要部構成を示すブロック図である。図16に示すように、動画像符号化装置1Aは、画像符号化部11A、画像復号部12A、距離画像符号化部20A、およびパッケージング部28’を備えている。また、距離画像符号化部20Aは、画像分割処理部21、距離画像分割処理部22A、距離値修正部23A、番号付与部24A、および情報源符号化部25’を備えている。
画像符号化部11Aは、H.264/AVCにおけるMVC規格に規定されているMVC符号化(多視点映像符号化)によりN個のビューコンポーネント(すなわち、テクスチャ画像#1-1~#1-N)を符号化し、各ビューコンポーネントの符号化データ#11-1~#11-Nを生成する。また、画像符号化部11Aは、符号化データ#11-1~#11-Nを、NALヘッダ拡張によるパラメータであるビューID「1」~「N」とともに、画像復号部12およびパッケージング部28’に出力する。
画像復号部12Aは、上記MVC規格に規定されている復号方式により、テクスチャ画像#1の符号化データ#11-1~#11-Nからテクスチャ画像#1’-1~#1’-Nを復号する。
距離画像分割処理部22Aは、距離画像#2―jおよびセグメント情報#21―jが入力されると、テクスチャ画像#1’―j中の各セグメントについて、距離画像#2―j中の対応するセグメント(領域)に含まれる各画素の距離値からなる距離値セットを抽出する。そして、距離画像分割処理部22Aは、セグメント情報#21―jから、各セグメントについて距離値セットと位置情報とが関連づけられたセグメント情報#22―jを生成する。
さらに、距離画像分割処理部22Aは、距離画像#2―jのビューID「j」を生成し、ビューID「j」とセグメント情報#22―jとを関連づけたセグメント情報#22A-jを生成する。
距離値修正部23Aは、距離画像#2―jの各セグメントについて、セグメント情報#22A-jに含まれる該セグメントの距離値セットから代表値#23aとして最頻値を算出する。そして、距離値修正部23は、セグメント情報#22A-jに含まれる各セグメントの距離値セットを、対応するセグメントの代表値#23aに置き換え、セグメント情報#23A-jとして番号付与部24Aに出力する。
番号付与部24Aは、セグメント情報#23A-jが入力されると、セグメント情報#23A-jに含まれているMj組の位置情報および代表値#23aの各組について、代表値#23aと位置情報に応じたセグメント番号#24とを関連づける。そして、番号付与部24Aは、Mj組のセグメント番号#24および代表値#23aと、セグメント情報#23A-jに含まれているビューID「j」とが関連づけられたデータを情報源符号化部25’に出力する。
情報源符号化部25’は、距離画像#2-jに関するMj組の代表値#23aおよびセグメント番号#24、並びに、ビューID「j」が入力されると、情報源符号化部25と同様の方法により、8×Mjビットの2進数列を生成する。そして、情報源符号化部25’は、8×Mjビットの2進数列に情報源符号化処理を施すことにより距離画像#2-jの符号化データを生成する。情報源符号化部25’は、このようにして得られた1からNまでの各jに関する距離画像#2-jの符号化データをVCL・NALユニットとして、ビューID「j」を非VCL・NALユニットとして含む符号化データ#25’をパッケージング部28’に伝送する。
パッケージング部28’は、テクスチャ画像#1-1~#1-Nの符号化データ#11-1~#11-Nと、符号化データ#25’とを統合することにより、符号化データ#28’を生成する。そして、パッケージング部28’は、符号化データ#28’を動画像復号装置に伝送する。
なお、画像分割処理部21は、実施形態1の動画像符号化装置1の画像分割処理部21と同一であるので、説明を省略する。
(動画像復号装置)
次に、本実施形態の動画像復号装置の構成について図17を参照して説明する。
次に、本実施形態の動画像復号装置の構成について図17を参照して説明する。
図17は、本実施形態の動画像復号装置の要部構成を示すブロック図である。図17に示すように、動画像復号装置2Aは、画像復号部12A、画像分割処理部21’、アンパッケージング部31’、情報源復号部32’、および距離値付与部33’を備えている。
なお、動画像復号装置2Aと動画像復号装置2との違いは、画像復号部、アンパッケージング部および情報源復号部のみであるので、画像復号部12A、アンパッケージング部31’および情報源復号部32’についてのみ説明し、その他の各部の説明は省略することにする。
画像復号部12Aは、MVC規格に規定されている復号方式により、テクスチャ画像#1の符号化データ#11-1~#11-Nからテクスチャ画像#1’-1~#1’-Nを復号する。
アンパッケージング部31’は、符号化データ#28’を受信すると、符号化データ#11-1~#11-Nと、符号化データ#25’と、を符号化データ#28’からそれぞれ抽出する。
情報源復号部32’は、符号化データ#25’を情報源復号することにより、1からNまでの各jについて情報源復号部32と同様の処理を行う。すなわち、情報源復号部32’は、8×Mjビットの2進数列を復号する。そして、情報源復号部32’は、復号した8×Mjビットの2進数列を8ビットのMj個の2進数列に分割し、8ビットの各2進数列からMj組の距離値#23aおよびセグメント番号#24を復号する。
距離値付与部33’は、距離画像#2’-1~#2’-Nを復号する。具体的には、距離値付与部33’は、距離画像#2’-jを以下のようにして復号する。
すなわち、距離値付与部33’は、情報源復号部32’から入力されるMj組の代表値#23aおよびセグメント番号#24、並びに、ビューID「j」が入力されると、1からMjまでの各iについて、ビューID「j」により区別されるセグメント識別用画像#21―j中の画素値「i-1」の全画素の画素値を、セグメント番号「i―1」の組の代表値#23aに変換することにより、距離画像#2’―jを復号する。
そして、距離値付与部33は、距離画像#2’-1~#2’-Nを前述した立体映像表示装置に出力する。
(付記事項6)
上記実施形態では、動画像符号化装置1Aおよび動画像復号装置2Aは、被写体を取り囲むようにN箇所に設置されたカメラおよび測距装置によって同時に取り込まれた被写体のN組のテクスチャ画像および距離画像に対して、符号化処理および復号処理を行った。
上記実施形態では、動画像符号化装置1Aおよび動画像復号装置2Aは、被写体を取り囲むようにN箇所に設置されたカメラおよび測距装置によって同時に取り込まれた被写体のN組のテクスチャ画像および距離画像に対して、符号化処理および復号処理を行った。
動画像符号化装置1Aおよび動画像復号装置2Aは、言うまでも無く、以下のようにして生成されたN組のテクスチャ画像および距離画像に対して、符号化処理および復号処理を行うことができる。
すなわち、動画像符号化装置1Aおよび動画像復号装置2Aは、各組のカメラおよび測距装置が互いに相異なる方向を向くように1箇所に設置されたN組のカメラおよび測距装置によって生成されたN組のテクスチャ画像および距離画像に対しても、符号化処理および復号処理を行うことができる。つまり、動画像符号化装置1Aおよび動画像復号装置2Aは、3次元形状の全方位画像やパノラマ画像等を生成するためのN組のテクスチャ画像および距離画像(すなわち、各方位のテクスチャ画像および距離画像)に対しても、符号化処理および復号処理を行うことができる。
この場合、各組のテクスチャ画像および距離画像には、当該組のテクスチャ画像および距離画像の実データとともに、どの方向に向いている組のカメラおよび測距装置によって生成された画像であるかを示すカメラパラメータがメタデータとして含まれることになる。
(付記事項7)
実施形態2において、動画像符号化装置1Aの画像符号化部11Aは、H.264/AVCにおけるMVC規格に規定されているMVC符号化を用いてテクスチャ画像#1-1~#1-Nを符号化するものとしたが、本発明はこれに限定されない。
実施形態2において、動画像符号化装置1Aの画像符号化部11Aは、H.264/AVCにおけるMVC規格に規定されているMVC符号化を用いてテクスチャ画像#1-1~#1-Nを符号化するものとしたが、本発明はこれに限定されない。
すなわち、動画像符号化装置1Aの画像符号化部11Aは、VSP(View Synthesis Prediction)符号化方式や、MVD符号化方式、LVD(Layered Video Depth)符号化方式といった他の符号化方式を用いてテクスチャ画像#1-1~#1-Nを符号化してもよい。この場合、画像符号化部11Aが採用する符号化方式に対応する復号方式によりテクスチャ画像#1’-1~#1’-Nを復号するように、動画像復号装置2Aの画像復号部12Aを構成すればよい。
(付記事項8)
動画像符号化装置1Aの情報源符号化部25’は、以下のように、距離画像#2-1~#2-nの符号化データを、N×(Q+q)ビットの2進数列に情報源符号化処理を施することにより生成してもよい。また、動画像復号装置2Aの情報源復号部32’は、以下のように、N×(Q+q)ビットの2進数列を復号することにより、距離画像#2’-1~#2’-nを復号してもよい。この場合における、情報源符号化処理および情報源復号処理について以下に具体的に説明する。
動画像符号化装置1Aの情報源符号化部25’は、以下のように、距離画像#2-1~#2-nの符号化データを、N×(Q+q)ビットの2進数列に情報源符号化処理を施することにより生成してもよい。また、動画像復号装置2Aの情報源復号部32’は、以下のように、N×(Q+q)ビットの2進数列を復号することにより、距離画像#2’-1~#2’-nを復号してもよい。この場合における、情報源符号化処理および情報源復号処理について以下に具体的に説明する。
〔情報源符号化処理の変形例〕
情報源符号化部25’は、「0」から「Mj-1」までの各iについて、セグメント番号「i」の組の代表値#23aを10進数から9ビットの2進数列に変換し、Mj個の9ビットの2進数列を生成する。ここで、代表値#23aの最大値が「255」であることから9ビットの各2進数列の先頭ビットは必ず「0」となる。また、セグメント番号「i」の組の代表値#23aから変換された9ビットの2進数列は、9×Mjビットの2進数列のうち、9×i+1ビット目から9×(i+1)ビット目までの2進数列を構成するようになっている。
情報源符号化部25’は、「0」から「Mj-1」までの各iについて、セグメント番号「i」の組の代表値#23aを10進数から9ビットの2進数列に変換し、Mj個の9ビットの2進数列を生成する。ここで、代表値#23aの最大値が「255」であることから9ビットの各2進数列の先頭ビットは必ず「0」となる。また、セグメント番号「i」の組の代表値#23aから変換された9ビットの2進数列は、9×Mjビットの2進数列のうち、9×i+1ビット目から9×(i+1)ビット目までの2進数列を構成するようになっている。
そして、情報源符号化部25’は、生成した9×Mjビットの2進数列の直後にL-9xMjビットの「1」を連結することにより、Qビットの2進数列を生成する。
情報源符号化部25’は、さらに、カメラパラメータjの値と1対1に対応するようなqビットの2進数列を生成し、Qビットの2進数列の直後に連結する。
そして、情報源符号化部25’は、N個の距離画像のうち距離画像#2-j以外のk個の距離画像についてQ+qビットの2進数列を生成済みの場合には、k×(Q+q)ビットの2進数列の直後に、距離画像#2-jについて生成したQ+qビットの2進数列を連結する。
情報源符号化部25’は、以上のようにして生成したN×(Q+q)ビットの2進数列に情報源符号化処理を施し、符号化データ#25’を生成する。
〔情報復号処理の変形例〕
情報源復号部32’は、符号化データ#25’を情報源復号することにより、N×(Q+q)ビットの2進数列を復号する。そして、情報源復号部32’は、復号したN×(Q+q)ビットの2進数列をQ+qビットのN個の2進数列に分割し、各N個の2進数列について、末尾qビットの2進数列からカメラパラメータjを特定し、先頭Qビットの2進数列からMj組の距離値#23aおよびセグメント番号#24を復号する。
情報源復号部32’は、符号化データ#25’を情報源復号することにより、N×(Q+q)ビットの2進数列を復号する。そして、情報源復号部32’は、復号したN×(Q+q)ビットの2進数列をQ+qビットのN個の2進数列に分割し、各N個の2進数列について、末尾qビットの2進数列からカメラパラメータjを特定し、先頭Qビットの2進数列からMj組の距離値#23aおよびセグメント番号#24を復号する。
具体的には、情報源復号部32’は、0からMj-1までの各iについて、Qビットの2進数列のうち先頭から9×i+1ビット目からの9ビットの2進列から変換された10進数の距離値#23aとセグメント番号「i」とを関連づける。なお、Qビットの2進数列のうち先頭から9×Mj+1ビット目以降のビットが全て「1」になることから、情報源復号部32’は、Qビットの2進数列を先頭から順に9ビットずつ読み出すことにより、Qビットの2進数列から復号される距離値#23aの数がたかだかMj個であることを認識できるようになっている。
(プログラム等)
最後に、画像符号化装置1、1’、1Aおよび画像復号装置2、2Aに含まれている各ブロックは、ハードウェアロジックによって構成すればよい。また、画像符号化装置1、1’、1Aおよび画像復号装置2、2Aの各制御は、次のように、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
最後に、画像符号化装置1、1’、1Aおよび画像復号装置2、2Aに含まれている各ブロックは、ハードウェアロジックによって構成すればよい。また、画像符号化装置1、1’、1Aおよび画像復号装置2、2Aの各制御は、次のように、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
すなわち、画像符号化装置1、1’、1Aおよび画像復号装置2、2Aの各制御を実現する制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録していればよい。画像符号化装置1、1’、1Aおよび画像復号装置2、2A(またはCPUやMPU)が、供給された記録媒体に記録されているプログラムコードを読み出し、実行すればよい。
プログラムコードを画像符号化装置1、1’、1Aおよび画像復号装置2、2Aに供給する記録媒体は、たとえば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD-ROM/MO/MD/DVD/CD-R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などとすることができる。
また、画像符号化装置1、1’、1Aおよび画像復号装置2、2Aは、通信ネットワークと接続可能に構成しても、本発明の目的を達成できる。この場合、上記のプログラムコードを、通信ネットワークを介して画像符号化装置1、1’、1Aおよび画像復号装置2、2Aに供給する。この通信ネットワークは、画像符号化装置1、1’、1Aおよび画像復号装置2、2Aにプログラムコードを供給できるものであればよく、特定の種類または形態に限定されない。たとえば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、移動体通信網、衛星通信網等であればよい。
この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な任意の媒体であればよく、特定の構成または種類のものに限定されない。たとえば、IEEE1394、USB(Universal Serial Bus)、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線などの有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
本発明に係る符号化装置は、上記テクスチャ画像の符号化データを生成する第2符号化手段と、上記第2符号化手段により生成された上記テクスチャ画像の上記符号化データと、上記符号化手段により生成された上記距離画像の上記符号化データと、を関連づけて外部に伝送する伝送手段と、をさらに備えていることが望ましい。
上記の構成によれば、本発明に係る符号化装置は、距離画像だけでなくテクスチャ画像を符号化するので、テクスチャ画像のデータ量と距離画像のデータ量とを合計した全体のデータ量をより削減することができるというさらなる効果を奏する。
なお、本発明に係る符号化装置は、例えば、上記第2符号化手段により生成された上記符号化データからテクスチャ画像を復号する復号手段をさらに備え、上記第1領域規定手段は、上記復号手段により復号されたテクスチャ画像の全領域を分割した複数の領域であって、各領域について該領域に含まれる画素群の画素値から算出される平均値と該領域に隣接する領域に含まれる画素群の画素値から算出される平均値との差が所定の閾値以上となるような複数の領域を規定する、ことができる。
本発明に係る符号化装置は、上記符号化手段が、上記代表値算出手段により算出されたM(M:第2領域規定手段が規定した領域の個数)個の代表値に応じた情報系列を生成し、該情報系列に情報源符号化処理を施すことにより、上記距離画像の符号化データを生成する、ことが望ましい。
上記の構成によれば、本発明に係る符号化装置は、M個の代表値をそのまま距離画像の符号化データとするのではなく、M個の代表値から生成された情報系列に情報源符号化処理を施すことにより距離画像の符号化データを生成するので、距離画像の符号化データの符号量をより大きく削減することができるというさらなる効果を奏する。
また、本発明に係る符号化装置は、全方位立体画像または自由視点立体画像の表示のために生成されたN枚の距離画像であって各方位または各視点の立体画像を表示するために各距離画像が対を成すテクスチャ画像とともに処理されるN枚の距離画像の各々について当該距離画像を符号化するように、上記の各手段を動作させることが望ましい。
本発明に係る復号装置は、上記距離画像の符号化データと、上記テクスチャ画像の符号化データと、が関連づけられた統合データから、上記テクスチャ画像の符号化データと、上記距離画像の符号化データと、を個別に抽出する抽出手段をさらに備えていることが望ましい。
上記の構成によれば、本発明に係る復号装置は、上記距離画像の符号化データと、上記テクスチャ画像の符号化データと、が関連づけられた統合データが本発明に係る符号化装置から供給された場合であっても、上記距離画像の符号化データから距離画像を復号することができるというさらなる効果を奏する。
本発明に係る復号装置は、上記読出手段により読み出される上記符号化データがM(M:領域規定手段が規定した領域の個数)個の距離値に応じた情報系列に情報源符号化処理を施すことにより得られる符号系列である場合に、上記復号手段は、上記符号系列に情報源復号処理を施すことにより上記情報系列を復号するとともに、上記情報系列から、上記距離画像を構成するM個の領域の画素値として設定すべき上記M個の距離値を復号する、ことが望ましい。
上記の構成によれば、本発明に係る符号化装置から供給される符号化データがM(M:領域規定手段が規定した領域の個数)個の距離値に応じた情報系列に情報源符号化処理を施すことにより得られる符号系列である場合であっても、距離画像を復号することができるというさらなる効果を奏する。
また、本発明に係る復号装置は、全方位立体画像または自由視点立体画像の表示のために生成されたN枚の距離画像であって各方位または各視点の立体画像を表示するために各距離画像が対を成すテクスチャ画像とともに処理されるN枚の距離画像の各々について当該距離画像の符号化データから当該距離画像を復号するように、上記の各手段を動作させることが望ましい。
また、本発明に係る符号化装置の各手段としてコンピュータを機能させる符号化プログラム、本発明に係る復号装置の各手段としてコンピュータを機能させる復号プログラム、並びに、符号化プログラムを記録したコンピュータ読み取り可能な記録媒体、および、復号プログラムを記録したコンピュータ読み取り可能な記録媒体も本発明の範疇に含まれる。
なお、非特許文献1の内容は、参照により本明細書に組み込まれるものとする。
本発明は、3D対応のコンテンツを生成するコンテンツ生成装置や3D対応のコンテンツを再生するコンテンツ再生装置等に好適に適用することができる。
1、1’、1A 動画像符号化装置
2、2A 動画像復号装置
11、11A 画像符号化部
12、12A 画像復号部
20、20’、20A 距離画像符号化部
21、21’ 画像分割処理部(第1領域規定手段、領域規定手段)
22、22’、22A 距離画像分割処理部(第2領域規定手段)
23、23’、23A 距離値修正部(代表値算出手段)
24、24A 番号付与部
25、25’ 情報源符号化部(符号化手段)
28、28’ パッケージング部(伝送手段)
30 距離画像復号部
31、31’ アンパッケージング部(抽出手段)
32 情報源復号部(読出手段)
33 距離値付与部(復号手段)
2、2A 動画像復号装置
11、11A 画像符号化部
12、12A 画像復号部
20、20’、20A 距離画像符号化部
21、21’ 画像分割処理部(第1領域規定手段、領域規定手段)
22、22’、22A 距離画像分割処理部(第2領域規定手段)
23、23’、23A 距離値修正部(代表値算出手段)
24、24A 番号付与部
25、25’ 情報源符号化部(符号化手段)
28、28’ パッケージング部(伝送手段)
30 距離画像復号部
31、31’ アンパッケージング部(抽出手段)
32 情報源復号部(読出手段)
33 距離値付与部(復号手段)
Claims (15)
- テクスチャ画像とで対を成す距離画像を符号化する符号化装置において、
上記テクスチャ画像の全領域を分割した複数の領域であって、各領域について該領域に含まれる画素群の画素値から算出される平均値と該領域に隣接する領域に含まれる画素群の画素値から算出される平均値との差が所定の閾値以上となるような複数の領域を規定する第1領域規定手段と、
上記距離画像の全領域を上記テクスチャ画像の分割パターンと同一の分割パターンで分割した複数の領域を規定する第2領域規定手段と、
上記第2領域規定手段により規定された上記複数の領域の各々について、該領域に含まれる各画素の距離値から代表値を算出する代表値算出手段と、
上記距離値に関するデータを含む、上記距離画像の符号化データを生成する符号化手段と、を備え、
上記距離値に関するデータは、上記代表値算出手段により算出された各領域の代表値からなるデータであることを特徴とする符号化装置。 - 請求項1に記載の符号化装置であって、
上記テクスチャ画像の符号化データを生成する第2符号化手段と、
上記第2符号化手段により生成された上記テクスチャ画像の上記符号化データと、上記符号化手段により生成された上記距離画像の上記符号化データと、を関連づけて外部に伝送する伝送手段と、をさらに備えていることを特徴とする符号化装置。 - 請求項2に記載の符号化装置であって、
上記第2符号化手段により生成された上記符号化データからテクスチャ画像を復号する復号手段をさらに備え、
上記第1領域規定手段は、上記復号手段により復号されたテクスチャ画像の全領域を分割した複数の領域であって、各領域について該領域に含まれる画素群の画素値から算出される平均値と該領域に隣接する領域に含まれる画素群の画素値から算出される平均値との差が所定の閾値以上となるような複数の領域を規定する、ことを特徴とする符号化装置。 - 請求項1から3のいずれか1項に記載の符号化装置であって、
上記符号化手段は、上記代表値算出手段により算出されたM(M:第2領域規定手段が規定した領域の個数)個の代表値に応じた情報系列を生成し、該情報系列に情報源符号化処理を施すことにより、上記距離画像の符号化データを生成する、ことを特徴とする符号化装置。 - 全方位立体画像または自由視点立体画像の表示のために生成されたN枚の距離画像であって各方位または各視点の立体画像を表示するために各距離画像が対を成すテクスチャ画像とともに処理されるN枚の距離画像の各々について当該距離画像を符号化するように、上記の各手段を動作させることを特徴とする請求項1から4のいずれか1項に記載の符号化装置。
- テクスチャ画像とで対を成す距離画像を符号化する符号化方法において、
上記テクスチャ画像の全領域を分割した複数の領域であって、各領域について該領域に含まれる画素群の画素値から算出される平均値と該領域に隣接する領域に含まれる画素群の画素値から算出される平均値との差が所定の閾値以上となるような複数の領域を規定する第1領域規定工程と、
上記距離画像の全領域を上記テクスチャ画像の分割パターンと同一の分割パターンで分割した複数の領域を規定する第2領域規定工程と、
上記第2領域規定工程にて規定された上記複数の領域の各々について、該領域に含まれる各画素の距離値から代表値を算出する代表値算出工程と、
上記距離値に関するデータを含む、上記距離画像の符号化データを生成する符号化工程と、を含み、
上記距離値に関するデータは、上記代表値算出工程にて算出された各領域の代表値からなるデータであることを特徴とする符号化方法。 - テクスチャ画像とで対を成す距離画像を距離画像の符号化データから復号する復号装置において、
上記テクスチャ画像の全領域を分割した複数の領域であって、各領域について該領域に含まれる画素群の画素値から算出される平均値と該領域に隣接する領域に含まれる画素群の画素値から算出される平均値との差が所定の閾値以上となるような複数の領域を規定する領域規定手段と、
上記距離画像の全領域を上記テクスチャ画像の分割パターンと同一の分割パターンで分割した複数の領域の各々について該領域における距離値に関するデータとして該領域における各画素の距離値の代表値のみを含んでいる、上記符号化データを読み出す読出手段と、
復号すべき上記距離画像を構成する上記複数の領域の各々について、該領域に含まれる画素の画素値を上記符号化データに含まれている該領域における代表値に設定することにより、上記距離画像を復号する復号手段と、を備えていることを特徴とする復号装置。 - 請求項7に記載の復号装置であって、
上記距離画像の符号化データと、上記テクスチャ画像の符号化データと、が関連づけられた統合データから、上記テクスチャ画像の符号化データと、上記距離画像の符号化データと、を個別に抽出する抽出手段をさらに備えていることを特徴とする復号装置。 - 請求項7または8に記載の復号装置であって、
上記読出手段により読み出される上記符号化データがM(M:領域規定手段が規定した領域の個数)個の距離値に応じた情報系列に情報源符号化処理を施すことにより得られる符号系列である場合に、上記復号手段は、上記符号系列に情報源復号処理を施すことにより上記情報系列を復号するとともに、上記情報系列から、上記距離画像を構成するM個の領域の画素値として設定すべき上記M個の距離値を復号する、ことを特徴とする復号装置。 - 全方位立体画像または自由視点立体画像の表示のために生成されたN枚の距離画像であって各方位または各視点の立体画像を表示するために各距離画像が対を成すテクスチャ画像とともに処理されるN枚の距離画像の各々について当該距離画像の符号化データから当該距離画像を復号するように、上記の各手段を動作させることを特徴とする請求項7から9のいずれか1項に記載の復号装置。
- テクスチャ画像とで対を成す距離画像を距離画像の符号化データから復号する復号方法において、
上記テクスチャ画像の全領域を分割した複数の領域であって、各領域について該領域に含まれる画素群の画素値から算出される平均値と該領域に隣接する領域に含まれる画素群の画素値から算出される平均値との差が所定の閾値以上となるような複数の領域を規定する領域規定工程と、
上記距離画像の全領域を上記テクスチャ画像の分割パターンと同一の分割パターンで分割した複数の領域の各々について該領域における距離値に関するデータとして該領域における各画素の距離値の代表値のみを含んでいる、上記符号化データを読み出す読出工程と、
復号すべき上記距離画像を構成する上記複数の領域の各々について、該領域に含まれる画素の画素値を上記符号化データに含まれている該領域における代表値に設定することにより、上記距離画像を復号する復号工程と、を含んでいることを特徴とする復号方法。 - コンピュータを請求項1から5のいずれか1項に記載の符号化装置として動作させるプログラムであって、上記コンピュータを上記の各手段として機能させるためのプログラム。
- コンピュータを請求項7から10のいずれか1項に記載の復号装置として動作させるプログラムであって、上記コンピュータを上記の各手段として機能させるためのプログラム。
- 請求項12に記載のプログラムおよび請求項13に記載のプログラムのうち、少なくともいずれかのプログラムを記録しているコンピュータ読み取り可能な記録媒体。
- テクスチャ画像とで対を成す距離画像の符号化データであって、
上記距離画像の全領域を所定の分割パターンで分割した複数の領域の各々について、該領域における距離値に関するデータとして該領域に含まれる各画素の距離値の代表値のみを含んでおり、
上記所定の分割パターンは、上記テクスチャ画像の全領域を、各領域について該領域に含まれる画素群の画素値から算出される平均値と該領域に隣接する領域に含まれる画素群の画素値から算出される平均値との差が所定の閾値以上となるような複数の領域に分割する分割パターンである、ことを特徴とする符号化データ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010247422 | 2010-11-04 | ||
JP2010-247422 | 2010-11-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2012060168A1 true WO2012060168A1 (ja) | 2012-05-10 |
Family
ID=46024289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/071913 WO2012060168A1 (ja) | 2010-11-04 | 2011-09-26 | 符号化装置、復号装置、符号化方法、復号方法、プログラム、記録媒体、および符号化データ |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2012060168A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018518786A (ja) * | 2015-05-29 | 2018-07-12 | エフエックスギア インコーポレイティッドFxgear Inc. | 広視野角映像処理装置及び方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08223578A (ja) * | 1995-02-13 | 1996-08-30 | Nippon Telegr & Teleph Corp <Ntt> | 動きベクトル探索方法および装置 |
JPH09289638A (ja) * | 1996-04-23 | 1997-11-04 | Nec Corp | 3次元画像符号化復号方式 |
WO2004071102A1 (ja) * | 2003-01-20 | 2004-08-19 | Sanyo Electric Co,. Ltd. | 立体視用映像提供方法及び立体映像表示装置 |
JP2008193530A (ja) * | 2007-02-06 | 2008-08-21 | Canon Inc | 画像記録装置、画像記録方法、及びプログラム |
-
2011
- 2011-09-26 WO PCT/JP2011/071913 patent/WO2012060168A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08223578A (ja) * | 1995-02-13 | 1996-08-30 | Nippon Telegr & Teleph Corp <Ntt> | 動きベクトル探索方法および装置 |
JPH09289638A (ja) * | 1996-04-23 | 1997-11-04 | Nec Corp | 3次元画像符号化復号方式 |
WO2004071102A1 (ja) * | 2003-01-20 | 2004-08-19 | Sanyo Electric Co,. Ltd. | 立体視用映像提供方法及び立体映像表示装置 |
JP2008193530A (ja) * | 2007-02-06 | 2008-08-21 | Canon Inc | 画像記録装置、画像記録方法、及びプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018518786A (ja) * | 2015-05-29 | 2018-07-12 | エフエックスギア インコーポレイティッドFxgear Inc. | 広視野角映像処理装置及び方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10237576B2 (en) | 3D-HEVC depth video information hiding method based on single-depth intra mode | |
TWI805784B (zh) | 提高影像品質的方法 | |
KR101768857B1 (ko) | 다시야 비디오 코딩에서 로우 다이내믹 레인지 이미지들로부터 하이 다이내믹 레인지 이미지들의 생성 | |
EP2944080B1 (en) | Method and apparatus for efficient coding of depth lookup table | |
KR101758954B1 (ko) | 디코더 및 방법 | |
KR102240164B1 (ko) | 하이 다이내믹 레인지 이미지들을 인코딩하고, 디코딩하고, 표현하기 위한 기법들 | |
TW201143458A (en) | Dynamic image encoding device and dynamic image decoding device | |
CN106664430A (zh) | 利用嵌入块分割对视频信号进行编码和解码的方法及装置 | |
JP2001509325A (ja) | 3次元深度情報を利用したデジタル画像と動画像の分割と圧縮を行う方法及び装置 | |
TW201220855A (en) | Image encoding method and apparatus, image decoding method and apparatus, and programs therefor | |
WO1998005159A1 (en) | Picture encoder, picture decoder, picture encoding method, picture decoding method, and medium | |
US20170041623A1 (en) | Method and Apparatus for Intra Coding for a Block in a Coding System | |
JPWO2013115024A1 (ja) | 画像処理装置、画像処理方法、プログラム、および記録媒体 | |
US6636644B1 (en) | Image processing suitable for use with MPEG4, avoiding false-color problems in extraction of portions of an image | |
US10735766B2 (en) | Point cloud auxiliary information coding | |
JP4806088B1 (ja) | 画像変換装置、画像変換装置の制御方法、画像変換装置制御プログラムおよび記録媒体 | |
WO2024083100A1 (en) | Method and apparatus for talking face video compression | |
CN106028031A (zh) | 视频编码装置和方法、视频解码装置和方法 | |
WO2012060168A1 (ja) | 符号化装置、復号装置、符号化方法、復号方法、プログラム、記録媒体、および符号化データ | |
WO2012128209A1 (ja) | 画像符号化装置、画像復号装置、プログラムおよび符号化データ | |
KR20190087764A (ko) | 키넥트 영상 데이터 부호화 장치 및 그 방법 | |
WO2012060172A1 (ja) | 動画像符号化装置、動画像復号装置、動画像伝送システム、動画像符号化装置の制御方法、動画像復号装置の制御方法、動画像符号化装置制御プログラム、動画像復号装置制御プログラム、および記録媒体 | |
CN1875634A (zh) | 编码视频信号的方法 | |
WO2012060179A1 (ja) | 符号化装置、復号装置、符号化方法、復号方法、プログラム、記録媒体、および符号化データのデータ構造 | |
JP4860763B2 (ja) | 画像符号化装置、画像符号化装置の制御方法、制御プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11837821 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11837821 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |