IP Library Granted Patent US 12,348,788
Granted Patent B2
US 12,348,788 · App. 18/529,826 · Granted Jul 1, 2025

Method and apparatus of interpolation filtering for predictive coding

Inventors: Alexey Konstantinovich Filippov (Moscow, RU); Vasily Alexeevich Rufitskiy (Moscow, RU); Jianle Chen (San Diego, CA)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04N19/82H04N19/105H04N19/50
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 12,348,788
App. No.
18/529,826
Granted
Jul 1, 2025
Kind
B2
Abstract

The present disclosure relates to intra- or inter-prediction for video encoding and decoding. For that purpose, an apparatus and methods obtain a reference sample and a subpixel offset value. A 4-tap interpolation filter is used to filter the reference sample to obtain a predicted sample value. The filter coefficients c 0 , c 1 , c 2 , and c 3 of the 4-tap interpolation filter satisfy c 0 = 1 ⁢ 6 - p 2 , c 1 = 1 ⁢ 6 + 1 ⁢ 6 - p 2 , c 2 = 1 ⁢ 6 + p 2 , and c 3 = p 2 , with p being a fractional part of the value of the subpixel offset.

Claims (996)

1. A method for intra-prediction or inter-prediction processing of a video frame, comprising:

receiving a bitstream;

applying an entropy decoding algorithm to the bitstream to obtain quantized coefficients, wherein the entropy decoding algorithm is a context adaptive binary arithmetic coding algorithm;

obtaining a residual block based on the quantized coefficients;

obtaining a reference sample;

obtaining a value of a subpixel offset;

filtering, using a 4-tap interpolation filter, the reference sample to obtain a predicted sample value of a prediction block; and

obtaining a decoded picture based on the residual block and the prediction block;

wherein filter coefficients of the 4-tap interpolation filter satisfy equations:

c

0

=

1

6

-

p

2

c

1

=

1

6

+

1

6

-

p

2

c

2

=

1

6

+

p

2

c

3

=

p

2

wherein the filter coefficients of the 4-tap interpolation filter are defined in a table as follows:

p

c 0

c 1

c 2

c 3

 0

16

32

16

0

 1

16

32

16

0

 2

15

31

17

1

 3

15

31

17

1

 4

14

30

18

2

 5

14

30

18

2

 6

13

29

19

3

 7

13

29

19

3

 8

12

28

20

4

 9

12

28

20

4

10

11

27

21

5

11

11

27

21

5

12

10

26

22

6

13

10

26

22

6

14

9

25

23

7

15

9

25

23

7

16

8

24

24

8

17

8

24

24

8

18

7

23

25

9

19

7

23

25

9

20

6

22

26

10

21

6

22

26

10

22

5

21

27

11

23

5

21

27

11

24

4

20

28

12

25

4

20

28

12

26

3

19

29

13

27

3

19

29

13

28

2

18

30

14

29

2

18

30

14

30

1

17

31

15

31

1

17

31

15

wherein p is a fractional part of the value of the subpixel offset, and c 0 , c 1 , c 2 , and c 3 are the filter coefficients of the 4-tap interpolation filter.

2. The method according to claim 1 , wherein a bit of p is set to zero.

3. The method according to claim 1 , wherein p is incremented by 1 and afterwards a lower bit of the incremented p is set to zero prior to using p to obtain the filter coefficients.

4. The method according to claim 1 , wherein the obtaining of the filter coefficients comprises calculating the filter coefficients according to

c

0

=

1

6

-

p

2

c

1

=

1

6

+

c

0

c

2

=

c

0

+

p

c

3

=

c

0

-

p

.

5. A method for intra-prediction or inter-prediction processing of a video frame, comprising:

obtaining a to-be-encoded picture block;

obtaining a reference sample;

obtaining a value of a subpixel offset;

filtering, using a 4-tap interpolation filter, the reference sample to obtain a predicted sample value of a prediction block;

obtaining a residual block based on the prediction block and the to-be-encoded picture block;

obtaining quantized coefficients based on the residual block; and

applying an entropy encoding algorithm to the quantized coefficients to obtain a bitstream, wherein the entropy encoding algorithm is a context adaptive binary arithmetic coding algorithm;

wherein filter coefficients of the 4-tap interpolation filter satisfy equations:

c

0

=

1

6

-

p

2

c

1

=

1

6

+

1

6

-

p

2

c

2

=

1

6

+

p

2

c

3

=

p

2

wherein the filter coefficients of the 4-tap interpolation filter are defined in a table as follows:

p

c 0

c 1

c 2

c 3

 0

16

32

16

0

 1

16

32

16

0

 2

15

31

17

1

 3

15

31

17

1

 4

14

30

