Methods and Apparatuses for Coding and Decoding Depth Map

A method for coding and decoding a depth map includes determining to perform simplified depth coding (SDC) decoding according to a flag of an SDC mode, determining a size of an image block and a maximum prediction size, determining an intra-frame prediction mode, in a case in which the size of the image block is greater than the maximum prediction size, splitting the image block to obtain N split image blocks, and performing the SDC decoding on the N split image blocks using the intra-frame prediction mode.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No. 14/880,094, filed on Oct. 9, 2015, which is a continuation of International Patent Application No. PCT/CN2014/075239, filed on Apr. 14, 2014. The International Application claims priority to Chinese Patent Application No. 201310127421.6, filed on Apr. 12, 2013, and Chinese Patent Application No. 201310138110.X, filed on Apr. 19, 2013. All of the aforementioned patent applications are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

Embodiments of the present disclosure relate to the field of wireless communications technologies, and in particular, to methods and apparatuses for coding and decoding a depth map.

BACKGROUND

Three-dimensional video images are classified into two types a view image and a depth map. The view image includes information, such as color information, of the image itself. The depth map includes depth information, such as contour information, of the view image. To reduce bandwidth occupied by video transmission during transmission of the three-dimensional video image, coding processing needs to be performed on the view image and the depth map so as to reduce a data size of the three-dimensional video image.

Simplified depth coding (SDC) is a method for coding a depth map. In a case in which an image block of the depth map on which the SDC needs to be performed is determined, a coder needs to select an intra-frame prediction mode and determine prediction data of the image block according to the intra-frame prediction mode. A prediction mode that can be selected by the coder may be any one of the following modes, a direct current mode, a planar (Planar) mode, and a depth modeling mode (DMM), where the DMM includes an explicit wedgelet (Wedgelet) mode, an intra-predicted wedgelet partitioning mode, an inter-component prediction of wedgelet partitioning mode, and an inter-component prediction of contour partitioning mode. When determining the prediction data of the image block according to the intra-frame prediction mode, the coder needs to determine a size of the image block. When the SDC is performed on the image block, a size of a prediction block on which SDC is performed needs to be consistent with the size of the image block. However, a maximum prediction size (that is, a maximum size of the image block on which the SDC is performed) is limited, and the size of the image block may be greater than the maximum prediction size, for example, the size of the image block is 64×64, whereas the maximum prediction size is 32×32. In this case, when SDC is performed on the image block, an image block of a size greater than the maximum prediction size needs to be introduced into a coding and decoding system, which may increase design overheads of the coding and decoding system. In addition, the DMM does not support the image block of a size greater than the maximum prediction size. Therefore, in a case in which the size of the image block is greater than the maximum prediction size, the DMM cannot be selected to perform the SDC on the image block, thereby resulting in a decrease in coding efficiency.

SUMMARY

Embodiments of the present disclosure provide methods and apparatuses for coding and decoding a depth map, which may improve processing efficiency of reconstructing, by a decoder, an image block of a depth map on which SDC coding is performed.

According to a first aspect, an embodiment of the present disclosure provides a method for decoding a depth map, where the method includes obtaining a flag of simplified depth coding SDC, and determining to perform SDC decoding, determining a size of an image block and a maximum prediction size, determining an intra-frame prediction mode of the image block, when the size of the image block is greater than the maximum prediction size, splitting the image block to obtain N split image blocks, where a size of the N split image blocks is the same as the maximum prediction size, and performing the SDC decoding on the N split image blocks using the intra-frame prediction mode.

With reference to the first aspect, in a first possible implementation manner, the intra-frame prediction mode that is used when the SDC is performed on the image block is a depth modeling mode DMM or a planar mode or a direct current mode.

With reference to the first aspect or the first possible implementation manner, in a second possible implementation manner, the splitting the image block to obtain N split image blocks according to the size of the image block and the maximum prediction size, where a size of each of the N split image blocks is the same as the maximum prediction size includes splitting the image block to obtain split image blocks according to the size of the image block and the maximum prediction size, where if a size of the split image blocks is the same as the maximum prediction size, the N split image blocks are obtained, or if a size of the split image blocks is greater than the maximum prediction size, continuing to split the split image blocks until the size of the split image blocks is the same as the maximum prediction size, and the N split image blocks are obtained.

With reference to the first aspect or either one of the foregoing possible implementation manners, in a third possible implementation manner, the performing the SDC decoding on the N split image blocks using the intra-frame prediction mode includes obtaining N residuals by means of decoding when performing the SDC decoding on the N split image blocks.

With reference to the third possible implementation manner, in a fourth possible implementation manner, the performing the SDC decoding on the N split image blocks using the intra-frame prediction mode includes determining an average value of prediction data of the N image blocks using the intra-frame prediction mode that is used when the SDC is performed on the image block, and determining reconstruction values of the N image blocks according to the average value of the prediction data of the N image blocks and the N residuals, so as to complete performing the SDC decoding on the N image blocks.

With reference to the fourth possible implementation manner, in a fifth possible implementation manner, the determining an average value of prediction data of the N image blocks using the intra-frame prediction mode that is used when the SDC is performed on the image block includes obtaining the prediction data using the intra-frame prediction mode that is used when the SDC is performed on the image block, and determining the average value of the prediction data of the N image blocks using the following formula, PVi=ΣPPixi[x,y]/sumOfPPix, where PVi is an average value of prediction data of the ith image block among the N image blocks, PPixi[x,y] is a pixel value in prediction data whose coordinates are [x,y] in the ith image block, and sumOfPPix is the number of pixels in the ith image block.

With reference to the fourth possible implementation manner, in a sixth possible implementation manner, the determining reconstruction values of the N image blocks according to the average value of the prediction data of the N image blocks and the residuals of the N image blocks includes determining the reconstruction values of the N image blocks using the following formula, Ri=PVi+Si, where Ri is a reconstruction value of the ith image block among the N image blocks, PVi is an average value of prediction data of the ith image block among the N image blocks, and Si is a residual of the ith image block among the N image blocks.

According to a second aspect, an embodiment of the present disclosure provides a method for coding a depth map, where the method includes determining a size of an image block and a maximum prediction size, determining an intra-frame prediction mode, when the size of the image block is greater than the maximum prediction size, splitting the image block to obtain N split image blocks according to the size of the image block and the maximum prediction size, where a size of the N split image blocks is the same as the maximum prediction size, and performing simplified depth coding SDC on the N split image blocks using the intra-frame prediction mode.

With reference to the second aspect, in a first possible implementation manner, the intra-frame prediction mode is a depth modeling mode DMM or a planar mode or a direct current mode.

With reference to the second aspect or the first possible implementation manner, in a second possible implementation manner, the splitting the image block to obtain N split image blocks according to the size of the image block and the maximum prediction size, where a size of the N split image blocks is the same as the maximum prediction size includes splitting the image block to obtain split image blocks according to the size of the image block and the maximum prediction size, where if a size of the split image blocks is the same as the maximum prediction size, the N split image blocks are obtained, or if a size of the split image blocks is greater than the maximum prediction size, continuing to split the split image blocks until the size of the split image blocks is the same as the maximum prediction size, and the N split image blocks are obtained.

With reference to the second aspect or either one of the foregoing possible implementation manners, in a third possible implementation manner, the performing simplified depth coding SDC on the N split image blocks using the intra-frame prediction mode includes determining an average value of prediction data of the N split image blocks using the intra-frame prediction mode, determining an average value of raw data of the N split image blocks, determining residuals of the N split image blocks according to the average value of the prediction data of the N split image blocks and the average value of the raw data of the N split image blocks, and coding the residuals of the N split image blocks, so as to complete performing simplified depth coding SDC on the N split image blocks.

With reference to the third possible implementation manner, in a fourth possible implementation manner, the determining an average value of prediction data of the N split image blocks using the intra-frame prediction mode includes determining the prediction data of the N split image blocks using the intra-frame prediction mode, and determining the average value of the prediction data of the N split image blocks using the following formula, PVi=ΣPPixi[x,y]/sumOfPPix, where PVi is an average value of prediction data of the ith image block among the N split image blocks, PPix1 [x,y] is a pixel value in prediction data whose coordinates are [x,y] in the ith image block, and sumOfPPix is the number of pixels in the ith image block.

With reference to the third possible implementation manner, in a fifth possible implementation manner, the determining an average value of raw data of the N split image blocks includes determining the average value of the raw data of the N split image blocks using the following formula, BVi=ΣBPixi[x,y]/sumOfBPix where BV is an average value of raw data of the ith image block among the N split image blocks, BPixi[x,y] is a pixel value in raw data whose coordinates are [x,y] in the ith image block, and sumOfBPix is the number of pixels in the ith image block.

With reference to the third possible implementation manner, in a sixth possible implementation manner, the determining residuals of the N split image blocks according to the average value of the prediction data of the N split image blocks and the average value of the raw data of the N split image blocks includes determining the residuals of the N split image blocks using the following formula, Si=PVi−BVi where Si is a residual of the ith image block among the N split image blocks, PVi is an average value of prediction data of the ith image block among the N split image blocks, and BVi is an average value of raw data of the ith image block among the N split image blocks.

