IP Library › Granted Patent US 10,863,195
Granted Patent B2
US 10,863,195 · App. 13/261,843 · Granted Dec 8, 2020

Enhanced intra-prediction coding using planar representations

Inventors: Frank Jan Bossen (Mountain View, CA); Sandeep Kanumuri (Redmond, WA)
Assignee: NTT DOCOMO, INC.
H04N19/587H04N19/11H04N19/12H04N19/124H04N19/14H04N19/15H04N19/157H04N19/159H04N19/176H04N19/182H04N19/46H04N19/593H04N19/61H04N19/86
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,863,195
App. No.
13/261,843
Granted
Dec 8, 2020
Kind
B2
Abstract

The present invention provides low complexity planar mode coding in which a first prediction value is calculated using linear interpolation between a value of respective horizontal boundary pixels and a value of one of vertical boundary pixels, and a second prediction value is calculated using linear interpolation between a value of respective vertical boundary pixels and a value of one of the horizontal boundary pixels. The first and second prediction values are then averaged to derive a respective prediction pixel value in a prediction block. A residual between the prediction block and a target block is signaled to a decoder.

Claims (272)

1. A video encoding method for predicting pixel values of target pixels in a target block under a planar mode, the method comprising computer executable steps executed by a processor of a video encoder to implement:

(a) calculating a first prediction value of a target pixel in the target block using linear interpolation between a pixel value of a horizontal boundary pixel horizontally co-located with the target pixel, the horizontal boundary pixel being from among a plurality of horizontal boundary pixels located on an upper side of the target block, and a pixel value of one vertical boundary pixel from among a plurality of vertical boundary pixels located on a left side of the target block, wherein the first prediction value consists only of a first value derived solely from the linear interpolation between the pixel value of the horizontal boundary pixel horizontally co-located with the target pixel and the pixel value of said one vertical boundary pixel;

(b) calculating a second prediction value of the target pixel using linear interpolation between a pixel value of a vertical boundary pixel vertically co-located with the target pixel, the vertical boundary pixel being from among a plurality of the vertical boundary pixels and a pixel value of one horizontal boundary pixel from among a plurality of the horizontal boundary pixels, wherein the second prediction value consists only of a second value derived solely from the linear interpolation between the pixel value of the vertical boundary pixel vertically co-located with the target pixel and the pixel value of said one horizontal boundary pixel;

(c) averaging the first and second prediction values of the target pixel to derive a prediction pixel value in a prediction block, wherein the prediction pixel value consists only of an average of the first and second prediction values; and

(d) repeating steps (a)-(c) on a reset of the target pixels in the target block.

2. The method according to claim 1 , further comprising signaling a residual between the prediction block and the target block.

3. The method according to claim 2 , further comprising:

switching from a primary set of transform kernel H N (i, j) to a secondary set of transform kernel G N (i, j); and

transforming the residual, using the secondary set of transform kernel G N (i, j).

4. The method according to claim 3 , wherein the secondary set of transform kernel G N (i, j) is defined by one of the following equations:

G

N

⁡

(

i

,

j

)

=

k

i

×

sin

⁡

(

(

2

⁢

i

-

1

)

⁢

j

⁢

⁢

π

2

⁢

N

+

1

)

;

(

a

)

G

N

⁡

(

i

,

j

)

=

k

i

×

sin

⁡

(

(

2

⁢

i

-

1

)

⁢

(

2

⁢

j

-

1

)

⁢

π

4

⁢

N

)

;

and

(

b

)

G

N

⁡

(

i

,

j

)

=

k

i

×

cos

⁡

(

(

i

-

1

)

⁢

(

2

⁢

j

-

1

)

⁢

π

2

⁢

N

)

.

(

c

)

5. The method according to claim 3 , wherein the secondary set of transform kernel G N (i, j) for size N×N is defined by the primary set of transform kernel H M (i, j) for size M×M, where M>N.

6. The method according to claim 5 , wherein the secondary set of transform kernel G N (i, j) is defined by G N (i, j)=k i ×H 2N (2i, N+1−j), if transform kernels of size 2N×2N(H 2N ) are supported, or G N (i, j)=H N (i, j) otherwise.

7. A video decoding method for predicting pixel values of target pixels in a target block under a planar mode, the method comprising computer executable steps executed by a processor of a video decoder to implement:

(a) calculating a first prediction value of a target pixel in the target block using linear interpolation between a pixel value of a horizontal boundary pixel horizontally co-located with the target pixel, the horizontal boundary pixel being from among a plurality of horizontal boundary pixels located on an upper side of the target block, and a pixel value of one vertical boundary pixel from among a plurality of vertical boundary pixels located on a left side of the target block, wherein the first prediction value consists only of a first value derived solely from the linear interpolation between the pixel value of the horizontal boundary pixel horizontally co-located with the target pixel and the pixel value of said one vertical boundary pixel;

(b) calculating a second prediction value of the target pixel using linear interpolation between a pixel value of a vertical boundary pixel vertically co-located with the target pixel, the vertical boundary pixel being from among a plurality of the vertical boundary pixels and a pixel value of one horizontal boundary pixel from among a plurality of the horizontal boundary pixels, wherein the second prediction value consists only of a second value derived solely from the linear interpolation between the pixel value of the vertical boundary pixel vertically co-located with the target pixel and the pixel value of said one horizontal boundary pixel;

(c) averaging the first and second prediction values of the target pixel to derive a prediction pixel value in a prediction block, wherein the prediction pixel value consists only of an average of the first and second prediction values; and