18

2

 5

14

30

18

2

 6

13

29

19

3

 7

13

29

19

3

 8

12

28

20

4

 9

12

28

20

4

10

11

27

21

5

11

11

27

21

5

12

10

26

22

6

13

10

26

22

6

14

9

25

23

7

15

9

25

23

7

16

8

24

24

8

17

8

24

24

8

18

7

23

25

9

19

7

23

25

9

20

6

22

26

10

21

6

22

26

10

22

5

21

27

11

23

5

21

27

11

24

4

20

28

12

25

4

20

28

12

26

3

19

29

13

27

3

19

29

13

28

2

18

30

14

29

2

18

30

14

30

1

17

31

15

31

1

17

31

15

wherein p is a fractional part of the value of the subpixel offset, and c 0 , c 1 , c 2 , and c 3 are the filter coefficients of the 4-tap interpolation filter.

6. The method according to claim 5 , wherein a bit of p is set to zero.

7. The method according to claim 5 , wherein p is incremented by 1 and afterwards a lower bit of the incremented p is set to zero prior to using p to obtain the filter coefficients.

8. The method according to claim 5 , wherein the obtaining of the filter coefficients comprises calculating the filter coefficients according to

c

0

=

1

6

-

p

2

c

1

=

1

6

+

c

0

c

2

=

c

0

+

p

c

3

=

c

0

-

p

.

9. A video decoder, comprising:

at least one processor; and

one or more memories coupled to the at least one processor and storing programming instructions for execution by the at least one processor to cause the video decoder to:

receive a bitstream;

apply an entropy decoding algorithm to the bitstream to obtain quantized coefficients, wherein the entropy decoding algorithm is a context adaptive binary arithmetic coding algorithm;

obtain a residual block based on the quantized coefficients;

obtain a reference sample;

obtain a value of a subpixel offset;

filter, using a 4-tap interpolation filter, the reference sample to obtain a predicted sample value of a prediction block; and

obtaining a decoded picture based on the residual block and the prediction block;

wherein filter coefficients of the 4-tap interpolation filter satisfy equations:

c

0

=

1

6

-

p

2

c

1

=

1

6

+

1

6

-

p

2

c

2

=

1

6

+

p

2

c

3

=

p

2

wherein the filter coefficients of the 4-tap interpolation filter are defined in a table as follows:

p

c 0

c 1

c 2

c 3

 0

16

32

16

0

 1

16

32

16

0

 2

15

31

17

1

 3

15

31

17

1

 4

14

30

18

2

 5

14

30

18

2

 6

13

29

19

3

 7

13

29

19

3

 8

12

28

20

4

 9

12

28

20

4

10

11

27

21

5

11

11

27

21

5

12

10

26

22

6

13

10

26

22

6

14

9

25

23

7

15

9

25

23

7

16

8

24

24

8

17

8

24

24

8

18

7

23

25

9

19

7

23

25

9

20

6

22

26

10

21

6

22

26

10

22

5

21

27

11

23

5

21

27

11

24

4

20

28

12

25

4

20

28

12

26

3

19

29

13

27

3

19

29

13

28

2

18

30

14

29

2

18

30

14

30

1

17

31

15

31

1

17

31

15

wherein p is a fractional part of the value of the subpixel offset, and c 0 , c 1 , c 2 , and c 3 are the filter coefficients of the 4-tap interpolation filter.

10. The video decoder according to claim 9 , wherein a bit of p is set to zero.

11. The video decoder according to claim 9 , wherein p is incremented by 1 and afterwards a lower bit of the incremented p is set to zero prior to using p to obtain the filter coefficients.

12. The video decoder according to claim 9 , wherein the obtaining of the filter coefficients comprises calculating the filter coefficients according to

c

0

=

1

6

-

p

2

c

1

=

1

6

+

c

0

c

2

=

c

0

+

p

c

3

=

c

0

-

p

.

13. A video encoder, comprising:

at least one processor; and

one or more memories coupled to the at least one processor and storing programming instructions for execution by the at least one processor to cause the video encoder to:

obtain a to-be-encoded picture block;

obtain a reference sample;

obtain a value of a subpixel offset;

filter, using a 4-tap interpolation filter, the reference sample to obtain a predicted sample value of a prediction block;

obtain a residual block based on the prediction block and the to-be-encoded picture block;

obtain quantized coefficients based on the residual block; and

apply an entropy encoding algorithm to the quantized coefficients to obtain a bitstream, wherein the entropy encoding algorithm is a context adaptive binary arithmetic coding algorithm;

wherein filter coefficients of the 4-tap interpolation filter satisfy equations:

c

0

=

1

6

-

p

2

c

1

=

1

6

+

1

6

