IP Library › Granted Patent US 11,477,465
Granted Patent B2
US 11,477,465 · App. 17/454,612 · Granted Oct 18, 2022

Colour component prediction method, encoder, decoder, and storage medium

Inventors: Shuai Wan (Dongguan, CN); Yanzhuo Ma (Dongguan, CN); Junyan Huo (Dongguan, CN); Haixin Wang (Dongguan, CN); Fuzheng Yang (Dongguan, CN)
Assignee: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
H04N19/186H04N19/105H04N19/132H04N19/147H04N19/176H04N19/593H04N19/70H04N19/80
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,477,465
App. No.
17/454,612
Granted
Oct 18, 2022
Kind
B2
Abstract

A method for colour component prediction comprising: determining a neighbouring reference sample set of a current block, and determining a preset parameter value corresponding to the current block, wherein the neighbouring reference sample set comprises at least one reference sample; caching the neighbouring reference sample set and the preset parameter value to create an input reference sample set; determining an input sample matrix using a first preset calculation model according to the reference sample set; and performing colour component prediction on the current block according to the input sample matrix to obtain a prediction block of the current block.

Claims (90)

1. A method for colour component prediction, applied to an encoder and comprising:

determining a neighbouring reference sample set of a current block, and determining a preset parameter value corresponding to the current block, the neighbouring reference sample set comprising at least one reference sample;

buffering the neighbouring reference sample set and the preset parameter value to construct an input reference sample set;

determining an input sample matrix by means of a first preset calculation model based on the input reference sample set; and

performing colour component prediction on the current block according to the input sample matrix to obtain a prediction block of the current block.

2. The method of claim 1 , wherein determining the neighbouring reference sample set of the current block comprises:

acquiring a reference sample neighbouring to at least one side of the current block, the at least one side of the current block comprising at least one of a top side, a top-right side, a left side, or a bottom-left side; and

determining the neighbouring reference sample set of the current block according to the acquired reference sample, comprising:

performing first filtering processing on the acquired reference sample neighbouring to the at least one side of the current block to determine a reference sample neighbouring to the at least one side; and

forming the neighbouring reference sample set of the current block according to the determined reference sample,

wherein the first filtering processing comprises down-sampling filtering or low-pass filtering.

3. The method of claim 1 , wherein determining the preset parameter value corresponding to the current block comprises:

acquiring a bit depth value corresponding to a to-be-predicted colour component of the current block; and

converting 1 to a binary value, and performing a shift on the binary value by the bit depth minus 1 binary digits to obtain the preset parameter value.

4. The method of claim 1 , wherein constructing the input reference sample set based on the neighbouring reference sample set and the preset parameter value comprises:

buffering the neighbouring reference sample set to obtain an initial input reference sample set; and

buffering the preset parameter value by using a data unit after the initial input reference sample set to obtain the input reference sample set.

5. The method of claim 4 , wherein buffering the neighbouring reference sample set to obtain an initial input reference sample set comprises:

determining a value of a transposition processing indication flag by using a Rate Distortion Optimization (RDO) manner;

when the value of the transposition processing indication flag is equal to 0, storing the reference sample in a buffer such that a reference sample corresponding to a top side of the current block in the neighbouring reference sample set is stored ahead of a reference sample corresponding to a left side of the current block in the neighbouring reference sample set, and determining the buffer as the initial input reference sample set; or

when the value of the transposition processing indication flag is equal to 1, storing the reference sample in the buffer such that the reference sample corresponding to the top side of the current block in the neighbouring reference sample set is stored after the reference sample corresponding to the left side of the current block in the neighbouring reference sample set, performing transposition processing on the buffer, and determining the transposed buffer as the initial input reference sample set.

6. The method of claim 1 , wherein determining the input sample matrix by means of the first preset calculation model based on the input reference sample set comprises:

performing, according to a sample corresponding to a (i+1) th position and a sample corresponding to a 0 th position in the input reference sample set, a subtraction operation by means of the first preset calculation model, to obtain an i th input sample, wherein a minuend of the subtraction operation is set to be equal to the sample corresponding to the (i+1) th position in the reference sample set; and a subtraction of the subtraction operation is set to be equal to the sample corresponding to the 0 th position in the reference sample set, and wherein i is a positive integer greater than or equal to 0 and less than N, N representing a number of elements contained in the input sample matrix; and

forming the input sample matrix according to N input samples obtained by calculation.