With reference to the second aspect or the first possible implementation manner, in a seventh possible implementation manner, the method further includes, when the size of the image block is less than or equal to the maximum prediction size, performing simplified depth coding SDC on the image block using the intra-frame prediction mode.

With reference to the second aspect or any one of the foregoing possible implementation manners, in an eighth possible implementation manner, the size of the image block is a size of a transform block, or the maximum prediction size is a maximum transform size.

According to a third aspect, an embodiment of the present disclosure provides an apparatus for decoding a depth map, where the decoding apparatus includes a determining unit, configured to determine, according to a flag of simplified depth coding SDC, to use SDC decoding, where the determining unit is further configured to determine a size of an image block and a maximum prediction size, the determining unit is further configured to determine an intra-frame prediction mode that is used when SDC is performed on the image block, and the determining unit is further configured to split the image block to obtain N split image blocks according to the size of the image block and the maximum prediction size when the size of the image block is greater than the maximum prediction size, where a size of the N split image blocks is the same as the maximum prediction size, a decoding unit, configured to perform the SDC decoding on the N split image blocks using the intra-frame prediction mode, and a reconstruction unit, configured to reconstruct the image block according to a result of the SDC decoding performed on the N split image blocks.

With reference to the third aspect, in a first possible implementation manner, the determining unit is configured to split the image block to obtain split image blocks according to the size of the image block and the maximum prediction size, where if a size of the split image blocks is the same as the maximum prediction size, the N split image blocks are obtained, or if a size of the split image blocks is greater than the maximum prediction size, continue to split the split image blocks until the size of the split image blocks is the same as the maximum prediction size, and the N split image blocks are obtained.

With reference to the third aspect or the first possible implementation manner, in a second possible implementation manner, the decoding unit is configured to obtain N residuals by means of decoding when performing the SDC decoding on the N split image blocks.

With reference to the second possible implementation manner, in a third possible implementation manner, the decoding unit is configured to determine an average value of prediction data of the N image blocks and determine residuals of the N image blocks using the intra-frame prediction mode that is used when the SDC is performed on the image block, and determine reconstruction values of the N image blocks according to the average value of the prediction data of the N image blocks and the N residuals, so as to complete performing the decoding on the N image blocks.

With reference to the third possible implementation manner, in a fourth possible implementation manner, the decoding unit is configured to determine the prediction data of the N image blocks using the intra-frame prediction mode that is used when the SDC is performed on the image block, and determine the average value of the prediction data of the N image blocks using the following formula, PVi=ΣPPixi[x,y]/sumOfPPix where PVi is prediction data of the ith image block among the N image blocks, PPixi[x,y] is a pixel value in prediction data whose coordinates are [x,y] in the ith image block, and sumOfPPix is the number of pixels in the ith image block.

With reference to the fourth possible implementation manner, in a fifth possible implementation manner, the decoding unit is configured to determine the reconstruction values of the N image blocks using the following formula, Ri=PVi+Si, where Ri is a reconstruction value of the ith image block among the N image blocks, PVi is an average value of prediction data of the ith image block among the N image blocks, and Si is a residual of the ith image block among the N image blocks.

According to a fourth aspect, an embodiment of the present disclosure provides an apparatus for coding a depth map, where the coding apparatus includes a determining unit, configured to determine a size of an image block and a maximum prediction size, where the determining unit is further configured to determine an intra-frame prediction mode, and the determining unit is further configured to split the image block to obtain N split image blocks according to the size of the image block and the maximum prediction size when the size of the image block is greater than the maximum prediction size, where a size of the N split image blocks is the same as the maximum prediction size, and a coding unit, configured to perform simplified depth coding SDC on the N split image blocks using the intra-frame prediction mode.

With reference to the fourth aspect, in a first possible implementation manner, the determining unit is configured to split the image block to obtain split image blocks according to the size of the image block and the maximum prediction size, where if a size of the split image blocks is the same as the maximum prediction size, the N split image blocks are obtained, or if a size of the split image blocks is greater than the maximum prediction size, continue to split the split image blocks until the size of the split image blocks is the same as the maximum prediction size, and the N split image blocks are obtained.

With reference to the fourth aspect or the first possible implementation manner, in a second possible implementation manner, the coding unit is configured to determine an average value of prediction data of the N split image blocks using the intra-frame prediction mode and determine an average value of raw data of the N split image blocks, determine residuals of the N split image blocks according to the average value of the prediction data of the N split image blocks and the average value of the raw data of the N split image blocks, and code the residuals of the N split image blocks, so as to complete performing simplified depth coding SDC on the N split image blocks.

With reference to the second possible implementation manner, in a third possible implementation manner, the coding unit is configured to determine the prediction data of the N split image blocks using the intra-frame prediction mode, and determine the average value of the prediction data of the N split image blocks using the following formula, PVi=ΣPPixi[x,y]/sumOfPPix, where PVi is an average value of prediction data of the ith image block among the N split image blocks, PPix1 [x,y] is a pixel value in prediction data whose coordinates are [x,y] in the ith image block, and sumOfPPix is the number of pixels in the ith image block.

With reference to the second possible implementation manner, in a fourth possible implementation manner, the coding unit is configured to determine the average value of the raw data of the N split image blocks using the following formula, BVi=ΣBPixi[x,y]/sumOfBPix, where BV is an average value of raw data of the ith image block among the N split image blocks, BPixi[x,y] is a pixel value in raw data whose coordinates are [x,y] in the ith image block, and sumOfBPix is the number of pixels in the ith image block.

With reference to the second possible implementation manner, in a fifth possible implementation manner, the coding unit is configured to determine the residuals of the N split image blocks using the following formula, Si=PVi−BVi, where Si is a residual of the ith image block among the N split image blocks, PVi is an average value of prediction data of the ith image block among the N split image blocks, and BVi is an average value of raw data of the ith image block among the N split image blocks.

With reference to the fourth aspect, in a sixth possible implementation manner, the determining unit is further configured to, when the size of the image block is less than or equal to the maximum prediction size, perform simplified depth coding SDC on the image block according to the intra-frame prediction mode.

According to the embodiments of the present disclosure, when coding or decoding is performed on an image block on which SDC is performed, a same intra-frame prediction mode can be adopted to code and decode N image blocks that belong to the image block. In this way, processing efficiency of coding and decoding can be improved.

According to a fifth aspect, an embodiment of the present disclosure provides a method for decoding a depth map, where the method includes determining a size of an image block and a maximum prediction size, in a case in which the size of the image block is greater than the maximum prediction size, determining that a signaling bit has N bit, and determining, according to the signaling bit, an intra-frame prediction mode that is used when the SDC is performed on the image block, and in a case in which the size of the image block is less than or equal to the maximum prediction size, determining that the signaling bits have M bits, and determining, according to the signaling bits, that a mode that is used when the SDC is performed on the image block is the direct current mode or the planar mode, where a value of M is greater than that of N.

With reference to the fifth aspect, in a first possible implementation manner, the intra-frame prediction mode is a direct current mode or a planar mode or a depth modeling mode DMM.

According to a sixth aspect, an embodiment of the present disclosure provides a method for coding a depth map, where the method includes determining a size of an image block and a maximum prediction size, selecting an intra-frame prediction mode, in a case in which the size of the image block is greater than the maximum prediction size, determining, when the SDC is performed on the image block, that N bit is used as a signaling bit that identifies the intra-frame prediction mode, or in a case in which the size of the image block is less than or equal to the maximum prediction size, determining, when the SDC is performed on the image block, that M bits are used as signaling bits that identify the intra-frame prediction mode, where a value of M is greater than that of N.

With reference to the sixth aspect, in a first possible implementation manner, the intra-frame prediction mode is a direct current mode or a planar mode or a depth modeling mode DMM.

According to a seventh aspect, an embodiment of the present disclosure provides an apparatus for decoding a depth map, where the decoding apparatus includes a determining unit, configured to determine a size of an image block and a maximum prediction size, and a decoding unit, configured to, in a case in which the size of the image block is greater than the maximum prediction size, determine that a signaling bit has N bit, and determine, according to the signaling bit, an intra-frame prediction mode that is used when the SDC is performed on the image block, and in a case in which the size of the image block is less than or equal to the maximum prediction size, determine that the signaling bits have M bits, and determine, according to the signaling bits, that a mode that is used when the SDC is performed on the image block is the direct current mode or the planar mode, where a value of M is greater than that of N.

According to an eighth aspect, an embodiment of the present disclosure provides an apparatus for coding a depth map, where the coding apparatus includes a determining unit, configured to determine a size of an image block and a maximum prediction size, and a coding unit, configured to determine an intra-frame prediction mode, where the coding unit is further configured to, in a case in which the size of the image block is greater than the maximum prediction size, determine, when the SDC is performed on the image block, that N bit is used as a signaling bit that identifies the intra-frame prediction mode, or in a case in which the size of the image block is less than or equal to the maximum prediction size, determine, when the SDC is performed on the image block, that M bits are used as signaling bits that identify the intra-frame prediction mode, where a value of M is greater than that of N.

