IP Library Granted Patent US 9,930,362
Granted Patent B2
US 9,930,362 · App. 13/866,468 · Granted Mar 27, 2018

Intra prediction in lossless coding in HEVC

Inventors: Wen Gao (West Windsor, NJ); Minqiang Jiang (Campbell, CA); Haoping Yu (Carmel, IN)
Assignee: Futurewei Technologies, Inc.
H04N19/593H04N19/11H04N19/13H04N19/134H04N19/14H04N19/176H04N19/182H04N19/51
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 9,930,362
App. No.
13/866,468
Granted
Mar 27, 2018
Kind
B2
Abstract

A method for improved prediction in boundary samples in prediction units (PUs) in pixel based prediction. The method includes computing predicted values for a plurality of border pixels in a PU using corresponding left, upper, and upper left adjacent neighboring pixels in the PU. The method further includes computing predicted values for a second plurality of pixels in the PU using sample based angular prediction (SAP). The second plurality of pixels includes all other pixels in the PU besides the plurality of border pixels.

Claims (267)

1. A method comprising:

computing, using a processor at least partially implemented in hardware, predicted values for a plurality of border pixels in a prediction unit (PU) using each of corresponding left, upper, and upper left adjacent neighboring pixels, wherein each of the corresponding left, upper, and upper left adjacent neighboring pixels and the plurality of border pixels are in the PU, and wherein the plurality of border pixels are adjacent to one of a bottom border and a right border of the PU; and

computing, using the processor, predicted values for a second plurality of pixels in the PU using sample based angular prediction (SAP), wherein the second plurality of pixels comprises all other pixels in the PU besides the plurality of border pixels,

wherein computing the predicted values for the plurality of border pixels in the PU based on the corresponding left, upper, and upper left adjacent neighboring pixel values comprises computing the predicted values as:

P

(

X

)

=

