IP Library Granted Patent US 10,645,381
Granted Patent B2
US 10,645,381 · App. 15/966,005 · Granted May 5, 2020

Intra-prediction for smooth blocks in image/video

Inventors: Urvang Joshi (Mountain View, CA); Debargha Mukherjee (Cupertino, CA)
Assignee: GOOGLE LLC
H04N19/11H04N19/176H04N19/593H04N19/61H04N19/59
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 10,645,381
App. No.
15/966,005
Granted
May 5, 2020
Kind
B2
Abstract

Coding a block of a video frame using an intra-prediction mode is disclosed. A method includes selecting first neighboring pixels, generating second pixels for use along a second edge that is opposite the first edge of the block, and generating a prediction block that includes predicted pixels. The first neighboring pixels are peripheral to the block along a first edge of the block. The second pixels are generated using third neighboring pixels that are peripheral to a third edge of the block. The third edge is different from the first edge and the second edge. Generating the prediction block includes interpolating, using a first interpolation, the first neighboring pixels and the second pixels to obtain the predicted pixels.

Claims (75)

1. A method for coding a block of a video frame using an intra-prediction mode, comprising:

selecting first neighboring pixels, the first neighboring pixels being peripheral to the block along a first edge of the block;

generating second pixels for use along a second edge that is opposite the first edge of the block, wherein

the second pixels are generated using third neighboring pixels,

the third neighboring pixels being peripheral to a third edge of the block, and

the third edge being different from the first edge and the second edge;

generating a prediction block comprising predicted pixels by interpolating, using a first interpolation, the first neighboring pixels and the second pixels to obtain the predicted pixels; and

coding the intra-prediction mode, wherein the intra-prediction mode is selected from a first set comprising SMOOTH_PRED, SMOOTH_V _PRED, and SMOOTH_H_PRED;

generating a transform block for a residual block;

selecting a transform type for coding the residual block from a second set comprising a DCT_ADST transform type, an ADST_DCT transform type, and an ADST_ADST transform type, wherein

in a first case where the intra-prediction mode is the SMOOTH_PRED, the transform type is the ADST_ADST transform type,

in a second case where the intra-prediction mode is the SMOOTH_H_PRED, the transform type is the DC_TADST transform type, and

in a third case where the intra-prediction mode is the SMOOTH_V_PRED, the transform type is the ADST_DCT transform type; and

coding the transform block using the transform type.

2. The method of claim 1 , wherein the first interpolation is a quadratic interpolation.

3. The method of claim 2 , wherein interpolating, using the first interpolation, the first neighboring pixels and the second pixels comprises:

looking up coefficients for the quadratic interpolation in a weights table.

4. The method of claim 1 , further comprising:

generating fourth pixels for use along a fourth edge that is opposite the third edge of the block,

wherein the fourth pixels are generated using the first neighboring pixels,

wherein generating the prediction block further comprises:

interpolating, using a second interpolation, the third neighboring pixels and the fourth pixels to obtain the predicted pixels.

5. The method of claim 4 , wherein the prediction block comprises the fourth pixels.

6. The method of claim 1 , wherein the prediction block comprises the second pixels.

7. An apparatus for encoding a block of a video frame using an intra-prediction mode, comprising:

a memory; and

a processor, wherein the processor is configured to execute instructions stored in the memory to:

select first neighboring pixels, the first neighboring pixels being peripheral to the block along a first edge of the block;

generate second pixels for use along a second edge that is opposite the first edge of the block, wherein

the second pixels are generated using third neighboring pixels,

the third neighboring pixels being peripheral to a third edge of the block, and

the third edge being different from the first edge and the second edge;

generate a prediction block comprising predicted pixels by executing instructions to=interpolate, using an interpolation, the first neighboring pixels and the second pixels to obtain the predicted pixels;

generate a residual block using the prediction block and the block of video;