According to a ninth aspect, an embodiment of the present disclosure provides a method for decoding a depth map, where the method includes determining a size of an image block and a maximum prediction size, in a case in which the size of the image block is greater than the maximum prediction size, determining an intra-frame prediction mode that is used when the SDC is performed on the image block, and in a case in which the size of the image block is less than or equal to the maximum prediction size, determining that signaling bits have M bits, and determining, according to the signaling bits, an intra-frame prediction mode that is used when the SDC is performed on the image block.

With reference to the ninth aspect, in a first possible implementation manner, the intra-frame prediction mode is a direct current mode or a planar mode or a depth modeling mode DMM.

According to a tenth aspect, an embodiment of the present disclosure provides an apparatus for decoding a depth map, where the decoding apparatus includes a determining unit, configured to determine a size of an image block and a maximum prediction size, and a decoding unit, configured to, in a case in which the size of the image block is greater than the maximum prediction size, determine an intra-frame prediction mode that is used when the SDC is performed on the image block, and in a case in which the size of the image block is less than or equal to the maximum prediction size, determine that signaling bits have M bits, and determine, according to the signaling bits, an intra-frame prediction mode that is used when the SDC is performed on the image block.

With reference to the tenth aspect, in a first possible implementation manner, the intra-frame prediction mode is a direct current mode or a planar mode or a depth modeling mode DMM.

According to the methods provided in the embodiments of the present disclosure, when coding or decoding is performed on a depth map, the number of bits of signaling bits that are used to identify an intra-frame prediction mode can be reduced, thereby achieving objectives of reducing resources and accelerating coding and decoding.

BRIEF DESCRIPTION OF THE DRAWINGS

To describe the technical solutions in the embodiments of the present disclosure more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments of the present disclosure. Apparently, the accompanying drawings in the following description show merely some embodiments of the present disclosure, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.

FIG. 1 is a schematic flowchart of a method for decoding a depth map according to an embodiment of the present disclosure.

FIG. 2 is a schematic flowchart of a method for decoding a depth map according to an embodiment of the present disclosure.

FIG. 3 is a schematic flowchart of a method for coding a depth map according to an embodiment of the present disclosure.

FIG. 4 is a schematic flowchart of a method for coding a depth map according to an embodiment of the present disclosure.

FIG. 5 is a schematic diagram of a method for coding and decoding a depth map according to an embodiment of the present disclosure.

FIG. 6 is a schematic flowchart of another method for decoding a depth map according to an embodiment of the present disclosure.

FIG. 7 is a schematic flowchart of another method for coding a depth map according to an embodiment of the present disclosure.

FIG. 8 is a structural block diagram of an apparatus for decoding a depth map according to an embodiment of the present disclosure.

FIG. 9 is a structural block diagram of an apparatus for coding a depth map according to an embodiment of the present disclosure.

FIG. 10 is a structural block diagram of another apparatus for decoding a depth map according to an embodiment of the present disclosure.

FIG. 11 is a structural block diagram of another apparatus for coding a depth map according to an embodiment of the present disclosure.

FIG. 12 is a structural block diagram of an apparatus for decoding a depth map according to an embodiment of the present disclosure.

FIG. 13 is a structural block diagram of an apparatus for coding a depth map according to an embodiment of the present disclosure.

FIG. 14 is a structural block diagram of another apparatus for decoding a depth map according to an embodiment of the present disclosure.

FIG. 15 is a structural block diagram of another apparatus for coding a depth map according to an embodiment of the present disclosure.

FIG. 16 is a structural block diagram of a decoding apparatus according to an embodiment of the present disclosure.

DETAILED DESCRIPTION

The following clearly describes the technical solutions in the embodiments of the present disclosure with reference to the accompanying drawings in the embodiments of the present disclosure. Apparently, the described embodiments are merely some but not all of the embodiments of the present disclosure. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present disclosure without creative efforts shall fall within the protection scope of the present disclosure.

FIG. 1 is a schematic flowchart of a method for decoding a depth map according to an embodiment of the present disclosure.

101. Obtain a flag of SDC and determine to perform SDC decoding.

102. Determine a size of an image block and a maximum prediction size.

103. Determine an intra-frame prediction mode of the image block.

In an embodiment, a prediction mode that can be used when the SDC is performed on the image block may be any one of the following modes a direct current mode, a planar mode, and a DMM, where the DMM includes an explicit wedgelet mode, an intra-predicted wedgelet partitioning mode, an inter-component prediction of wedgelet partitioning mode, and an inter-component prediction of contour partitioning mode.

104. In a case in which the size of the image block is greater than the maximum prediction size, split the image block to obtain N split image blocks according to the size of the image block and the maximum prediction size, where a size of each of the N split image blocks is the same as the maximum prediction size.

105. Perform the SDC decoding on each of the N split image blocks using the intra-frame prediction mode.

According to the method shown in FIG. 1, when decoding is performed on an image block on which SDC is performed, a same intra-frame prediction mode can be adopted to decode N image blocks that belong to the image block. In this way, processing efficiency of reconstructing, by a decoder, an image block of a depth map on which SDC coding is performed can be improved.

FIG. 2 is a schematic flowchart of a method for decoding a depth map according to an embodiment of the present disclosure.

201. Obtain a flag of SDC and determine to perform SDC decoding.

202. Determine a size of an image block and a maximum prediction size.

203. Determine an intra-frame prediction mode of the image block.

In an embodiment, a prediction mode that can be used when the SDC is performed on the image block may be any one of the following modes a direct current mode, a planar mode, and a DMM, where the DMM includes an explicit wedgelet mode, an intra-predicted wedgelet partitioning mode, an inter-component prediction of wedgelet partitioning mode, and an inter-component prediction of contour partitioning mode.

204. In a case in which the size of the image block is greater than the maximum prediction size, split the image block to obtain N split image blocks according to the size of the image block and the maximum prediction size, where a size of each of the N split image blocks is the same as the maximum prediction size.

Optionally, it may be determined that N is a square of a ratio of the size of the image block to the maximum prediction size. For example, the size of the image block is 64, and the maximum prediction size is 32, in this case, the ratio between the two is 2, and a value of N is 4.

Optionally, during the splitting of the image block, the image block may also be split, in a recursive splitting manner, to obtain N prediction blocks. The image block is split to obtain split image blocks according to the size of the image block and the maximum prediction size. If a size of each of the split image blocks is the same as the maximum prediction size, the N split image blocks are obtained, or if a size of each of the split image blocks is greater than the maximum prediction size, the split image blocks continue to be split until the size of each of the split image blocks is the same as the maximum prediction size, and the N split image blocks are obtained.

In an embodiment, the size of the image block is compared with the maximum prediction size, and if the size of the image block is greater than the maximum prediction size, the image block is split into multiple image blocks of an equal size. Generally, the image block is split into four image blocks, where each of the split image blocks is half of the image block in width and height, or each of the split image blocks is the same as the image block in width and a quarter of the image block in height, or each of the split image blocks is the same as the image block in height and a quarter of the image block in width. Then a size of each of the multiple split image blocks is compared with the maximum prediction size, and if the size of the multiple split image blocks is greater than the maximum prediction size, the foregoing step is repeated, that is, each of the split image blocks is further split until a size of image blocks that are obtained by means of splitting is the same as the maximum prediction size, and the split image blocks whose size is the same as the maximum prediction size serve as image blocks that are used when the SDC is performed.

In the foregoing step, the size of the image block is obtained from a decoding process, and the maximum prediction size is obtained from a bitstream by decoding.

In addition, a prediction process of intra-frame coding is bound with a transform process of the intra-frame coding, and therefore intra-frame prediction may be performed based on a size of a transform block during the intra-frame prediction, that is, the size of the image block is consistent with the size of the transform block. Therefore, the size of the image block mentioned in the present disclosure may also be represented by the size of the transform block, and the maximum prediction size may also be represented by a maximum transform size. In an embodiment, it is supposed that log2TrafoSize is the size of the image block, and Log2MaxTrafoSize is the maximum prediction size, where both log2TrafoSize and Log2MaxTrafoSize are represented in a form of a logarithm of a block size, that is, the size of the image block equals 2 log2TrafoSize, and the maximum prediction size equals 2 Log2MaxTrafoSize. When 1 is subtracted from a value of log2TrafoSize or Log2MaxTrafoSize, it identifies that a corresponding block size is divided by 2. When log2TrafoSize is greater than Log2MaxTrafoSize, a current transform block is split into four transform blocks of a smaller size, where the size of each of the four transform blocks is log2TrafoSize−1, then the foregoing splitting is performed on each of the split transform blocks according to Log2MaxTrafoSize until it is determined that the value of log2TrafoSize equals the value of Log2MaxTrafoSize. In this case, the intra-frame prediction is performed based on Log2MaxTrafoSize.

It may be understood that other manners may also be adopted to split the image block to obtain the N split image blocks, and the size of each of the N split image blocks is the same as the maximum prediction size. All these methods for splitting an image block fall within the protection scope of the present disclosure.

205. Determine prediction data of each of the N image blocks using the intra-frame prediction mode that is used when the SDC is performed on the image block.

206. Repeatedly use a formula 2.1 until an average value of the prediction data of each of the N image blocks is determined.


PVi=PPixi[x,y]/sumOfPPix   2.1,

where

PVi is an average value of prediction data of the ith image block among the N image blocks, PPixi[x,y] is a pixel value in prediction data whose coordinates are [x,y] in the ith image block, and sumOfPPix is the number of pixels in the ith image block.

