Linear model prediction mode with sample accessing for video coding
AssigneeQUALCOMM Incorporated
InventorsKai Zhang, Jianle Chen, Li Zhang, Marta Karczewicz
Life of this patent
Estimating the term…
Abstract
Techniques are described of linear model (LM) prediction mode. In one or examples, a video encoder or video decoder may limit the number of neighboring luma samples that are fetched for downsampling thereby increasing the speed at which the video encoder or video decoder is able to complete the LM prediction encoding or decoding.
Claims72
A method of decoding video data, the method comprising:
- determining a luma block that corresponds to a chroma block;
- fetching neighboring luma samples for downsampling the neighboring luma samples, wherein the fetched neighboring luma samples comprise a plurality of luma samples from a plurality of rows that are above the luma block and exclude luma samples that are above and left of a top-left luma sample of the luma block;
- determining a plurality of downsampled luma samples based on the fetched neighboring luma samples, wherein one of the downsampled luma samples corresponds to a downsampled luma sample immediately above the top-left luma sample, and wherein the downsampled luma sample is determined from luma samples from the plurality of rows that are above the luma block;
- determining one or more scaling parameters based on the downsampled luma samples;
- determining a predictive block based on the one or more scaling parameters;
- and
- linear model (LM) prediction decoding the chroma block based on the predictive block.
A device for decoding video data, the device comprising:
- a video data memory;
- and
- a video decoder comprising at least one of fixed-function circuitry or programmable circuitry, wherein the video decoder is configured to:
- determine a luma block that corresponds to a chroma block;
- fetch, from the video data memory, neighboring luma samples for downsampling the neighboring luma samples, wherein the fetched neighboring luma samples comprise a plurality of luma samples from a plurality of rows that are above the luma block and exclude luma samples that are above and left of a top-left luma sample of the luma block;
- determine a plurality of downsampled luma samples based on the fetched neighboring luma samples, wherein one of the downsampled luma samples corresponds to a downsampled luma sample immediately above the top-left luma sample, and wherein the downsampled luma sample is determined from luma samples from the plurality of rows that are above the luma block;
- determine one or more scaling parameters based on the downsampled luma samples;
- determine a predictive block based on the one or more scaling parameters;
- and
- linear model (LM) prediction decode the chroma block based on the predictive block.
A method of encoding video data, the method comprising:
- determining a luma block that corresponds to a chroma block;
- fetching neighboring luma samples for downsampling the neighboring luma samples, wherein the fetched neighboring luma samples comprise a plurality of luma samples from a plurality of rows that are above the luma block and exclude luma samples that are above and left of a top-left luma sample of the luma block;
- determining a plurality of downsampled luma samples based on the fetched neighboring luma samples, wherein one of the downsampled luma samples corresponds to a downsampled luma sample immediately above the top-left luma sample, and wherein the downsampled luma sample is determined from luma samples from the plurality of rows that are above the luma block;
- determining one or more scaling parameters based on the downsampled luma samples;
- determining a predictive block based on the one or more scaling parameters;
- and
- linear model (LM) prediction encoding the chroma block based on the predictive block.
A device for encoding video data, the device comprising:
- a video data memory;
- and
- a video encoder comprising at least one of fixed-function circuitry or programmable circuitry, wherein the video encoder is configured to:
- determine a luma block that corresponds to a chroma block;
- fetch, from the video data memory, neighboring luma samples for downsampling the neighboring luma samples, wherein the fetched neighboring luma samples comprise a plurality of luma samples from a plurality of rows that are above the luma block and exclude luma samples that are above and left of a top-left luma sample of the luma block;
- determine a plurality of downsampled luma samples based on the determined neighboring luma samples, wherein one of the downsampled luma samples corresponds to a downsampled luma sample immediately above the top-left luma sample, and wherein the downsampled luma sample is determined from luma samples from the plurality of rows that are above the luma block;
- determine one or more scaling parameters based on the downsampled luma samples;
- determine a predictive block based on the one or more scaling parameters;
- and
- linear model (LM) prediction encode the chroma block based on the predictive block.
A method of decoding video data, the method comprising:
- determining a luma block that corresponds to a chroma block;
- fetching neighboring luma samples for downsampling the neighboring luma samples, wherein the fetched neighboring luma samples comprise a plurality of luma samples that are left of the luma block from a plurality of rows and exclude luma samples that are more than a threshold number of samples left of the luma block and below a top-left luma sample of the luma block;
- determining a plurality of downsampled luma samples based on the fetched neighboring luma samples, wherein one of the downsampled luma samples corresponds to a downsampled luma sample that is the threshold number of samples left of the luma block, and wherein the downsampled luma sample is determined from luma samples from the plurality of rows that are left of the luma block;
- determining one or more scaling parameters based on the downsampled luma samples;
- determining a predictive block based on the one or more scaling parameters;
- and
- linear model (LM) prediction decoding the chroma block based on the predictive block.
A device for decoding video data, the device comprising:
- a video data memory;
- and
- a video decoder comprising at least one of fixed-function circuitry or programmable circuitry, wherein the video decoder is configured to:
- determine a luma block that corresponds to a chroma block;
- fetch neighboring luma samples for downsampling the neighboring luma samples, wherein the fetched neighboring luma samples comprise a plurality of luma samples from a plurality of rows that are left of the luma block and exclude luma samples that are more than a threshold number of samples left of the luma block and below a top-left luma sample of the luma block;
- determine a plurality of downsampled luma samples based on the fetched neighboring luma samples, wherein one of the downsampled luma samples corresponds to a downsampled luma sample that is the threshold number of samples left of the luma block, and wherein the downsampled luma sample is determined from luma samples from the plurality of rows that are left of the luma block;
- determine one or more scaling parameters based on the downsampled luma samples;
- determine a predictive block based on the one or more scaling parameters;
- and
- linear model (LM) prediction decode the chroma block based on the predictive block.
A method of encoding video data, the method comprising:
- determining a luma block that corresponds to a chroma block;
- fetching neighboring luma samples for downsampling the neighboring luma samples, wherein the fetched neighboring luma samples comprise a plurality of luma samples from a plurality of rows that are left of the luma block and exclude luma samples that are more than a threshold number of samples left of the luma block and below a top-left luma sample of the luma block;
- determining a plurality of downsampled luma samples based on the fetched neighboring luma samples, wherein one of the downsampled luma samples corresponds to a downsampled luma sample that is the threshold number of samples left of the luma block, and wherein the downsampled luma sample is determined from luma samples from the plurality of rows that are left of the luma block;
- determining one or more scaling parameters based on the downsampled luma samples;
- determining a predictive block based on the one or more scaling parameters;
- and
- linear model (LM) prediction encoding the chroma block based on the predictive block.
A device for encoding video data, the device comprising:
- a video data memory;
- and
- a video encoder comprising at least one of fixed-function circuitry or programmable circuitry, wherein the video encoder is configured to:
- determine a luma block that corresponds to a chroma block;
- fetch neighboring luma samples for downsampling the neighboring luma samples, wherein the fetched neighboring luma samples comprise a plurality of luma samples from a plurality of rows that are left of the luma block and exclude luma samples that are more than a threshold number of samples left of the luma block and below a top-left luma sample of the luma block;
- determine a plurality of downsampled luma samples based on the fetched neighboring luma samples, wherein one of the downsampled luma samples corresponds to a downsampled luma sample that is the threshold number of samples left of the luma block, and wherein the downsampled luma sample is determined from luma samples from the plurality of rows that are left of the luma block;
- determine one or more scaling parameters based on the downsampled luma samples;
- determine a predictive block based on the one or more scaling parameters;
- and
- linear model (LM) prediction encode the chroma block based on the predictive block.
Dependencies are inferred from the claim text.