encode the intra-prediction mode, the intra-prediction mode selected from a first set comprising a first intra-prediction mode, a second intra-prediction mode, and a third intra-prediction mode; and

encode the residual block in a compressed bitstream by instructions to:

select a transform type for coding the residual block from a second set comprising a DCT_ADST transform type, an ADST_DCT transform type, and an ADST_ADST transform type, wherein

in a first case where the intra-prediction mode is the first intra-prediction mode, the transform type is the ADST_ADST transform type,

in a second case where the intra-prediction mode is the second intra-prediction mode, the transform type is the ADST _DCT transform type, and

in a third case where the intra-prediction mode is the third intra-prediction mode, the transform type is the DCT_ADST transform type.

8. The apparatus of claim 7 , wherein the interpolation is a quadratic interpolation.

9. The apparatus of claim 8 , wherein to interpolate, using the interpolation, the first neighboring pixels and the second pixels comprises:

looking up coefficients for the quadratic interpolation in a weights table.

10. The apparatus of claim 7 , wherein the instructions further comprise instructions to:

generate fourth pixels for use along a fourth edge that is opposite the third edge of the block, wherein the fourth pixels are generated using the first neighboring pixels,

wherein to generate the prediction block further comprises:

interpolating, using the interpolation, the third neighboring pixels and the fourth pixels to obtain the predicted pixels.

11. The apparatus of claim 10 , wherein the prediction block comprises the fourth pixels.

12. The apparatus of claim 7 , wherein the prediction block comprises the second pixels.

13. An apparatus for decoding a block of a video frame using an intra-prediction mode, comprising:

a memory; and

a processor, wherein the processor is configured to execute instructions stored in the memory to:

select first neighboring pixels, the first neighboring pixels being peripheral to the block along a first edge of the block;

generate second pixels for use along a second edge that is opposite the first edge of the block, wherein

the second pixels are generated using third neighboring pixels,

the third neighboring pixels being peripheral to a third edge of the block, and

the third edge being different from the first edge and the second edge;

generate a prediction block comprising predicted pixels by executing instructions to

interpolate, using an interpolation, the first neighboring pixels and the second pixels to obtain the predicted pixels;

decode, from a compressed bitstream, the intra-prediction mode, the intra-prediction mode being one of a first intra-prediction mode, a second intra-prediction mode, and a third intra-prediction mode;

decode, from the compressed bitstream, a residual block by instructions to:

select a transform type for decoding the residual block from a second set comprising a DCT_ADST transform type, an ADST_DCT transform type, and an ADST_ADST transform type, wherein

in a first case where the intra-prediction mode is the first intra-prediction mode, the transform type is the ADST_ADST transform type,

in a second case where the intra-prediction mode is the second intra-prediction mode, the transform type is the ADST_DCT transform type, and

in a third case where the intra-prediction mode is the third intra-prediction mode, the transform type is the DCT_ADST transform type; and

reconstruct the block using the residual block and the prediction block.

14. The apparatus of claim 13 , wherein the interpolation is a quadratic interpolation.

15. The apparatus of claim 14 , wherein to interpolate, using the interpolation, the first neighboring pixels and the second pixels comprises:

looking up coefficients for the quadratic interpolation in a weights table.

16. The apparatus of claim 13 , wherein the instructions further comprise instructions to:

generate fourth pixels for use along a fourth edge that is opposite the third edge of the block,

wherein the fourth pixels are generated using the first neighboring pixels,

wherein to generate the prediction block further comprises:

interpolating, using the interpolation, the third neighboring pixels and the fourth pixels to obtain the predicted pixels.

17. The apparatus of claim 16 , wherein the prediction block comprises the fourth pixels.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2018
From: JOSHI, URVANG; MUKHERJEE, DEBARGHA
To: GOOGLE LLC
Reel/Frame 045678/0728 →
Continuity (1)
Related Publication 20190335199A1 · Oct 31, 2019
Cited By (1)
US 12,389,036