207. Obtain N residuals by means of decoding when the SDC decoding is performed on each of the N split image blocks.

In an embodiment, a coder codes a residual of the image block when performing the SDC coding and determines a data stream that includes the residual of the image block. In a case in which a decoder receives the data stream that includes the residual of the image block, the decoder decodes the data stream and determines a residual of each of the N image blocks that belong to the image block. It may be understood that step 207 may also be performed before step 206, which is not limited in the present disclosure.

208. Determine a reconstruction value of each of the N image blocks according to the average value of the prediction data of each of the N image blocks and the residual of each of the N image blocks, so as to complete performing the decoding on each of the N image blocks.

In an embodiment, a formula 2.2 may be repeatedly used until the reconstruction value of each of the N image blocks is determined.


Ri=PVi+Si  2.2, where

Ri is a reconstruction value of the ith image block among the N image blocks, PVi is prediction data of the ith image block among the N image blocks, and S′ is a residual of the ith image block among the N image blocks.

209. Reconstruct the image block according to a result of the decoding performed on each of the N image blocks. In an embodiment, determine, according to the reconstruction value of each of the N image blocks, a reconstructed image of the image block on which the SDC coding is performed.

It may be understood that step 204 to step 209 are performed in the case in which the size of the image block on which the SDC is performed is greater than the maximum prediction size. In a case in which the size of the image block on which the SDC is performed is less than or equal to the maximum prediction size, the decoder may directly use the intra-frame prediction mode to perform the SDC decoding on the image block.

According to the method shown in FIG. 2, when decoding is performed on an image block on which SDC is performed, a same intra-frame prediction mode can be adopted to decode N image blocks that belong to the image block. In this way, processing efficiency of reconstructing, by a decoder, an image block of a depth map on which SDC coding is performed can be improved.

FIG. 3 is a schematic flowchart of a method for coding a depth map according to an embodiment of the present disclosure.

301. Determine a size of an image block and a maximum prediction size, where the image block is an image block of a depth map on which SDC needs to be performed.

302. Determine an intra-frame prediction mode.

In an embodiment, a prediction mode that can be used may be any one of the following modes a direct current mode, a planar mode, and a DMM, where the DMM includes an explicit wedgelet mode, an intra-predicted wedgelet partitioning mode, an inter-component prediction of wedgelet partitioning mode, and an inter-component prediction of contour partitioning mode.

303. In a case in which the size of the image block is greater than the maximum prediction size, split the image block to obtain N split image blocks according to the size of the image block and the maximum prediction size, where a size of each of the N split image blocks is the same as the maximum prediction size.

304. Perform the SDC on each of the N split image blocks using the intra-frame prediction mode.

According to the method shown in FIG. 3, in the case in which the size of the image block is greater than the maximum prediction size, a same intra-frame prediction mode can be used to perform the SDC on each of the N split image blocks. In this way, efficiency of processing, by a coder, an image block of a depth map on which the SDC coding needs to be performed can be greatly improved.

FIG. 4 is a schematic flowchart of a method for coding a depth map according to an embodiment of the present disclosure. FIG. 4 is a specific embodiment of the method for coding a depth map in FIG. 3.

401. Determine a size of an image block of a depth map on which SDC needs to be performed and a maximum prediction size.

402. Determine an intra-frame prediction mode.

In an embodiment, a prediction mode that can be used may be any one of the following modes a direct current mode, a planar mode, and a DMM, where the DMM includes an explicit wedgelet mode, an intra-predicted wedgelet partitioning mode, an inter-component prediction of wedgelet partitioning mode, and an inter-component prediction of contour partitioning mode.

403. In a case in which the size of the image block is greater than the maximum prediction size, split the image block to obtain N split image blocks according to the size of the image block and the maximum prediction size, where a size of each of the N split image blocks is the same as the maximum prediction size.

During the splitting of the image block, the image block may be split, in a recursive splitting manner, to obtain N prediction blocks. The image block is split to obtain split image blocks according to the size of the image block and the maximum prediction size. If a size of each of the split image blocks is the same as the maximum prediction size, the N split image blocks are obtained, or if the size of each of the split image blocks is greater than the maximum prediction size, the split image blocks continue to be split until the size of each of the split image blocks is the same as the maximum prediction size, and the N split image blocks are obtained.

In the foregoing step, the size of the image block is obtained from a decoding process, and the maximum prediction size is obtained from a bitstream by decoding.

In an embodiment, the size of the image block is compared with the maximum prediction size, and if the size of the image block is greater than the maximum prediction size, the image block is split into multiple image blocks of an equal size. Generally, the image block is split into four image blocks, where each of the split image blocks is half of the image block in width and height, or each of the split image blocks is the same as the image block in width and a quarter of the image block in height, or each of the split image blocks is the same as the image block in height and a quarter of the image block in width. Then a size of each of the multiple split image blocks is compared with the maximum prediction size, and if the size of the multiple split image blocks is greater than the maximum prediction size, the foregoing step is repeated, that is, each of the split image blocks is further split until a size of image blocks that are obtained by means of splitting is the same as the maximum prediction size, and the split image blocks whose size is the same as the maximum prediction size serve as image blocks that are used when the SDC is performed.

In addition, a prediction process of intra-frame coding is bound with a transform process of the intra-frame coding, and therefore intra-frame prediction may be performed based on a size of a transform block during the intra-frame prediction, that is, the size of the image block is consistent with the size of the transform block. Therefore, the size of the image block mentioned in the present disclosure may also be represented by the size of the transform block, and the maximum prediction size may also be represented by a maximum transform size. In an embodiment, it is supposed that log2TrafoSize is the size of the image block, and Log2MaxTrafoSize is the maximum prediction size, where both log2TrafoSize and Log2MaxTrafoSize are represented in a form of a logarithm of a block size, that is, the size of the image block equals 2 log2TrafoSize, and the maximum prediction size equals 2 Log2MaxTrafoSize. When 1 is subtracted from a value of log2TrafoSize or Log2MaxTrafoSize, it identifies that a corresponding block size is divided by 2. When log2TrafoSize is greater than Log2MaxTrafoSize, a current transform block is split into four transform blocks of a smaller size, where the size of each of the four transform blocks is log2TrafoSize−1, then the foregoing splitting is performed on each of the split transform blocks according to Log2MaxTrafoSize until it is determined that the value of log2TrafoSize equals the value of Log2MaxTrafoSize. In this case, the intra-frame prediction is performed based on Log2MaxTrafoSize.

It may be understood that other manners may also be adopted to split the image block to obtain the N split image blocks, and the size of each of the N split image blocks is the same as the maximum prediction size. All these methods for splitting an image block fall within the protection scope of the present disclosure.

404. Determine prediction data of each of the N split image blocks using the intra-frame prediction mode.

In an embodiment, a same intra-frame prediction mode is used when a pixel value in the prediction data of each of the N split image blocks is determined, for example, the direct current mode is used, or the inter-component prediction of wedgelet partitioning mode, which is a DMM, is used.

405. Repeatedly use a formula 4.1 until an average value of the prediction data of each of the N split image blocks is determined.


PVi=ΣPPixi[x,y]/sumOfPPix  4.1,

where PVi is an average value of prediction data of the ith image block among the N split image blocks, PPix1 [x,y] is a pixel value in prediction data whose coordinates are [x,y] in the ith image block, and sumOfPPix is the number of pixels in the ith image block.

406. Repeatedly use a formula 4.2 until an average value of raw data of each of the N split image blocks is determined.


BVi=ΣBPixi[x,y]/sumOfBPix,   4.2,

where BVi is an average value of raw data of the ith image block among the N split image blocks, BPixi[x,y] is a pixel value in raw data whose coordinates are [x,y] in the ith image block, and sumOfBPix is the number of pixels in the ith image block.

407. Determine a residual of each of the N split image blocks according to the average value of the prediction data of each of the N split image blocks and the average value of the raw data of each of the N split image blocks.

In an embodiment, a formula 4.3 is repeatedly used until the residual of each of the N split image blocks is determined.


Si=PVi−BVi  4.3, where

Si is a residual of the ith image block among the N split image blocks, PVi is an average value of prediction data of the ith image block among the N split image blocks, and BVi is an average value of raw data of the ith image block among the N split image blocks.

408. Perform coding on each of the N split image blocks, so as to complete performing the SDC on each of the N split image blocks.

Further, a coder may further notify a decoder of the intra-frame prediction mode that is used when the SDC is performed.

It may be understood that step 403 to step 408 are performed in the case in which the size of the image block is greater than the maximum prediction size. If the size of the image block is less than or equal to the maximum prediction size, the coder may use the intra-frame prediction mode to perform the SDC on the image block.

According to the method shown in FIG. 4, in the case in which the size of the image block is greater than the maximum prediction size, a same intra-frame prediction mode can be used to perform the SDC on each of the N split image blocks. In this way, efficiency of processing, by a coder, an image block of a depth map on which the SDC coding needs to be performed can be greatly improved.

FIG. 5 is a schematic diagram of a method for coding and decoding a depth map according to an embodiment of the present disclosure.