{

min

(

A

,

B

)

if

C

max

(

A

,

B

)

max

(

A

,

B

)

if

C

min

(

A

,

B

)

A

+

B

-

C

else

,

where P(X) represents the predicted value of pixel X, A represents the corresponding left pixel value, B represents the corresponding upper pixel value, and C represents the corresponding upper left pixel value.

2. The method of claim 1 , wherein computing the predicted values for the second plurality of pixels comprises computing, for each pixel in the second plurality of pixels, a predicted value as a linear combination of corresponding neighboring pixel values according to a prediction angle.

3. The method of claim 2 , wherein the predicted values for the plurality of border pixels and the predicted values for the second plurality of pixels form a prediction block of the PU, and wherein the method further comprises:

subtracting the prediction block from an original block to generate a residual block; and

perform lossless encoding of the residual block by entropy encoding the residual block to generate a portion of a bitstream.

4. The method of claim 3 , further comprising:

formatting the portion of the bitstream for transmission; and

transmitting the formatted portion.

5. The method of claim 2 , further comprising:

selecting a scanning processing order as a horizontal scanning processing order or a vertical scanning processing order; and

selecting the prediction angle,

wherein the corresponding neighboring pixel values comprise corresponding two pixel values, and

wherein the linear combination comprises weights of the two pixel values that depend on the prediction angle.

6. The method of claim 5 , further comprising selecting the plurality of border pixels based on the scanning processing order.

7. The method of claim 6 , wherein the plurality of border pixels is located along a right border of the PU when the scanning processing order is the horizontal scanning processing order, wherein the plurality of border pixels is located along a bottom border of the PU when the scanning processing order is the vertical scanning processing order.

8. An apparatus comprising:

a memory; and

a processor at least partially implemented in hardware and operably coupled to the memory, wherein the processor is configured to:

compute predicted values for a plurality of border pixels in a prediction unit (PU) using each of corresponding left, upper, and upper left adjacent neighboring pixels, wherein each of the corresponding left, upper, and upper left adjacent neighboring pixels and the plurality of border pixels are in the PU, and wherein the plurality of border pixels are adjacent to one of a bottom border and a right border of the PU; and

compute predicted values for a second plurality of pixels in the PU using sample based angular prediction (SAP), wherein the second plurality of pixels comprises all other pixels in the PU besides the plurality of border,

wherein computing the predicted values for the plurality of border pixels in the PU based on the corresponding left, upper, and upper left adjacent neighboring pixel values comprises computing the predicted values as:

P

(

X

)

=

{

min

(

A

,

B

)

if

C

max

(

A

,

B

)

max

(

A

,

B

)

if

C

min

(

A

,

B

)

A

+

B

-

C

else

,

where P(X) represents the predicted value of pixel X, A represents the corresponding left pixel value, B represents the corresponding upper pixel value, and C represents the corresponding upper left pixel value.

9. The apparatus of claim 8 , wherein computing the predicted values for the second plurality of pixels comprises computing, for each pixel in the second plurality of pixels, a predicted value as a linear combination of corresponding neighboring pixel values according to a prediction angle.

10. The apparatus of claim 9 , wherein the predicted values for the plurality of border pixels and the predicted values for the second plurality of pixels form a prediction block of the PU, and wherein the processor is further configured to:

subtract the prediction block from an original block to generate a residual block; and

entropy encode the residual block to generate a portion of a bitstream.

11. The apparatus of claim 10 , wherein the processor is further configured to format the portion of the bitstream for transmission, and wherein the apparatus further comprises a transmitter configured to transmit the formatted portion.

12. The apparatus of claim 9 , wherein the processor is further configured to:

select a scanning processing order as a horizontal scanning processing order or a vertical scanning processing order; and

select the prediction angle,

wherein the corresponding neighboring pixel values comprise corresponding two pixel values, and

wherein the linear combination comprises weights of the two pixel values that depend on the prediction angle.

13. A method comprising:

entropy decoding, using a processor at least partially implemented in hardware, a portion of a bitstream to generate a residual block;

reconstructing, using the processor, a prediction block corresponding to the residual block by:

reconstructing a plurality of border pixels in the prediction block using each of corresponding left, upper, and upper left adjacent neighboring reconstructed pixel values, wherein the plurality of border pixels are adjacent to one of a bottom border and a right border of the prediction block, wherein each of the corresponding left, upper, and upper left adjacent neighboring pixels and the plurality of border pixels are in the prediction block; and

reconstructing a second plurality of pixels using sample based angular prediction (SAP), wherein the second plurality of pixels comprises all other pixels in the prediction block besides the plurality of border pixels, and wherein the second plurality of pixels and the plurality of border pixels form the prediction block; and

adding, using the processor, the prediction block to the residual block to generate an estimate of an original block in a video frame,

wherein reconstructing the plurality of border pixels in the prediction block based on the corresponding left, upper, and upper left adjacent neighboring reconstructed pixel values comprises reconstructing the border pixels as:

P

(

X

)

=

{

min

(

A

,

B

)

if

C

max

(

A

,

B

)

max

(

A

,

B

)

if

C

min

(

A

,

B

)

A

+

B

-

C

else

,

where P(X) represents the reconstructed pixel value of pixel X, A represents the corresponding left pixel value, B represents the corresponding upper pixel value, and C represents the corresponding upper left pixel value.

14. The method of claim 13 , wherein reconstructing the second plurality of pixels comprises:

computing, for each pixel position in the second plurality of pixels, a predicted value as a linear combination of a corresponding pair of neighboring reconstructed pixel values according to a prediction angle.

15. The method of claim 13 , further comprising:

determining the scanning processing order; and

determining the plurality of border pixels depending on the scanning processing order.

16. An apparatus comprising:

a memory; and

a processor operably coupled to the memory and implemented at least partially in hardware, wherein the processor is configured to:

entropy decode a portion of a bitstream to generate a residual block;

reconstruct a prediction block corresponding to the residual block by:

reconstructing a plurality of border pixels in the prediction block using each of corresponding left, upper, and upper left adjacent neighboring reconstructed pixel values, wherein the plurality of border pixels are adjacent to one of a bottom border and a right border of the prediction block, wherein each of the corresponding left, upper, and upper left adjacent neighboring pixels and the plurality of border pixels are in the prediction block; and

reconstructing a second plurality of pixels using sample based angular prediction (SAP), wherein the second plurality of pixels comprises all other pixels in the prediction block besides the plurality of border pixels, and wherein the second plurality of pixels and the plurality of border pixels form the prediction block; and

add the prediction block to the residual block to generate an estimate of an original block in a video frame,

wherein reconstructing the plurality of border pixels in the prediction block based on the corresponding left, upper, and upper left adjacent neighboring reconstructed pixel values comprises reconstructing the border pixels as:

P

(

X

)

=

{

min

(

A

,

B

)

if

C

max

(

A

,

B

)

max

(

A

,

B

)

if

C

min

(

A

,

B

)

A

+

B

-

C

else

,

where P(X) represents the reconstructed pixel value of pixel X, A represents the corresponding left pixel value, B represents the corresponding upper pixel value, and C represents the corresponding upper left pixel value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2014
From: GAO, WEN; JIANG, MINQIANG; YU, HAOPING
To: FUTUREWEI TECHNOLOGIES, INC.
Reel/Frame 031924/0476 →
Continuity (2)
Provisional Application 61636409 · Apr 20, 2012
Related Publication 20130279583A1 · Oct 24, 2013