(d) repeating steps (a)-(c) on a rest of the target pixels in the target block.

8. The method according to claim 7 , further comprising:

decoding a residual signaled from an encoder which was generated under the planar mode at an encoder; and

adding the decoded residual to the prediction block to reconstruct image data.

9. A video encoder that predicts pixel values of target pixels in a target block under a planar mode, comprising a processor of a computer system and a memory that stores programs executable by the processor to:

(a) calculate a first prediction value of a target pixel in the target block using linear interpolation between a pixel value of a horizontal boundary pixel horizontally co-located with the target pixel, the horizontal boundary pixel being from among a plurality of horizontal boundary pixels located on an upper side of the target block, and a pixel value of one vertical boundary pixel from among a plurality of vertical boundary pixels located on a left side of the target block, wherein the first prediction value consists only of a first value derived solely from the linear interpolation between the pixel value of the horizontal boundary pixel horizontally co-located with the target pixel and the pixel value of said one vertical boundary pixel;

(b) calculate a second prediction value of the target pixel using linear interpolation between a pixel value of a vertical boundary pixel vertically co-located with the target pixel. The vertical boundary pixel being from among a plurality of the vertical boundary pixels and a pixel value of one horizontal boundary pixel from among a plurality of the horizontal boundary pixels, wherein the second prediction value consists only of a second value derived solely from the linear interpolation between the pixel value of the vertical boundary pixel vertically co-located with the target pixel and the pixel value of said one horizontal boundary pixel;

(c) average the first and second prediction values of the target pixel to derive a prediction pixel value in a prediction block, wherein the prediction pixel value consists only of an average of the first and second prediction values; and

(d) repeating steps (a)-(c) on a rest of the target pixels in the target block.

10. The video encoder according to claim 9 , wherein the processor signals a residual between the prediction block and the target block.

11. The video encoder according to claim 10 , wherein the processor:

switch from a primary set of transform kernel H N (i, j) to a secondary set of transform kernel G N (i, j); and

transform the residual, using the secondary set of transform kernel G N (i, j).

12. The video encoder according to claim 11 , wherein the secondary set of transform kernel G N (i, j) is defined by one of the following equations:

G

N

⁡

(

i

,

j

)

=

k

i

×

sin

⁡

(

(

2

⁢

i

-

1

)

⁢

j

⁢

⁢

π

2

⁢

N

+

1

)

;

(

a

)

G

N

⁡

(

i

,

j

)

=

k

i

×

sin

⁡

(

(

2

⁢

i

-

1

)

⁢

(

2

⁢

j

-

1

)

⁢

π

4

⁢

N

)

;

and

(

b

)

G

N

⁡

(

i

,

j

)

=

k

i

×

cos

⁡

(

(

i

-

1

)

⁢

(

2

⁢

j

-

1

)

⁢

π

2

⁢

N

)

.

(

c

)

13. The video encoder according to claim 11 , wherein the secondary set of transform kernel G N (i, j) for size N×N is defined by the primary set of transform kernel H M (i, j) for size MxM, where M>N.

14. The video encoder according to claim 13 , wherein the secondary set of transform kernel G N (i, j) is defined by G N (i, j)=k i ×H F 2N (2i, N+1−j), if transform kernels of size 2N×2N(H F 2N ) are supported, or G N (i, j)=H F N (i, j) otherwise.

15. A video decoder that predicts pixel values of target pixels in a target block under a planar mode, comprising a processor of a computer system and a memory that stores programs executable by the processor to:

(a) calculate a first prediction value of a target pixel in the target block using linear interpolation between a pixel value of a horizontal boundary pixel horizontally co-located with the target pixel, the horizontal boundary pixel being from among a plurality of horizontal boundary pixels located on an upper side of the target block, and a pixel value of one vertical boundary pixel from among a plurality of vertical boundary pixels located on a left side of the target block, wherein the first prediction value consists only of a first value derived solely from the linear interpolation between the pixel value of the horizontal boundary pixel horizontally co-located with the target pixel and the pixel value of said one vertical boundary pixel;

(b) calculate a second prediction value of the target pixel using linear interpolation between a pixel value of a vertical boundary pixel vertically co-located with the target pixel, the vertical boundary pixel being from among a plurality of the vertical boundary pixels and a pixel value of one horizontal boundary pixel from among a plurality of the horizontal boundary pixels, wherein the second prediction value consists only of a second value derived solely from the linear interpolation between the pixel value of the vertical boundary pixel vertically co-located with the target pixel and the pixel value of said one horizontal boundary pixel,

(c) average the first and second prediction values of the target pixel to derive a prediction pixel value in a prediction block, wherein the prediction pixel value consists only of an average of the first and second prediction values; and

(d) repeating steps (a)-(c) on a rest of the target pixels in the target block.

16. The video decoder according to claim 15 , wherein the processor further:

decodes a residual signaled from an encoder; and

adds the decoded residual to the prediction block.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2014
From: BOSSEN, FRANK JAN; KANUMURI, SANDEEP
To: DOCOMO INNOVATIONS, INC.
Reel/Frame 032717/0859 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2014
From: DOCOMO INNOVATIONS, INC.
To: NTT DOCOMO, INC.
Reel/Frame 032717/0864 →
Continuity (3)
Provisional Application 61425670 · Dec 21, 2010
Provisional Application 61449528 · Mar 4, 2011
Related Publication 20140341281A1 · Nov 20, 2014