As shown in FIG. 5, SDC needs to be performed on an image block 500. A size of the image block 500 is 64×64p, where p represents pixel (Pix). A maximum prediction size is 32×32p. In this case, the image block 500 may be split into four image blocks, 501, 502, 503, and 504. According to the formula 4.1, formula 4.2, and formula 4.3, it may be calculated that average values of prediction data of 501, 502, 503, and 504 is PV1, PV2, PV3, and PV4 respectively, average values of P1, P2, P3, and P4 are BV1, BV2, BV3, and respectively, and residuals of 501, 502, 503, and 504 are S1, S2, S3, and S4 respectively. Then S1, S2, S3 and S4 are coded, so as to complete a process of performing the SDC on the image block 500.

Accordingly, when decoding is performed on the image block 500 on which the SDC coding is performed, a decoder may calculate, according to the formula 2.1 and formula 2.2, that the prediction data of 501, 502, 503, and 504 is PV1, PV2, PV3, and PV4 respectively, and reconstruction values of 501, 502, 503, and 504 are R1, R2, R3, and R4 respectively. In this way, the decoder may determine a reconstructed image block 500 according to the reconstruction values, that is, a SDC decoding process is completed.

FIG. 6 is a schematic flowchart of another method for decoding a depth map according to an embodiment of the present disclosure.

601. Determine a size of an image block and a maximum prediction size.

602. In a case in which the size of the image block is greater than the maximum prediction size, determine that a signaling bit has N bit, and determine, according to the signaling bit, an intra-frame prediction mode that is used when SDC is performed on the image block. For example, in a case in which a decoder determines that the signaling bit has 1 bit, if the signaling bit is 0, the decoder may determine that a direct current mode is used when the SDC is performed on the image block, if the signaling bit is 1, the decoder may determine that a planar mode is used when the SDC is performed on the image block.

603. In a case in which the size of the image block is less than or equal to the maximum prediction size, determine that signaling bits have M bits, and determine, according to the signaling bits, that a mode that is used when the SDC is performed on the image block is the direct current mode or the planar mode, where a value of M is greater than that of N, and both M and N are positive integers. For example, in the case in which the size of the image block is less than or equal to the maximum prediction size, it is determined that 2 bits are used as signaling bits that identify a selected mode. For example, if the signaling bits are 00, the decoder may determine that the intra-frame prediction mode that is used when the SDC is performed on the image block is the direct current mode. If the signaling bits are 10, the decoder may determine that the intra-frame prediction mode that is used when the SDC is performed on the image block is the planar mode. If the signaling bits are 11, the decoder may determine that the intra-frame prediction mode that is used when the SDC is performed on the image block is an explicit identifier-based wedgelet mode, which is a DMM.

It may be understood that the intra-frame prediction mode may be the planar mode or the direct current mode or the DMM.

In the foregoing example, if there are only two candidate modes, such as the planar mode and the explicit identifier-based wedgelet mode, in the case in which the size of the image block is greater than the maximum prediction size, a value of N in the N bits is 0, that is, the decoder may determine, without a need of an identifier, the intra-frame prediction mode that is used in the SDC, such as the planar mode. In the case in which the size of the image block is less than or equal to the maximum prediction size, a value of M in the M bits is 1, the intra-frame prediction mode that is used in the SDC is determined according to the value of M, for example, 0 indicates that the explicit identifier-based wedgelet mode is used, and 1 indicates that the planar mode is used.

In arithmetic coding (Arithmetic Coding), all syntax elements are coded in a form of a binary symbol, for example, in the foregoing example, in the case in which the size of the image block is less than or equal to the maximum prediction size, “the signaling bits being 10” indicates the planar mode, and in this case, the signaling bits “10” are a binary symbol of the arithmetic coding.

Apparently, another embodiment of the present disclosure may further provide a method for decoding a depth map, where the method includes determining a size of an image block and a maximum prediction size, in a case in which the size of the image block is greater than the maximum prediction size, determining an intra-frame prediction mode that is used when the SDC is performed on the image block, and in a case in which the size of the image block is less than or equal to the maximum prediction size, determining that signaling bits have M bits, and determining, according to the signaling bits, an intra-frame prediction mode that is used when the SDC is performed on the image block.

Optionally, the intra-frame prediction mode is a direct current mode or a planar mode or a depth modeling mode DMM.

A person skilled in the art may clearly learn from the foregoing implementation manner that in the case in which the size of the image block is greater than the maximum prediction size, the implementation manner of determining that the signaling bit has N bit and determining, according to the signaling bit, the intra-frame prediction mode that is used when the SDC is performed on the image block is not mandatory, and in the case in which the size of the image block is greater than the maximum prediction size, the intra-frame prediction mode that is used when the SDC is performed on the image block may be directly determined. The scope described in this embodiment of the present disclosure is still included in the protection scope of the specific implementation manner shown in FIG. 6.

Accordingly, another embodiment of the present disclosure may further provide an apparatus for decoding a depth map, where the decoding apparatus includes a determining unit, configured to determine a size of an image block and a maximum prediction size, and a decoding unit, configured to, in a case in which the size of the image block is greater than the maximum prediction size, determine an intra-frame prediction mode that is used when the SDC is performed on the image block, and in a case in which the size of the image block is less than or equal to the maximum prediction size, determine that signaling bits have M bits, and determine, according to the signaling bits, an intra-frame prediction mode that is used when the SDC is performed on the image block.

Optionally, the intra-frame prediction mode is a direct current mode or a planar mode or a depth modeling mode DMM.

According to the method shown in FIG. 6, when a decoder performs SDC decoding, the number of bits of signaling bits that are used to identify an intra-frame prediction mode can be reduced, thereby achieving objectives of reducing resources and accelerating decoding.

FIG. 7 is a schematic flowchart of another method for coding a depth map according to an embodiment of the present disclosure.

701. Determine a size of an image block and a maximum prediction size.

702. Select an intra-frame prediction mode.

In an embodiment, the intra-frame prediction mode may be a direct current mode or a planar mode or a DMM.

703. In a case in which the size of the image block is greater than the maximum prediction size, determine, when SDC is performed on the image block, that N bit is used as a signaling bit that identifies the intra-frame prediction mode.

In an embodiment, the signaling bit being 0 indicates that the intra-frame prediction mode that is used when the SDC is performed on the image block is the direct current mode. The signaling bit being 1 indicates that the intra-frame prediction mode that is used when the SDC is performed on the image block is the planar mode.

704. In a case in which the size of the image block is less than or equal to the maximum prediction size, determine, when the SDC is performed on the image block, that M bits are used as signaling bits that identify the intra-frame prediction mode, where a value of M is greater than that of N, and both M and N are positive integers.

In an embodiment, it is determined that 2 bits are used as the signaling bits that identify the selected mode. For example, the signaling bits being 00 indicates that the intra-frame prediction mode that is used when the SDC is performed on the image block is the direct current mode. The signaling bits being 10 indicates that the intra-frame prediction mode that is used when the SDC is performed on the image block is the planar mode. The signaling bits being 11 indicates that the intra-frame prediction mode that is used when the SDC is performed on the image block is the explicit identifier-based wedgelet mode, which is a DMM.

Optionally, as another embodiment, in a case in which it is determined that the size of the image block is greater than the maximum prediction size of intra-frame prediction, a coder does not use the SDC mode to perform coding on the image block of the depth map. Accordingly, a decoder does not use the SDC mode to perform decoding on the image block of the depth map either.

According to the method shown in FIG. 7, when a coder performs SDC coding, the number of bits of signaling bits that are used to identify an intra-frame prediction mode can be reduced, thereby achieving an objective of reducing resources.

FIG. 8 is a structural block diagram of an apparatus for decoding a depth map according to an embodiment of the present disclosure. The decoding apparatus 800 shown in FIG. 8 may perform each step shown in FIG. 1 or FIG. 2, and the decoding apparatus 800 includes a determining unit 801, a decoding unit 802, and a reconstructing unit 803.

The determining unit 801 is configured to determine, according to a flag of SDC, to perform SDC decoding.

The determining unit 801 is further configured to determine a size of an image block and a maximum prediction size.

The determining unit 801 is further configured to determine an intra-frame prediction mode that is used when SDC is performed on the image block.

The determining unit 801 is further configured to split the image block to obtain N split image blocks according to the size of the image block and the maximum prediction size when the size of the image block is greater than the maximum prediction size, where a size of each of the N split image blocks is the same as the maximum prediction size.

The decoding unit 802 is configured to perform the SDC decoding on each of the N split image blocks using the intra-frame prediction mode.

The reconstructing unit 803 is configured to reconstruct the image block according to a result of the decoding performed on each of the N image blocks.

As shown in FIG. 8, when the decoding apparatus 800 decodes an image block on which SDC is performed, a same intra-frame prediction mode can be adopted to decode N image blocks that belong to the image block. In this way, processing efficiency of reconstructing, by the decoding apparatus 800, an image block of a depth map on which SDC coding is performed can be improved.

In an embodiment, the determining unit 801 is configured to split the image block to obtain split image blocks according to the size of the image block and the maximum prediction size, where if a size of each of the split image blocks is the same as the maximum prediction size, the N split image blocks are obtained, or if the size of each of the split image blocks is greater than the maximum prediction size, continue to split the split image blocks until the size of each of the split image blocks is the same as the maximum prediction size, and the N split image blocks are obtained.

