Method and apparatus for predicting most probable intra-modes
AssigneeHuawei Technologies Co., Ltd.
InventorsAlexey Konstantinovich Filippov, Vasily Alexeevich Rufitskiy, Jianle Chen
Life of this patent
Estimating the term…
Abstract
A method for constructing a Most Probable Mode (MPM) list includes classifying each intra prediction mode derived from a neighboring block either as a valid or invalid subject to the mode direction and the position of its source block. Valid and invalid modes are considered most and least probable modes, respectively.
Claims20
A method for constructing a Most Probable Mode (MPM) list for intra prediction, comprising:
- obtaining a first intra prediction mode of a first neighbor block adjacent to a current block;
- determining a validity for the first intra prediction mode when the first intra prediction mode is different from a second intra prediction mode of a second neighbor block;
- storing the first intra prediction mode into a corresponding validity buffer of a plurality of validity buffers in response to determining the validity;
- and
- fetching intra prediction modes from the validity buffers to store the intra prediction modes into the MPM list, wherein the fetching starts from a most valid buffer until either the MPM list contains a maximum number of the intra prediction modes or the intra prediction modes that are stored in the validity buffers are fetched into the MPM list, and wherein determining the validity comprises:
- setting the validity to a first value, wherein the first value indicates a valid non-directional prediction mode;
- and
- setting the validity to a second value when the first neighbor block is located on a left side of the current block, the first intra prediction mode is greater than or equal to a third value, and less than a difference of a fourth value and a fifth value,
- wherein the second value indicates a valid directional prediction mode, wherein the third value is an index of a horizontal prediction mode, wherein the fourth value is an index of a vertical prediction mode, and wherein the fifth value is a pre-configured threshold.
A method for decoding an image, comprising:
- inferring, from an encoded bitstream, a mode indication;
- obtaining a first intra prediction mode of a first neighbor block adjacent to a current block;
- determining a validity for the first intra prediction mode when the first intra prediction mode is different from a second intra prediction mode of a second neighbor block;
- storing the first intra prediction mode into a corresponding validity buffer of a plurality of validity buffers in response to determining the validity;
- fetching intra prediction modes from the validity buffers to store the intra prediction modes into a Most Probable Mode (MPM) list, wherein the fetching starts from a most valid buffer until either the MPM list contains a maximum number of prediction modes or the intra prediction modes that are stored in the validity buffers are fetched into the MPM list;
- and
- reconstructing the current block in the image, according to the mode indication, as a pointer to the MPM list, wherein determining the validity comprises:
- setting the validity to a first value, wherein the first value indicates a valid non-directional prediction mode;
- and
- setting the validity to a second value when the first neighbor block is located on a left side of the current block, the first intra prediction mode is greater than or equal to a third value, and less than a difference of a fourth value and a fifth value,
- wherein the second value indicates a valid directional prediction mode, wherein the third value is an index of a horizontal prediction mode, wherein the fourth value is an index of a vertical prediction mode, and wherein the fifth value is a pre-configured threshold.
A method for encoding an image, comprising:
- obtaining a first intra prediction mode of a first neighbor block adjacent to a current block;
- determining a validity for the first intra prediction mode when the first intra prediction mode is different from a second intra prediction mode of a second neighbor block;
- storing the first intra prediction mode into a corresponding validity buffer of a plurality of validity buffers in response to determining the validity;
- fetching intra prediction modes from the validity buffers to store the intra prediction modes into a Most Probable Mode (MPM) list, wherein the fetching starts from a most valid buffer until either the MPM list contains a maximum number of prediction modes or the intra prediction modes that are stored in the validity buffers are fetched into the MPM list;
- determining a mode indication for the current block as a pointer into the MPM list;
- and
- including the mode indication into an encoded bitstream, wherein determining the validity comprises:
- setting the validity to a first value, wherein the first value indicates a valid non-directional prediction mode;
- and
- setting the validity to a second value when the first neighbor block is located on a left side of the current block, the first intra prediction mode is greater than or equal to a third value, and less than a difference of a fourth value and a fifth value,
- wherein the second value indicates a valid directional prediction mode, wherein the third value is an index of a horizontal prediction mode, wherein the fourth value is an index of a vertical prediction mode, and wherein the fifth value is a pre-configured threshold.
An apparatus for constructing a Most Probable Mode (MPM) list for intra prediction, comprising:
- a processor;
- and
- a memory coupled to the processor and configured to store instructions that, when executed by the processor, cause the apparatus to be configured to:
- obtain a first intra prediction mode of a first neighbor block adjacent to a current block;
- determine a validity for the first intra prediction mode when the first intra prediction mode is different from a second intra prediction mode of a second neighbor block;
- store the first intra prediction mode into a corresponding validity buffer of a plurality of validity buffers in response to determining the validity;
- and
- fetch intra prediction modes from the validity buffers to store the intra prediction modes into the MPM list, wherein the fetching starts from a most valid buffer until either the MPM list contains a maximum number of prediction modes or the intra prediction modes that are stored in the validity buffers are fetched into the MPM list, and wherein in a manner to determine the validity, the instructions that, when executed by the processor, further cause the apparatus to be configured to:
- set the validity to a first value, wherein the first value indicates a valid non-directional prediction mode;
- and
- set the validity to a second value when the first neighbor block is located on a left side of the current block, the first intra prediction mode is greater than or equal to a third value, and less than a difference of a fourth value and a fifth value,
- wherein the second value indicates a valid directional prediction mode, wherein the third value is an index of a horizontal prediction mode, wherein the fourth value is an index of a vertical prediction mode, and wherein the fifth value is a pre-configured threshold.
Dependencies are inferred from the claim text.