7. The method of claim 1 , wherein performing colour component prediction on the current block according to the input sample matrix to obtain the prediction block of the current block comprises:

obtaining a Matrix-based Intra Prediction (MIP) block of the current block according to the input sample matrix, comprising:

acquiring a weight matrix, a shift factor, and an offset factor corresponding to the current block;

performing matrix multiplication processing on the input sample matrix, the weight matrix, the shift factor, and the offset factor by means of a second preset calculation model, to calculate the MIP block; and

performing clipping processing on the predicted sample in the MIP block to obtain the MIP block of the current block;

wherein the MIP block comprises the predicted sample in at least part of sample positions in the current block;

when one of a width and a height of the MIP block is different from that of the current block, performing second filtering processing on the MIP block to obtain the prediction block of the current block; or

when both of the width and the height of the MIP block are the same as those of the current block, setting the prediction block of the current block to be equal to the MIP block, wherein the prediction block contains a predicted sample at all sample positions in the current block.

8. The method of claim 7 , wherein obtaining the MIP block of the current block according to the input sample matrix comprises:

calculating, by using the RDO manner, a first cost value when transposition processing is performed on the MIP block and a second cost value when transposition processing is not performed on the MIP block;

when the first cost value is less than the second cost value, determining to perform transposition processing on the predicted sample in the MIP block, and determining the transposed MIP block as the MIP block of the current block; or

when the first cost value is no less than the second cost value, determining not to perform transposition processing on the MIP block.

9. The method of claim 7 , wherein the second filtering processing comprises up-sampling filtering or low-pass filtering,

wherein when the second filtering processing is the up-sampling filtering, the method further comprises:

determining a horizontal up-sampling factor and a vertical up-sampling factor corresponding to the current block; and

determining, according to the MIP block, the horizontal up-sampling factor and the vertical up-sampling factor, a predicted value of a to-be-filled sample position in the current block by means of a third preset calculation model, to obtain the prediction block of the current block, wherein the to-be-filled sample position is a sample position in the current block different from a sample position in the MIP block.

10. A method for colour component prediction, applied to a decoder and comprising:

determining a neighbouring reference sample set of a current block, and determining a preset parameter value corresponding to the current block, the neighbouring reference sample set comprising at least one reference sample;

buffering the neighbouring reference sample set and the preset parameter value to construct an input reference sample set;

determining an input sample matrix by means of a first preset calculation model based on the input reference sample set; and

performing colour component prediction on the current block according to the input sample matrix to obtain a prediction block of the current block.

11. The method of claim 10 , wherein determining the neighbouring reference sample set of the current block comprises:

acquiring a reference sample neighbouring to at least one side of the current block, the at least one side of the current block comprising at least one of a top side, a top-right side, a left side, or a bottom-left side; and

determining the neighbouring reference sample set of the current block according to the acquired reference sample, comprising:

performing first filtering processing on the reference sample neighbouring to the at least one side of the current block to determine the reference sample neighbouring to the at least one side; and

forming the neighbouring reference sample set of the current block according to the acquired reference sample,

wherein the first filtering processing comprises down-sampling filtering or low-pass filtering.

12. The method of claim 10 , wherein determining the preset parameter value corresponding to the current block comprises:

acquiring a bit depth value corresponding to a to-be-predicted colour component of the current block; and

converting 1 to a binary value, and performing a shift on the binary value by the bit depth minus 1 binary digits to obtain the preset parameter value.

13. The method of claim 10 , wherein constructing the input reference sample set based on the neighbouring reference sample set and the preset parameter value comprises:

buffering the neighbouring reference sample set to obtain an initial input reference sample set; and

buffering the preset parameter value by using a data unit after the initial input reference sample set to obtain the input reference sample set.

14. The method of claim 13 , wherein buffering the neighbouring reference sample set to obtain the initial input reference sample set comprises:

parsing a bitstream to obtain a value of a transposition processing indication flag;

when the value of the transposition processing indication flag is equal to 0, storing a reference sample in a buffer such that a reference sample corresponding to a top side of the current block in the neighbouring reference sample set is stored ahead of a reference sample corresponding to a left side of the current block in the neighbouring reference sample set, and determining the buffer as the initial input reference sample set; or

when the value of the transposition processing indication flag is equal to 1, storing reference samples in the buffer such that the reference sample corresponding to the top side of the current block in the neighbouring reference sample set is stored after the reference sample corresponding to the left side of the current block in the neighbouring reference sample set, performing transposition processing on the buffer, and determining the transposed buffer as the initial input reference sample set.