In an embodiment, the decoding unit 802 is configured to obtain N residuals by means of decoding when performing the SDC decoding on each of the N split image blocks.

In an embodiment, the decoding unit 802 is configured to determine an average value of prediction data of each of the N image blocks and determine a residual of each of the N image blocks using the intra-frame prediction mode that is used when the SDC is performed on the image block, and determine a reconstruction value of each of the N image blocks according to the average value of the prediction data of each of the N image blocks and the residual of each of the N image blocks, so as to complete performing the decoding on performed on each of the N image blocks.

In an embodiment, the decoding unit 802 is configured to determine the prediction data of each of the N image blocks using the intra-frame prediction mode that is used when the SDC is performed on the image block, and determine the average value of the prediction data of each of the N image blocks using the following formula, PVi=ΣPPixi[x,y]/sumOfPPix where PVi is an average value of prediction data of the ith image block among the N image blocks, PPixi[x,y] is a pixel value in prediction data whose coordinates are [x,y] in the ith image block, and sumOfPPix is the number of pixels in the ith image block.

In an embodiment, the decoding unit 802 is configured to determine the reconstruction value of each of the N image blocks using the following formula Ri=PVi+Si, where Ri is a reconstruction value of the ith image block among the N image blocks, PVi is an average value of prediction data of the ith image block among the N image blocks, and Si is a residual of the ith image block among the N image blocks.

FIG. 9 is a structural block diagram of an apparatus for coding a depth map according to an embodiment of the present disclosure. The coding apparatus 900 shown in FIG. 9 may perform each step in FIG. 3 or FIG. 4, and the coding apparatus 900 includes a determining unit 901 and a coding unit 902.

The determining unit 901 is configured to determine a size of an image block and a maximum prediction size.

The determining unit 901 is further configured to determine an intra-frame prediction mode.

The determining unit 901 is further configured to split the image block to obtain N split image blocks according to the size of the image block and the maximum prediction size when the size of the image block is greater than the maximum prediction size, where a size of each of the N split image blocks is the same as the maximum prediction size.

The coding unit 902 is configured to perform SDC on each of the N split image blocks using the intra-frame prediction mode.

As shown in FIG. 9, in a case in which the size of the image block is greater than the maximum prediction size, the coding apparatus 900 may perform the SDC on each of the N split image blocks using a same intra-frame prediction mode. In this way, efficiency of processing, by the coding apparatus 900, an image block of a depth map on which the SDC coding needs to be performed can be greatly improved.

Optionally, the determining unit 901 is configured to split, in a recursive splitting manner, the image block to obtain the N split image blocks according to the size of the image block and the maximum prediction size.

In an embodiment, the coding unit 902 is configured to determine an average value of prediction data of each of the N split image blocks and determine an average value of raw data of each of the N split image blocks using the intra-frame prediction mode, determine a residual of each of the N split image blocks according to the average value of the prediction data of each of the N split image blocks and the average value of the raw data of each of the N split image blocks, and code the residual of each of the N split image blocks, so as to complete performing simplified depth coding SDC on each of the N split image blocks.

In an embodiment, the coding unit 902 is configured to determine a pixel value in the prediction data of each of the N split image blocks using the intra-frame prediction mode, and determine the average value of the prediction data of each of the N split image blocks using the following formula, PVi=ΣPPixi[x,y]/sumOfPPix, where PVi is an average value of prediction data of the ith image block among the N split image blocks, PPixi[x,y] is a pixel value in prediction data whose coordinates are [x,y] in the ith image block, and sumOfPPix is the number of pixels in the ith image block.

In an embodiment, the coding unit 902 is configured to determine the average value of the raw data of each of the N split image blocks using the following formula, BVi=ΣBPixi[x,y]/sunmOfBPix, where BVi is an average value of raw data of the ith image block among the N split image blocks, BPix [x,y] is a pixel value in raw data whose coordinates are [x,y] in the ith image block, and sumOfBPix is the number of pixels in the ith image block.

In an embodiment, the coding unit is configured to determine the residual of each of the N split image blocks using the following formula, Si=PVi−BVi where Si is a residual of the ith image block among the N split image blocks, PVi is an average value of prediction data of the ith image block among the N image blocks, and BVi is an average value of raw data of the ith image block among the N image blocks.

Optionally, the determining unit 901 is further configured to determine the intra-frame prediction mode when the size of the image block is less than or equal to the maximum prediction size. The coding unit 902 is further configured to perform the SDC on the image block according to the intra-frame prediction mode.

FIG. 10 is a structural block diagram of another apparatus for decoding a depth map according to an embodiment of the present disclosure. As shown in FIG. 10, the decoding apparatus 1000 includes a determining unit 1001 and a decoding unit 1002.

The determining unit 1001 is configured to determine a size of an image block and a maximum prediction size.

The decoding unit 1002 is configured to, in a case in which the size of the image block is greater than the maximum prediction size, determine that a signaling bit has N bit, and determine, according to the signaling bit, an intra-frame prediction mode that is used when SDC is performed on the image block.

The decoding unit 1002 is further configured to, in a case in which the size of the image block is less than or equal to the maximum prediction size, determine that the signaling bits have M bits, and determine, according to the signaling bits, that a mode that is used when the SDC is performed on the image block is a direct current mode or a planar mode, where a value of M is greater than or equal to N, and both M and N are positive integers.

As shown in FIG. 10, when the decoding apparatus 1000 performs SDC decoding, the number of bits of signaling bits that are used to identify an intra-frame prediction mode can be reduced, thereby achieving objectives of reducing resources and accelerating decoding.

FIG. 11 is a structural block diagram of another apparatus for coding a depth map according to an embodiment of the present disclosure. As shown in FIG. 11, the coding apparatus 1100 includes a determining unit 1101 and a coding unit 1102.

The determining unit 1101 is configured to determine a size of an image block and a maximum prediction size.

The coding unit 1102 is configured to select an intra-frame prediction mode.

The coding unit 1102 is further configured to, in a case in which the size of the image block is greater than the maximum prediction size, determine, when SDC is performed on the image block, that N bit is used as a signaling bit that identifies the intra-frame prediction mode.

The coding unit 1102 is further configured to, in a case in which the size of the image block is less than or equal to the maximum prediction size, determine, when the SDC is performed on the image block, that M bits are used as signaling bits that identify the intra-frame prediction mode.

As shown in FIG. 11, when the coding apparatus 1100 performs SDC coding, the number of bits of signaling bits that are used to identify an intra-frame prediction mode can be reduced, thereby achieving an objective of reducing resources.

FIG. 12 is a structural block diagram of an apparatus for decoding a depth map according to an embodiment of the present disclosure. The decoding apparatus 1200 may perform each step of the decoding method in FIG. 1 or FIG. 2. The decoding apparatus 1200 shown in FIG. 12 may perform each step in FIG. 1 or FIG. 2, and the decoding apparatus 1200 includes a memory 1201 and a processor 1202.

The memory 1201 is configured to store a decoding algorithm of a depth map so that the processor 1202 performs SDC decoding on the depth map according to the decoding algorithm.

The processor 1202 is configured to determine, according to a flag of SDC, to perform the SDC decoding.

The processor 1202 is further configured to determine a size of an image block and a maximum prediction size.

The processor 1202 is further configured to determine an intra-frame prediction mode that is used when SDC is performed on the image block.

The processor 1202 is further configured to split the image block to obtain N split image blocks according to the size of the image block and the maximum prediction size in a case in which the size of the image block is greater than the maximum prediction size, where a size of each of the N split image blocks is the same as the maximum prediction size.

The processor 1202 is further configured to perform the SDC decoding on each of the N split image blocks using the intra-frame prediction mode.

The processor 1202 is configured to reconstruct the image block according to a result of the decoding performed on each of the N image blocks.

As shown in FIG. 12, when the decoding apparatus 1200 performs decoding on an image block on which SDC is performed, a same intra-frame prediction mode can be adopted to decode N image blocks that belong to the image block. In this way, processing efficiency of reconstructing, by the decoding apparatus 1200, an image block of a depth map on which SDC coding is performed can be improved.

In an embodiment, the processor 1202 is configured to split the image block to obtain split image blocks according to the size of the image block and the maximum prediction size, where if a size of each of the split image blocks is the same as the maximum prediction size, the N split image blocks are obtained, or if the size of each of the split image blocks is greater than the maximum prediction size, continue to split the split image blocks until the size of each of the split image blocks is the same as the maximum prediction size, and the N split image blocks are obtained.

In an embodiment, the processor 1202 is configured to determine an average value of prediction data of each of the N image blocks and determine a residual of each of the N image blocks using the intra-frame prediction mode that is used when the SDC is performed on the image block, and determine a reconstruction value of each of the N image blocks according to the average value of the prediction data of each of the N image blocks and the residual of each of the N image blocks, so as to complete performing the decoding on performed on each of the N image blocks.

In an embodiment, the processor 1202 is configured to determine the prediction data of each of the N image blocks using the intra-frame prediction mode that is used when the SDC is performed on the image block, and determine the average value of the prediction data of each of the N image blocks using the following formula, PVi=ΣPPixi[x,y]/sumOfPPix, where PVi is an average value of prediction data of the ith image block among the N image blocks, PPixi[x,y] is a pixel value in prediction data whose coordinates are [x,y] in the ith image block, and sumOfPPix is the number of pixels in the ith image block.

