Method and apparatus for cross-component prediction for video coding
A method for decoding video data. The method including obtaining, from a bitstream, a video block and region information, wherein the region information comprises an index indicating a region selected from a set of regions located external to the video block for deriving a multiple linear regression (MLR) model, obtaining luma and chroma sample values in the region based on the region information; deriving the MLR model using the luma and chroma sample values in the region, predicting each of the chroma sample values in the video block by applying the MLR model to corresponding luma sample values for that chroma sample, and obtaining decoded video block using the predicted chroma sample values.
1 . A method for decoding video data, comprising:
obtaining, from a bitstream, region information, wherein the region information comprises an index indicating a region selected from a set of regions located external to a video block for deriving a multiple linear regression (MLR) model;
obtaining luma and chroma sample values in the region based on the region information;
deriving the MLR model using the luma and chroma sample values in the region; and
predicting each of the chroma sample values in the video block by applying the MLR model to corresponding luma sample values for that chroma sample.
2 . The method of claim 1 , wherein the set of regions includes: a) one or more lines above the video block; b) one or more lines left to the video block; and c) one or more lines above the video block and one or more lines left to the video block.
3 . The method of claim 2 , wherein the region either has the same width as the video block or is wider than the video block by a first predefined number of samples when the region is one or more lines above the video block; or
wherein the first predefined number is the same as the width or height of the video block, and wherein the first predefined number is signaled or switched in different coding block levels.
4 . The method of claim 2 , wherein the region either has the same height as the video block or is longer than the video block by a second predefined number of samples when the region is one or more lines left to the video block; or
wherein the second predefined number is the same as width or height of the video block, and wherein the second predefined number is signaled or switched in different coding block levels.
5 . The method of claim 2 , wherein the region has the same height and width as the video block or a height and a width of the region are twice those of the video block when the region is one or more lines above the video block and one or more lines left to the video block.
6 . The method of claim 1 , wherein the region is adjacent to the video block or spaced from the video block by one or more lines above and/or left to the video block.
7 . The method of claim 1 , wherein one or more of the luma and chroma sample values in the region is padded, and wherein the padding is a repetitive padding from the nearest samples.
8 . The method of claim 1 , wherein the MLR model is derived by pseudo inverse matrix calculation, and wherein the pseudo inverse matrix is solved by one of: a) closed-form solution; b) Gauss-Jordan elimination; c) Cholesky decomposition; d) Newton's method; e) Cayley-Hamilton method; and f) Eigendecomposition, and wherein the method further comprising using default values as the predicted chroma sample values when the pseudo inverse matrix can not be solved.
9 . The method of claim 1 , wherein the video block is encoded in a 4:4:4 chroma format.
10 . A computer system, comprising:
one or more processors; and
one or more storage devices storing computer-executable instructions that, when executed, cause the one or more processors to perform the method of claim 1 .
11 . The computer system of claim 10 , wherein the set of regions includes: a) one or more lines above the video block; b) one or more lines left to the video block; and c) one or more lines above the video block and one or more lines left to the video block.
12 . The computer system of claim 11 , wherein the region either has the same width as the video block or is wider than the video block by a first predefined number of samples when the region is one or more lines above the video block; or
wherein the first predefined number is the same as the width or height of the video block, and wherein the first predefined number is signaled or switched in different coding block levels.
13 . The computer system of claim 11 , wherein the region either has the same height as the video block or is longer than the video block by a second predefined number of samples when the region is one or more lines left to the video block; or
wherein the second predefined number is the same as a width or height of the video block, and wherein the second predefined number is signaled or switched in different coding block levels.
14 . The computer system of claim 11 , wherein the region has the same height and width as the video block or a height and a width of the region are twice those of the video block when the region is one or more lines above the video block and one or more lines left to the video block.
15 . The computer system of claim 10 , wherein the region is adjacent to the video block or spaced from the video block by one or more lines above and/or left to the video block.
16 . The computer system of claim 10 , wherein one or more of the luma and chroma sample values in the region is padded, and wherein the padding is a repetitive padding from the nearest samples; or
wherein the MLR model is derived by pseudo inverse matrix calculation, and wherein the pseudo inverse matrix is solved by one of: a) closed-form solution; b) Gauss-Jordan elimination; c) Cholesky decomposition; d) Newton's method; e) Cayley-Hamilton method; and f) Eigendecomposition, and wherein the method further comprising using default values as the predicted chroma sample values when the pseudo inverse matrix can not be solved.
17 . The computer system of claim 10 , wherein the video block is encoded in a 4:4:4 chroma format.
18 . A non-transitory computer readable storage medium storing a bitstream and instructions, wherein the instructions, which when executed by a computing device having one or more processors, cause the one or more processors to perform an encoding method to generate the bitstream, the method comprising:
obtaining luma and chroma sample values in a region based on region information, wherein the region information comprises an index indicating the region selected from a set of regions located external to a video block for deriving a multiple linear regression (MLR) model;
deriving the MLR model using the luma and chroma sample values in the region;
predicting each of the chroma sample values in the video block by applying the MLR model to corresponding luma sample values for that chroma sample; and
obtaining a bitstream comprising encoded video block using the predicted chroma sample values and the region information,
wherein the bitstream is to be decoded by the decoding method according to claim 1 .
19 . A method for storing a bitstream, comprising:
performing the following steps of an encoding method to generate a bitstream:
obtaining luma and chroma sample values in a region based on region information, wherein the region information comprises an index indicating the region selected from a set of regions located external to a video block for deriving a multiple linear regression (MLR) model;
deriving the MLR model using the luma and chroma sample values in the region;
predicting each of the chroma sample values in the video block by applying the MLR model to corresponding luma sample values for that chroma sample; and
obtaining a bitstream comprising encoded video block using the predicted chroma sample values and the region information; and
storing the bitstream,
wherein the bitstream is to be decoded by the decoding method according to claim 1 .
20 . The method of claim 19 , wherein the video block is encoded in a 4:4:4 chroma format.