15. The method of claim 10 , wherein determining the input sample matrix by means of the first preset calculation model based on the input reference sample set comprises:

calculating an i th input sample by means of the first preset calculation model according to a sample corresponding to a (i+1) th position and a sample corresponding to a 0 th position in the reference sample set, comprising: performing a subtraction operation by means of the first preset calculation model, to obtain the i th input sample, wherein a minuend of the subtraction operation is set to be equal to the sample corresponding to the (i+1) th position in the reference sample set, and a subtraction of the subtraction operation is set to be equal to the sample corresponding to the 0 th position in the reference sample set, wherein i is a positive integer greater than or equal to 0 and less than N, N representing a number of elements contained in the input sample matrix; and

forming the input sample matrix according to N input samples obtained by calculation.

16. The method of claim 10 , wherein performing colour component prediction on the current block according to the input sample matrix to obtain the prediction block of the current block comprises:

obtaining a Matrix-based Intra Prediction (MIP) block of the current block according to the input sample matrix, comprising: acquiring a weight matrix, a shift factor, and an offset factor corresponding to the current block; and performing matrix multiplication processing on the input sample matrix, the weight matrix, the shift factor, and the offset factor by means of a second preset calculation model to calculate the MIP block, and performing clipping processing on the predicted sample in the MIP block to obtain the MIP block of the current block, wherein the MIP block comprises a predicted sample in at least part of sample positions in the current block;

when one of a width and a height of the MIP block is different from that of the current block, performing second filtering processing on the MIP block to obtain the prediction block of the current block; or

when both of the width and the height of the MIP block are the same as those of the current block, setting the prediction block of the current block to be equal to the MIP block, wherein the prediction block contains a predicted sample at all sample positions in the current block.

17. The method of claim 16 , wherein obtaining the MIP block of the current block according to the input sample matrix comprises:

parsing a bitstream to obtain a value of a transposition processing indication flag;

judging, according to the value of the transposition processing, whether to perform transposition processing on the MIP block; and

when a judgment result is “yes”, performing transposition processing on the predicted sample in the MIP block, and determining the transposed MIP block as the MIP block of the current block.

18. The method of claim 16 , wherein the second filtering processing comprises up-sampling filtering or low-pass filtering,

wherein when the second filtering processing refers to the up-sampling filtering, the method further comprises:

determining a horizontal up-sampling factor and a vertical up-sampling factor corresponding to the current block; and

determining, according to the MIP block, the horizontal up-sampling factor and the vertical up-sampling factor, a predicted value of a to-be-filled sample position in the current block by means of a third preset calculation model, to obtain the prediction block of the current block, wherein the to-be-filled sample position is a sample position in the current block different from a sample position in the MIP block.

19. An encoder, comprising a first memory and a first processor, wherein

the first memory is configured to store a computer program capable of running in the first processor; and

the first processor is configured to run the computer program to execute a method for colour component prediction, the method comprising:

determining a neighbouring reference sample set of a current block, and determining a preset parameter value corresponding to the current block, the neighbouring reference sample set comprising at least one reference sample;

buffering the neighbouring reference sample set and the preset parameter value to construct an input reference sample set;

determining an input sample matrix by means of a first preset calculation model based on the input reference sample set; and

performing colour component prediction on the current block according to the input sample matrix to obtain a prediction block of the current block.

20. A decoder, comprising a second memory and a second processor, wherein

the second memory is configured to store a computer program capable of running in the second processor; and

the second processor is configured to run the computer program to execute a method for colour component prediction, comprising:

determining a neighbouring reference sample set of a current block, and determining a preset parameter value corresponding to the current block, the neighbouring reference sample set comprising at least one reference sample;

buffering the neighbouring reference sample set and the preset parameter value to construct an input reference sample set;

determining an input sample matrix by means of a first preset calculation model based on the input reference sample set; and

performing colour component prediction on the current block according to the input sample matrix to obtain a prediction block of the current block.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2021
From: WAN, SHUAI; MA, YANZHUO; HUO, JUNYAN; WANG, HAIXIN; YANG, FUZHENG
To: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP., LTD.
Reel/Frame 058107/0657 →
Continuity (2)
Continuation PCTCN2019126710 · Dec 19, 2019
Related Publication 20220070476A1 · Mar 3, 2022
Cited By (3)
US 12,225,200 US 12,256,080 US 12,262,022