In an embodiment, the processor 1202 is configured to determine the reconstruction value of each of the N image blocks using the following formula, Ri=PVi+Si, where Ri is a reconstruction value of the ith image block among the N image blocks, PVi is an average value of prediction data of the ith image block among the N image blocks, and Si is a residual of the ith image block among the N image blocks.

FIG. 13 is a structural block diagram of an apparatus for coding a depth map according to an embodiment of the present disclosure. The coding apparatus 1300 may perform each step of the coding method in FIG. 3 or FIG. 4. The coding apparatus 1300 shown in FIG. 13 may perform each step in FIG. 3 or FIG. 4, and the coding apparatus 1300 includes a memory 1301 and a processor 1302.

The memory 1301 is configured to store a coding algorithm of a depth map so that the processor performs SDC according to the algorithm.

The processor 1302 is configured to determine a size of an image block and a maximum prediction size.

The processor 1302 is further configured to determine an intra-frame prediction mode.

The processor 1302 is further configured to split the image block to obtain N split image blocks according to the size of the image block and the maximum prediction size when the size of the image block is greater than the maximum prediction size, where a size of each of the N split image blocks is the same as the maximum prediction size.

The processor 1302 is configured to perform the SDC on each of the N split image blocks using the intra-frame prediction mode.

As shown in FIG. 13, in a case in which the size of the image block is greater than the maximum prediction size, the coding apparatus 1300 may perform the SDC on each of the N split image blocks using a same intra-frame prediction mode. In this way, efficiency of processing, by the coding apparatus 1300, an image block of a depth map on which the SDC coding needs to be performed can be greatly improved.

Optionally, the processor 1302 is configured to split, in a recursive splitting manner, the image block to obtain the N split image blocks according to the size of the image block and the maximum prediction size.

In an embodiment, the processor 1302 is configured to determine an average value of prediction data of each of the N split image blocks and determine an average value of raw data of each of the N split image blocks using the intra-frame prediction mode, determine a residual of each of the N split image blocks according to the average value of the prediction data of each of the N split image blocks and the average value of the raw data of each of the N split image blocks, and code the residual of each of the N split image blocks, so as to complete performing simplified depth coding SDC on each of the N split image blocks.

In an embodiment, the processor 1302 is configured to determine a pixel value in the prediction data of each of the N split image blocks using the intra-frame prediction mode, and determine the average value of the prediction data of each of the N split image blocks using the following formula, PVi=ΣPPixi[x,y]/sumOfPPix, where PVi is an average value of prediction data of the ith image block among the N split image blocks, PPixi[x,y] is a pixel value in prediction data whose coordinates are [x,y] in the ith image block, and sumOfPPix is the number of pixels in the ith image block.

In an embodiment, the processor 1302 is configured to determine the average value of the raw data of each of the N split image blocks using the following formula, BVi=ΣBPixi[x,y]/sunmOfBPix, where BV is an average value of raw data of the ith image block among the N split image blocks, BPixxi[x,y] is a pixel value in raw data whose coordinates are [x,y] in the ith image block, and sumOfBPix is the number of pixels in the ith image block.

In an embodiment, the coding unit is configured to determine the residual of each of the N split image blocks using the following formula, Si=PVi−BVi, where Si is a residual of the ith image block among the N split image blocks, PVi is an average value of prediction data of the ith image block among the N image blocks, and BVi is an average value of raw data of the ith image block among the N image blocks.

Optionally, the processor 1302 is further configured to determine the intra-frame prediction mode when the size of the image block is less than or equal to the maximum prediction size. The processor 1302 is further configured to perform the SDC on the image block according to the intra-frame prediction mode.

FIG. 14 is a structural block diagram of another apparatus for decoding a depth map according to an embodiment of the present disclosure. The decoding apparatus 1400 may perform each step of the decoding method in FIG. 6. As shown in FIG. 14, the decoding apparatus 1400 includes a memory 1401 and a processor 1402.

The memory 1401 is configured to store a decoding algorithm of a depth map so that the processor 1402 performs SDC decoding on the depth map according to the decoding algorithm.

The processor 1402 is configured to determine a size of an image block and a maximum prediction size.

The processor 1402 is further configured to, in a case in which the size of the image block is greater than the maximum prediction size, determine that a signaling bit has N bit, and determine, according to the signaling bit, an intra-frame prediction mode that is used when SDC is performed on the image block.

The processor 1402 is further configured to, in a case in which the size of the image block is less than or equal to the maximum prediction size, determine that the signaling bits have M bits, and determine, according to the signaling bits, that a mode that is used when the SDC is performed on the image block is a direct current mode or a planar mode, where a value of M is greater than or equal to N, and both M and N are positive integers.

As shown in FIG. 14, when the decoding apparatus 1400 performs SDC decoding, the number of bits of signaling bits that are used to identify an intra-frame prediction mode can be reduced, thereby achieving objectives of reducing resources and accelerating decoding.

FIG. 15 is a structural block diagram of another apparatus for coding a depth map according to an embodiment of the present disclosure. The coding apparatus 1500 may perform each step of the coding method in FIG. 7. As shown in FIG. 15, the coding apparatus 1500 includes a memory 1501 and a processor 1502.

The memory 1501 is configured to store a coding algorithm of a depth map so that the processor 1502 performs SDC on the depth map according to the coding algorithm.

The processor 1502 is configured to determine a size of an image block and a maximum prediction size.

The processor 1502 is further configured to determine an intra-frame prediction mode.

The processor 1502 is further configured to, in a case in which the size of the image block is greater than the maximum prediction size, determine, when SDC is performed on the image block, that N bit is used as a signaling bit that identifies the intra-frame prediction mode.

The coding unit 1502 is further configured to, in a case in which the size of the image block is less than or equal to the maximum prediction size, determine, when the SDC is performed on the image block, that M bits are used as signaling bits that identify the intra-frame prediction mode.

As shown in FIG. 15, when the coding apparatus 1500 performs SDC coding, the number of bits of signaling bits that are used to identify an intra-frame prediction mode can be reduced, thereby achieving an objective of reducing resources.

FIG. 16 is a structural block diagram of a decoding apparatus according to an embodiment of the present disclosure. The decoding apparatus 1600 may perform each step of the decoding method in FIG. 1 or FIG. 2. The decoding apparatus 1600 includes an entropy decoding unit 1601, an inverse scanning unit 1602, a dequantization unit 1603, an inverse transformation unit 1604, a prediction unit 1605, a combination unit 1606, and a frame storage component 1607.

The decoding apparatus 1600 may be located in a handheld terminal device such as a mobile phone and a tablet computer, and a wearable terminal device with a video playing function, and may also be located in an apparatus such as a notebook computer, a desktop computer, and a media processing function node on a communications network.

When a bitstream generated by a coder passes through the entropy decoding unit 1601, the entropy decoding unit 1601 performs entropy decoding processing on the bitstream and obtains a group of reconstruction values of prediction errors and header information (including motion information), where the group of the reconstruction values of the prediction errors may be considered as a 1-dimensional coefficient vector, then the 1-dimensional coefficient vector passes through the inverse scanning unit 1602, and the inverse scanning 1602 performs inverse scanning processing to obtain a 2-dimensional coefficient block, the 2-dimensional coefficient block undergoes dequantization processing of the dequantization unit 1603 and inverse transformation processing of the inverse transformation unit 1604, and a prediction error of a target area is obtained, and the header information undergoes processing of the prediction unit 1605, and final prediction value of the target area is obtained.

For the foregoing processing process, refer to the method for decoding a depth map provided in the embodiments of the present disclosure. The combination unit 1606 combines the prediction error and the final prediction value to obtain a reconstructed block, and the reconstructed block is stored by the frame storage component 1607, may be displayed on a display of an apparatus such as the mobile phone and the notebook computer during video playing, and may also assist in determining of the final prediction value when the prediction unit 1605 subsequently processes the header information.

Specially, in this embodiment of the present disclosure, the functions of the decoding unit 802 in FIG. 8 may be implemented by the entropy decoding unit 1601 of the decoding apparatus 1600, and all the functions of the determining unit 801 may be implemented by the prediction unit 1605 of the decoding apparatus 1600.

A person of ordinary skill in the art may be aware that, in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of the present disclosure.

It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, reference may be made to a corresponding process in the foregoing method embodiments, and details are not described herein again.

In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely exemplary. For example, the unit division is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.

The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.

In addition, functional units in the embodiments of the present disclosure may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.

When the functions are implemented in the form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of the present disclosure essentially, or a part of the technical solutions may be implemented in a form of a software product. The software product is stored in a storage medium and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) or a processor to perform all or a part of the steps of the methods described in the embodiments of the present disclosure. The foregoing storage medium includes any medium that can store program code, such as a Universal Serial Bus (USB) flash drive, a removable hard disk, a read-only memory (ROM), a random-access memory (RAM), a magnetic disk, or an optical disc.

