Downsampling process for linear model prediction mode
AssigneeQUALCOMM Incorporated
InventorsLi Zhang, Jianle Chen, Marta Karczewicz
Life of this patent
Estimating the term…
Abstract
Example techniques related to linear model (LM) prediction decoding or encoding are described. A video decoder or video encoder determines which filter to apply from a set of filters to downsample samples of a luma block and generate a predictive block for a corresponding chroma block based on characteristics of the chroma block.
Claims47
A method of linear model (LM) prediction decoding video data, the method comprising:
- determining, with a video decoder, a luma block of the video data that corresponds to a chroma block of the video data that is being decoded;
- determining, with the video decoder, a filter from a set of filters to apply to luma samples that are internal to the luma block based on a characteristic of the chroma block, wherein determining the filter to apply comprises:
- determining to apply a first filter to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are located at or near a boundary, wherein the boundary comprises a boundary of one of a picture, a slice, a coding unit (CU), a prediction unit (PU), or a transform unit (TU);
- and
- determining to apply a second filter, different from the first filter, to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are not located at or near the boundary;
- downsampling, with the video decoder, the luma samples that are internal to the luma block based on the determined filter to generate a downsampled luma block;
- determining, with the video decoder, parameters based on one or more neighboring luma blocks that neighbor the luma block and one or more neighboring chroma blocks that neighbor the chroma block;
- determining, with the video decoder, a predictive block based on the downsampled luma block and the determined parameters;
- and
- reconstructing, with the video decoder, the chroma block based on the predictive block and a residual block.
A method of linear model (LM) prediction encoding video data, the method comprising:
- determining, with a video encoder, a luma block of the video data that corresponds to a chroma block of the video data that is being encoded;
- determining, with the video encoder, a filter from a set of filters to apply to luma samples that are internal to the luma block based on a characteristic of the chroma block, wherein determining the filter to apply comprises:
- determining to apply a first filter to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are located at or near a boundary, wherein the boundary comprises a boundary of one of a picture, a slice, a coding unit (CU), a prediction unit (PU), or a transform unit (TU);
- and
- determining to apply a second filter, different from the first filter, to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are not located at or near the boundary;
- downsampling, with the video encoder, the luma samples that are internal to the luma block based on the determined filter to generate a downsampled luma block;
- determining, with the video encoder, parameters based on one or more neighboring luma blocks that neighbor the luma block and one or more neighboring chroma blocks that neighbor the chroma block;
- determining, with the video encoder, a predictive block based on the downsampled luma block and the determined parameters;
- and
- generating, with the video encoder, a residual block based on the chroma block and the predictive block.
A device for linear model (LM) prediction decoding video data, the device comprising:
- a video data memory configured to store the video data;
- and
- a video decoder comprising integrated circuitry, the video decoder configured to:
- determine a luma block of the video data stored in the video data memory that corresponds to a chroma block of video data that is being decoded;
- determine a filter from a set of filters to apply to luma samples that are internal to the luma block based on a characteristic of the chroma block, wherein to determine the filter, the video decoder is configured to:
- determine to apply a first filter to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are located at or near a boundary, wherein the boundary comprises a boundary of one of a picture, a slice, a coding unit (CU), a prediction unit (PU), or a transform unit (TU);
- and
- determine to apply a second filter, different from the first filter, to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are not located at or near the boundary;
- downsample the luma samples that are internal to the luma block based on the determined filter to generate a downsampled luma block;
- determine parameters based on one or more neighboring luma blocks that neighbor the luma block and one or more neighboring chroma blocks that neighbor the chroma block;
- determine a predictive block based on the downsampled luma block and the determined parameters;
- and
- reconstruct the chroma block based on the predictive block and a residual block.
A device for linear model (LM) prediction encoding video data, the device comprising:
- a video data memory configured to store the video data;
- and
- a video encoder comprising integrated circuitry, the video encoder configured to:
- determine a luma block of the video data stored in the video data memory that corresponds to a chroma block of the video data that is being encoded;
- determine a filter from a set of filters to apply to luma samples that are internal to the luma block based on a characteristic of the chroma block, wherein to determine the filter, the video encoder is configured to:
- determine to apply a first filter to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are located at or near a boundary, wherein the boundary comprises a boundary of one of a picture, a slice, a coding unit (CU), a prediction unit (PU), or a transform unit (TU);
- and
- determine to apply a second filter, different from the first filter, to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are not located at or near the boundary;
- downsample the luma samples that are internal to the luma block based on the determined filter to generate a downsampled luma block;
- determine parameters based on one or more neighboring luma blocks that neighbor the luma block and one or more neighboring chroma blocks that neighbor the chroma block;
- determine a predictive block based on the downsampled luma block and the determined parameters;
- and
- generate a residual block based on the chroma block and the predictive block.
A device for linear model (LM) prediction decoding video data, the device comprising:
- means for determining a luma block of the video data that corresponds to a chroma block of the video data that is being decoded;
- means for determining a filter from a set of filters to apply to luma samples that are internal to the luma block based on a characteristic of the chroma block, wherein the means for determining the filter to apply comprises:
- means for determining to apply a first filter to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are located at or near a boundary, wherein the boundary comprises a boundary of one of a picture, a slice, a coding unit (CU), a prediction unit (PU), or a transform unit (TU);
- and
- means for determining to apply a second filter, different from the first filter, to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are not located at or near the boundary;
- means for downsampling the luma samples that are internal to the luma block based on the determined filter to generate a downsampled luma block;
- means for determining parameters based on one or more neighboring luma blocks that neighbor the luma block and one or more neighboring chroma blocks that neighbor the chroma block:
- means for determining a predictive block based on the downsampled luma block and the determined parameters;
- and
- means for reconstructing the chroma block based on the predictive block and a residual block.
A device for linear model (LM) prediction encoding video data, the device comprising:
- means for determining a luma block of the video data that corresponds to a chroma block of the video data that is being encoded;
- means for determining a filter from a set of filters to apply to luma samples that are internal to the luma block based on a characteristic of the chroma block, wherein the means for determining the filter to apply comprises:
- means for determining to apply a first filter to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are located at or near a boundary, wherein the boundary comprises a boundary of one of a picture, a slice, a coding unit (CU), a prediction unit (PU), or a transform unit (TU);
- and
- means for determining to apply a second filter, different from the first filter, to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are not located at or near the boundary;
- means for downsampling the luma samples that are internal to the luma block based on the determined filter to generate a downsampled luma block;
- means for determining parameters based on one or more neighboring luma blocks that neighbor the luma block and one or more neighboring chroma blocks that neighbor the chroma block:
- means for determining a predictive block based on the downsampled luma block and the determined parameters;
- and
- means for generating a residual block based on the chroma block and the predictive block.
A non-transitory computer-readable storage medium storing instructions that when executed cause one or more processors of a device for linear model (LM) prediction decoding video data to:
- determine a luma block of the video data that corresponds to a chroma block of the video data that is being decoded;
- determine a filter from a set of filters to apply to luma samples that are internal to the luma block based on a characteristic of the chroma block, wherein the instructions that cause the one or more processors to determine the filter to apply comprise instructions that cause the one or more processors to:
- determine to apply a first filter to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are located at or near a boundary, wherein the boundary comprises a boundary of one of a picture, a slice, a coding unit (CU), a prediction unit (PU), or a transform unit (TU);
- and
- determine to apply a second filter, different from the first filter, to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are not located at or near the boundary;
- downsample the luma samples that are internal to the luma block based on the determined filter to generate a downsampled luma block;
- determine parameters based on one or more neighboring luma blocks that neighbor the luma block and one or more neighboring chroma blocks that neighbor the chroma block;
- determine a predictive block based on the downsampled luma block and the determined parameters;
- and
- reconstruct the chroma block based on the predictive block and a residual block.
A non-transitory computer-readable storage medium storing instructions that when executed cause one or more processors of a device for linear model (LM) prediction encoding video data to:
- determine a luma block of the video data that corresponds to a chroma block of the video data that is being encoded;
- determine a filter from a set of filters to apply to luma samples that are internal to the luma block based on a characteristic of the chroma block, wherein the instructions that cause the one or more processors to determine the filter to apply comprise instructions that cause the one or more processors to:
- determine to apply a first filter to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are located at or near a boundary, wherein the boundary comprises a boundary of one of a picture, a slice, a coding unit (CU), a prediction unit (PU), or a transform unit (TU);
- and
- determine to apply a second filter, different from the first filter, to luma samples that are internal to the luma block that correspond to chroma samples of the chroma block that are not located at or near the boundary;
- downsample the luma samples that are internal to the luma block based on the determined filter to generate a downsampled luma block;
- determine parameters based on one or more neighboring luma blocks that neighbor the luma block and one or more neighboring chroma blocks that neighbor the chroma block;
- determine a predictive block based on the downsampled luma block and the determined parameters;
- and
- generate a residual block based on the chroma block and the predictive block.
Dependencies are inferred from the claim text.