-

p

2

c

2

=

1

6

+

p

2

c

3

=

p

2

wherein the filter coefficients of the 4-tap interpolation filter are defined in a table as follows:

p

c 0

c 1

c 2

c 3

 0

16

32

16

0

 1

16

32

16

0

 2

15

31

17

1

 3

15

31

17

1

 4

14

30

18

2

 5

14

30

18

2

 6

13

29

19

3

 7

13

29

19

3

 8

12

28

20

4

 9

12

28

20

4

10

11

27

21

5

11

11

27

21

5

12

10

26

22

6

13

10

26

22

6

14

9

25

23

7

15

9

25

23

7

16

8

24

24

8

17

8

24

24

8

18

7

23

25

9

19

7

23

25

9

20

6

22

26

10

21

6

22

26

10

22

5

21

27

11

23

5

21

27

11

24

4

20

28

12

25

4

20

28

12

26

3

19

29

13

27

3

19

29

13

28

2

18

30

14

29

2

18

30

14

30

1

17

31

15

31

1

17

31

15

wherein p is a fractional part of the value of the subpixel offset, and c 0 , c 1 , c 2 , and c 3 are the filter coefficients of the 4-tap interpolation filter.

14. The video encoder according to claim 13 , wherein a bit of p is set to zero.

15. The video encoder according to claim 13 , wherein p is incremented by 1 and afterwards a lower bit of the incremented p is set to zero prior to using p to obtain the filter coefficients.

16. The video encoder according to claim 13 , wherein the obtaining of the filter coefficients comprises calculating the filter coefficients according to

c

0

=

1

6

-

p

2

c

1

=

1

6

+

c

0

c

2

=

c

0

+

p

c

3

=

c

0

-

p

.

Continuity (4)
Continuation 17351957 · Jun 18, 2021
Continuation PCTRU2019050251 · Dec 20, 2019
Provisional Application 62784319 · Dec 21, 2018
Related Publication 20240146974A1 · May 2, 2024
References Cited (31)
US 9451254B2 · Joshi et al. · 2016 [cited by applicant]
US 9948939B2 · Zhang · 2018 [cited by examiner]
US 10045046B2 · Panchal · 2018 [cited by examiner]
US 10341659B2 · Lee · 2019 [cited by examiner]
US 10904565B2 · Chuang · 2021 [cited by examiner]
US 11146809B2 · Chen · 2021 [cited by examiner]
US 11877013B2 · Filippov · 2024 [cited by examiner]
US 12192513B2 · Filippov · 2025 [cited by examiner]
US 20100002770A1 · Motta et al. · 2010 [cited by applicant]
US 20140161189A1 · Zhang et al. · 2014 [cited by applicant]
US 20150023405A1 · Joshi et al. · 2015 [cited by applicant]
US 20160014425A1 · Kirchhoffer et al. · 2016 [cited by applicant]
US 20160191946A1 · Zhou et al. · 2016 [cited by applicant]
US 20180063531A1 · Hu et al. · 2018 [cited by applicant]
US 20180098066A1 · Lee et al. · 2018 [cited by applicant]
US 20180176596A1 · Jeong et al. · 2018 [cited by applicant]
US 20180262756A1 · Filippov et al. · 2018 [cited by applicant]
US 20180338150A1 · Terada et al. · 2018 [cited by applicant]
US 20210258608A1 · Filippov et al. · 2021 [cited by applicant]
CN 103891289A · 2014 [cited by applicant]
CN 104969551A · 2015 [cited by applicant]
CN 105379266A · 2016 [cited by applicant]
CN 108605124A · 2018 [cited by applicant]
JP 2019530351A · 2019 [cited by applicant]
WO 2017086823A1 · 2017 [cited by applicant]
WO 2018063886A1 · 2018 [cited by applicant]
Block-Adaptive Interpolation Filter using for Sub-Pixel Motion Compensation; 2012. (Year: 2012). [cited by examiner]
Improved intra angular prediction by DCT based interpolation filter; Matsuo; Aug. 27, 2012. (Year: 2012). [cited by examiner]
Document: JVET-L0324-v2, Geert Van der Auwera et al, CE3: Intra reference sample interpolation filter selection using MDIS conditions (Test 3.1.2), Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/S… [cited by applicant]
Document: JVET-M0158-v2, Alexey Filippov et al, Non-CE3: LUT-free interpolation filters for intra prediction, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IECJTC 1/SC 29/WVG11, 13th Meeting: Marrakech, MA… [cited by applicant]
Van Der Auwera, Geert et al., CE3-related: On MDIS and intra interpolation filter switching, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 11th Meeting: Ljubljana, SI, Jul. 10-18, 201… [cited by applicant]