The foregoing descriptions are merely specific embodiments of the present disclosure, but are not intended to limit the protection scope of the present disclosure. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in the present disclosure shall fall within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure shall be subject to the protection scope of the claims.

Claims

1. A method for simplified depth decoding, comprising:

obtaining a flag of simplified depth coding (SDC), wherein a value of the flag indicates that SDC decoding is used for an image block;
determining an intra prediction mode of the image block;
splitting the image block to obtain N split image blocks when a size of the image block is greater than a maximum prediction size, wherein a size of each of the N split image blocks is the same as the maximum prediction size;
obtaining a residual when performing the SDC decoding on an ith split image block of the N split image blocks;
obtaining prediction data of the ith split image block using the intra prediction mode that is used when the SDC is performed on the image block;
determining an average value of the prediction data based on a plurality of pixel values in the prediction data and a number of pixels in the ith split image block; and
determining a reconstruction value of the ith split image block according to the average value of the prediction data and the residual to perform the SDC decoding on the ith split image block.

2. The method of claim 1, wherein the intra prediction mode is a depth modeling mode (DMM), a planar mode, or a direct current mode.

3. The method of claim 1, wherein splitting the image block to obtain the N split image blocks comprises:

splitting the image block to obtain split image blocks according to the size of the image block and the maximum prediction size;
obtaining the N split image blocks when a size of the split image blocks is the same as the maximum prediction size; and
further splitting the split image blocks until the size of the split image blocks is the same as the maximum prediction size when a size of the split image blocks is greater than the maximum prediction size to obtain the N split image.

4. The method of claim 1, wherein the average value of the prediction data of the ith split image block is determined based on the following formula:

PVi=ΣPPixi[x,y]/sumOfPPix,
wherein PVi is the average value of the prediction data of the ith split image block, PPixi[x,y] is a pixel value in the prediction data with coordinates that are [x,y] in the ith split image block, and sumOfPPix is the number of pixels in the ith split image block.

5. The method of claim 1, wherein the reconstruction value of the ith split image block is determined based on the following formula: wherein Ri is the reconstruction value of the ith split image block, PVi is the average value of the prediction data of the ith split image block, and Si is a residual of the ith split image block among the N split image blocks.

Ri=PVi+Si

6. A method for simplified depth coding (SDC), comprising:

determining an intra prediction mode of the image block;
splitting the image block to obtain N split image blocks when a size of the image block is greater than a maximum prediction size, wherein a size of the N split image blocks is the same as the maximum prediction size; and
determining prediction data of an ith split image block of the N split image blocks using the intra prediction mode;
determining an average value of the prediction data based on a plurality of pixel values in the prediction data of the ith split image block and a number of pixels in the ith split image block;
determining an average value of raw data of the ith split image block;
determining a residual of the ith split image block according to the average value of the prediction data and the average value of the raw data; and
coding the residual of the ith split image block to perform SDC on the ith split image block.

7. The method of claim 6, wherein the-intra prediction mode is a depth modeling mode (DMM), a planar mode, or a direct current mode.

8. The method of claim 6, wherein splitting the image block to obtain N split image blocks comprises:

splitting the image block to obtain split image blocks according to the size of the image block and the maximum prediction size;
obtaining the N split image blocks when a size of the split image blocks is the same as the maximum prediction size; and
further splitting the split image blocks until the size of the split image blocks is the same as the maximum prediction size when a size of the split image blocks is greater than the maximum prediction size to obtain the N split image.

9. The method of claim 6, wherein the average value of the prediction data is determined based on the following formula: wherein PVi is the average value of the prediction data of the ith split image block, PPixi[x,y] is a pixel value in the prediction data with coordinates that are [x,y] in the ith split image block, and sumOfPPix is the number of pixels in the ith split image block.

PVi=ΣPPixi[x,y]/sumOfPPix,

10. The method of claim 6, wherein the average value of the raw data is determined based on the following formula: wherein BVi is the average value of raw data of the ith split image block, BPixi[x,y] is a pixel value in the raw data with coordinates that are [x,y] in the ith split image block, and sumOfBPix is the number of pixels in the ith split image block.

BVi=ΣBPixi[x,y]/sumOfBPix,

11. The method of claim 6, wherein the residual of the ith split image block is determined based on the following formula: wherein Si is the residual of the ith split image block, PVi is the average value of the prediction data, and BVi is the average value of raw data.

Si=PVi−BVi,

12. The method of claim 6, further comprising performing SDC on the image block according to the intra prediction mode when the size of the image block is less than or equal to the maximum prediction size.

13. A decoding apparatus comprising:

a memory storing instructions; and
a processor configured to execute the instructions to: determine to use simplified depth coding (SDC) decoding according to a flag of SDC; determine an intra prediction mode that is used when SDC is performed on the image block; split the image block to obtain N split image blocks when a size of the image block is greater than a maximum prediction size, wherein a size of the N split image blocks is the same as the maximum prediction size and the N split image blocks are all transform blocks; obtain a residual when performing the SDC decoding on an ith split image block of the N split image blocks; obtain prediction data of the ith split image block by using the intra prediction mode that is used when the SDC is performed on the image block; determine an average value of the prediction data based on a plurality of pixel values in the prediction data and a number of pixels in the ith split image block; and determine a reconstruction value of the ith split image block according to the average value of the prediction data and the residual to perform the SDC decoding on the ith split image block.

14. The decoding apparatus of claim 13, wherein the processor is further configured to execute the instructions to:

split the image block to obtain split image blocks according to the size of the image block and the maximum prediction size;
obtain the N split image blocks when a size of the split image blocks is the same as the maximum prediction size; and
further split the split image blocks until the size of the split image blocks is the same as the maximum prediction size when a size of the split image blocks is greater than the maximum prediction size to obtain the N split image blocks.

15. The decoding apparatus of claim 13, wherein the processor is further configured to execute the instructions to determine the average value of the prediction data based on the following formula: wherein PVi is the average value of the prediction data, PPixi[x,y] is a pixel value in the prediction data with coordinates that are [x,y] in the ith split image block, and sumOfPPix is the number of pixels in the ith split image block.

PVi=ΣPPixi[x,y]/sumOfPPix,

16. The decoding apparatus of claim 13, wherein the processor is further configured to execute the instructions to determine the reconstruction value of the ith split image block based on the following formula:

Ri=PVi+Si,
wherein Ri is the reconstruction value of the ith split image block, PVi is the average value of the prediction data, and Si is a residual of the ith split image block among the N split image blocks.

17. A coding apparatus for simplified depth coding (SDC), comprising:

a memory storing instructions; and
a processor configured to execute the instructions to: determine an intra prediction mode of the image block; split the image block to obtain N split image blocks when a size of the image block is greater than a maximum prediction size, wherein a size of the N split image blocks is the same as the maximum prediction size; determine prediction data of an ith split image block of the N split image blocks using the intra prediction mode; determine an average value of the prediction data based on a plurality of pixel values in the prediction data of the ith split image block and a number of pixels in the ith split image block; determine an average value of raw data of the ith split image block; determine a residual of the ith split image block according to the average value of the prediction data and the average value of the raw data; and code the residual of the ith split image block to perform SDC on the ith split image block.

18. The coding apparatus of claim 17, wherein the processor is further configured to execute the instructions to:

split the image block to obtain split image blocks according to the size of the image block and the maximum prediction size;
obtain the N split image blocks when a size of the split image blocks is the same as the maximum prediction size; and
further split the split image blocks until the size of the split image blocks is the same as the maximum prediction size when a size of the split image blocks is greater than the maximum prediction size to obtain the N split image blocks.

19. The coding apparatus according to claim 17, wherein the processor is further configured to execute the instructions to determine the average value of the prediction data of the ith split image block based on the following formula: wherein PVi is the average value of the prediction data, PPixi[x,y] is a pixel value in the prediction data with coordinates that are [x,y] in the ith split image block, and sumOfPPix is the number of pixels in the ith split image block.

PVi=ΣPPixi[x,y]/sumOfPPix,

20. The coding apparatus according to claim 17, wherein the processor is further configured to execute the instructions to determine the average value of the raw data of the ith split image block based on the following formula: wherein BVi is the average value of raw data, BPixi[x,y] is a pixel value in the raw data with coordinates that are [x,y] in the ith split image block, and sumOfBPix is the number of pixels in the ith split image block.

BVi=ΣBPixi[x,y]/sumOfBPix,

21. The coding apparatus according to claim 17, wherein the processor is further configured to execute the instructions to determine the residual of the ith split image block based on the following formula: wherein Si is the residual of the ith split image block, PVi is the average value of the prediction data, and BVi is the average value of raw data.

Si=PVi−BVi,

22. The coding apparatus according to claim 17, wherein the instructions further cause the processor to be configured to perform SDC on the image block according to the intra prediction mode when the size of the image block is less than or equal to the maximum prediction size.

Patent History
Publication number: 20200260117
Type: Application
Filed: Apr 30, 2020
Publication Date: Aug 13, 2020
Inventor: Xiaozhen Zheng (Shenzhen)
Application Number: 16/863,462
Classifications
International Classification: H04N 19/61 (20060101); H04N 19/593 (20060101); H04N 19/597 (20060101); H04N 19/159 (20060101); H04N 19/182 (20060101); H04N 19/50 (20060101);