IP Library Granted Patent US 9,615,086
Granted Patent B2
US 9,615,086 · App. 14/173,992 · Granted Apr 4, 2017

Method and apparatus for intra prediction

Inventors: Byeung Woo Jeon (Seongnami-si, KR); Ho Young Lee (Suwon-si, KR); Kwang Hyun Won (Bucheon-si, KR)
Assignee: RESEARCH & BUSINESS FOUNDATION SUNGKYUNKWAN UNIVERSITY
H04N19/00303H04N19/117H04N19/157H04N19/176H04N19/182H04N19/593H04N19/82
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,615,086
App. No.
14/173,992
Granted
Apr 4, 2017
Kind
B2
Abstract

Disclosed herein are a method and apparatus for filtering a reference pixel. A method of smoothing a reference pixel may include determining whether or not to perform smoothing on a reference pixel based on the size of a transform block and information about an intra-prediction mode for the transform block and determining a smoothing method by comparing the size of the transform block with the size of a maximum transform block. Accordingly, image coding efficiency can be increased, and picture quality can be improved.

Claims (811)

1. An intra-prediction method in which an intra-prediction is currently performed on a current block, comprising:

determining whether or not to perform smoothing on a reference pixel of the current block based on a size of a block and an intra-prediction mode for the current block, the size of the block being indicated by an encoder and transmitted to a decoder through a higher layer syntax;

determining a smoothing filter by comparing the size of the current block with the transmitted size of the block, and

in response to the result of comparison between the size of the current block and the transmitted size of the block, determining the smoothing filter to be a bi-linear smoothing filter or a smoothing filter having predetermined filtering coefficients of [1, 2, 1].

2. An intra-prediction method in which an intra-prediction is currently performed on a current block, comprising:

determining whether or not to perform smoothing on a reference pixel of the current block based on a size of a block and an intra-prediction mode for the current block, the size of the block being indicated by an encoder and transmitted to a decoder through a higher layer syntax; and

determining a smoothing method by comparing the size of the current block with the transmitted size of the block,

wherein the determining of whether or not to perform smoothing on the reference pixel based on the transmitted size of the block and the intra-prediction mode for the current block comprises determining to perform smoothing only in response to each of:

the size of the current block being 8×8 and the intra-prediction mode for the current block being a No. 2 intra-prediction mode,

the size of the current block being 8×8 and the intra-prediction mode for the current block being a No. 18 intra-prediction mode,

the size of the current block being 8×8 and the intra-prediction mode for the current block being a No. 34 intra-prediction mode, and

the size of the current block being 8×8 and the intra-prediction mode for the current block being a planar mode;

the size of the current block being 16×16 and the intra-prediction mode for the current block being No. 2 intra-prediction mode to a No. 8 intra-prediction mode,

the size of the current block being 16×16 and the intra-prediction mode for the current block being a No. 12 intra-prediction mode to a No. 24 intra-prediction mode,

the size of the current block being 16×16 and the intra-prediction mode for the current block being a No. 28 intra-prediction mode to a No. 34 intra-prediction mode, and

the size of the current block being 16×16 and the intra-prediction mode for the current block being a planar mode; and

the size of the current block being 32×32 and the intra-prediction mode for the current block being a No. 2 intra-prediction mode to a No. 34 intra-prediction mode, and

the size of the current block being 32×32 and the intra-prediction mode for the current block being a planar mode other than a No. 10 intra-prediction mode and a No. 26 intra-prediction mode.

3. The intra-prediction method of claim 1 , wherein the smoothing filter having the filtering coefficients of [1,2,1] is a filter for calculating a filtered reference pixel,

pF[x][y ]( x=− 1, y=− 1 . . . nT* 2−1, x=− 1 . . . nT* 2−1, y=− 1)

according to the equations:

pF[− 1 ][nT* 2−1 ]=p[− 1 ][nT* 2−1]

pF[nT* 2−1][−1 ]=p[uT* 2−1][−1]

pF[− 1 ][y ]=( p[− 1 ][y+ 1]+2 *p[− 1 ][y]+p[− 1 ][y− 1]+2)>>2 for y=nT* 2−2 . . . 0

pF[− 1][−1]=( p[− 1][0]+2 *p[− 1][−1 ]+p[ 0][−1]+2)>>2

pF[x][− 1]=( p[x− 1][−1]+2* p[x][− 1]+ p[x+ 1][−1]+2)>>2 for x= 0 . . . nT* 2−2

wherein the current block is a current transform block and the size of the current block is a size of a current transform block, and wherein the size of the current transform block is nT, a reference pixel of the current transform block is

p[x][y ]( x=− 1, y=− 1 . . . nT* 2−1, x=− 1 . . . nT* 2−1, y=− 1).

4. The intra-prediction method of claim 1 , wherein the bi-linear smoothing filter is a filter for calculating a filtered reference pixel

pF[x][y ]( x=− 1, y=− 1 . . . nT* 2−1, x=− 1 . . . nT* 2−1, y=− 1)

according to the equations:

pF[− 1 ][nT* 2−1 ]=p[− 1 ][nT* 2−1]

pF[nT* 2−1][−1 ]=p[nT* 2−1][−1]

pF[− 1 ][y ]=(( nT* 2−1 −y )* p[− 1][−1]+( y+ 1)* p[− 1 ][nT* 2−1 ]+nT )>>(1+log 2 ( nT )) for y= 0 . . . nT* 2−2

pF[− 1][−1]= p[− 1][−1]

pF[x][− 1]=(( nT* 2−1 −x )* p[− 1][−1 ]+x+ 1)* p[nT* 2−1][−1 ]+nT )>>(1+log 2 ( nT )) for x= 0 . . . nT* 2−2

wherein the current block is a current transform block and the size of the current block is a size of a current transform block, and wherein the size of the current transform block is nT, and a reference pixel of the current transform block is

p[x][y ]( x=− 1, y=− 1 . . . nT* 2−1, x=− 1 . . . nT* 2−1, y=− 1).

5. The intra-prediction method of claim 1 , further comprising decoding flag information, wherein the flag information is information for determining whether or not to perform smoothing on the reference pixel by determining whether or not to perform smoothing on the reference pixel based on the size of the current block and the intra-prediction mode for the current block and comparing the size of the current block with the size of the block.

6. The intra-prediction method of claim 1 , further comprising determining an intra-prediction method for a specific intra-prediction mode by comparing the size of the current block with the transmitted size of the block.

7. An intra-prediction method in which an intra-prediction is currently performed on a current block, comprising:

determining whether or not to perform smoothing on a reference pixel of the current block based on a size of a block and an intra-prediction mode for the current block, the size of the block being indicated by an encoder and transmitted to a decoder through a higher layer syntax;

determining a smoothing method by comparing the size of the current block with the transmitted size of the block;

determining intra-prediction method for a specific intra-prediction mode by comparing the size of the current block with the transmitted size of the block; and,

in response to the size of the current block being identical with the transmitted size of the block, performing intra-prediction to determine a predicted pixel, predSample[x][y], of the block according to:

predSample

[

x

]

[

y

]

=

dcVal

,

with

x

,

y

=

1

nT

-

1

dcVal

=

(

x

=

0

nT

-

1

p

[

x

]

[

-

1

]

+

y

=

0

nT

-

1

p

[

-

1

]

[

y

]

+

nT

)

>>

(

k

+

1

)

,

where

k

=

log

2

(

nT

)

in response to the intra-prediction mode being a planar mode:

predSample[ x][y]=p[x][− 1],with x,y= 0 . . . nT− 1

predSample[ x][y] =Clip1 Y{p[x][− 1]+(( p[− 1][ y]−p[− 1][−1])>>1},with x =0 ,y= 0 , . . . nT− 1

in response to the intra-prediction mode being a vertical mode; and

predSample[ x][y]=p[− 1 ][y] ,with x= 0 . . . nT− 1 and y= 1 . . . nT− 1

predSample[ x][y] =Clip1 Y{p[− 1 ][y ]+(( p[x][− 1 ]−p[− 1][−1])>>1},with x= 0 . . . nT −1, y= 0

in response to the intra-prediction mode being a horizontal mode,

wherein the current block is a current transform block and the size of the current block is a size of a current transform block, and wherein the size of the current block is nT, a reference pixel of the transform current block is

p[x][y ]( x=− 1, y=− 1 . . . nT* 2−1, x=− 1 . . . nT* 2−1, y=− 1),

and Clip is a clipping function.

8. An intra-prediction method in which an intra-prediction is currently performed on a current block, comprising:

determining whether or not to perform smoothing on a reference pixel of the current block based on a size of a block and an intra-prediction mode for the current block, the size of the block being indicated by an encoder and transmitted to a decoder through a higher layer syntax;

determining a smoothing method by comparing the size of the current block with the transmitted size of the block;

determining an intra-prediction method for a specific intra-prediction mode by comparing the size of the current block with the transmitted size of the block; and

in response to the size of the current block being not identical with the transmitted size of the block, performing intra-prediction to determine a predicted pixel, predSample[x][y], of the block according to:

predSample

[

0

]

[

0

]

=

(

p

[

-

1

]

[

0

]

+

2

*

dcVal

+

p

[

0

]

[

-

1

]

+

2

)

>>

2

predSample

[

x

]

[

0

]

=

(

p

[

x

]

[

-

1

]

+

3

*

dcVal

+

2

)

>>

2

,

with

x

=

1

nT

-

1

predSample

[

0

]

[

y

]

=

(

p

[

-

1

]

[

y

]

+

3

*

dcVal

+

2

)

>>

2

,

with

y

=

1

nT

-

1

predSample

[

x

]

[

y

]

=

dcVal

,

with

x

,

y

=

1

nT

-

1

dcVal

=

(

x

=

0

nT

-

1

p

[

x

]

[

-

1

]

+

y

=

0

nT

-

1

p

[

-

1

]

[

y

]

+

nT

)

>>

(

k

+

1

)

,

where

k

=

log

2

(

nT

)

in response to the intra-prediction mode being a planar mode;

predSample[ x][y]=p[x][− 1],with x,y= 0 . . . nT− 1

in response to the intra-prediction mode being a vertical mode; and

predSample[ x][y]=p[− 1 ][y] ,with x,y= 0 . . . nT− 1

in response to the intra-prediction mode being a horizontal mode,

wherein the current block is a current transform block and the size of the current block is a size of a current transform block, and wherein the size of the current transform block is nT, a reference pixel of the current transform block is

p[x][y ]( x=− 1, y=− 1 . . . nT* 2−1, x=− 1 . . . nT* 2−1, y=− 1)

and Clip is a clipping function.

9. An image decoder in which an intra-prediction is currently performed on a current block, comprising:

an intra-prediction unit configured to

determine whether or not to perform smoothing on a reference pixel of the current block based on a size of a block and an intra-prediction mode for the current block, the size of the block being indicated by an encoder and transmitted to the decoder through a higher layer syntax,

determine a smoothing method by comparing the size of the current block with the transmitted size of the block,

in response to the result of comparison between the size of the current block and the transmitted size of the block, determine the smoothing filter to be a bi-linear smoothing filter or a smoothing filter having predetermined filtering coefficients of [1, 2, 1].

10. An image decoder in which an intra-prediction is currently performed on a current block, comprising:

an intra-prediction unit configured to

determine whether or not to perform smoothing on a reference pixel of the current block based on a size of a block and an intra-prediction mode for the current block, the size of the block being indicated by an encoder and transmitted to the decoder through a higher layer syntax,

determine a smoothing method by comparing the size of the current block with the transmitted size of the block,

wherein the intra-prediction unit is configured to determine to perform smoothing only in response to each of:

the size of the current block being 8×8 and the intra-prediction mode for the current block being a No. 2 intra-prediction mode,

the size of the current block being 8×8 and the intra-prediction mode for the current block being a No. 18 intra-prediction mode,

the size of the current block being 8×8 and the intra-prediction mode for the current block being a No. 34 intra-prediction mode,

the size of the current block being 8×8 and the intra-prediction mode for the current block being a planar mode;

the size of the current block being 16×16 and the intra-prediction mode for the current block being a No. 2 intra-prediction mode to a No. 8 intra-prediction mode,

the size of the current block being 16×16 and the intra-prediction mode for the current block being a No. 12 intra-prediction mode to a No. 24 intra-prediction mode,

the size of the current block being 16×16 and the intra-prediction mode for the current block being a No. 28 intra-prediction mode to a No. 34 intra-prediction mode, and

the size of the current block being 16×16 and the intra-prediction mode for the current block being a planar mode; and

the size of the current block being 32×32 and the intra-prediction mode for the current block being No. 2 intra-prediction mode to a No. 34 intra-prediction mode, and

the size of the current block being 32×32 and the intra-prediction mode for the current block being a planar mode other than a No. 10 intra-prediction mode and a No. 26 intra-prediction mode.

11. The image decoder of claim 9 ,

wherein the smoothing filter having the filtering coefficients of [1,2,1] is a filter for calculating a filtered reference pixel,

pF[x][y ]( x=− 1, y=− 1 . . . nT* 2−1, x=− 1 . . . nT* 2−1, y=− 1),

according to:

pF[− 1 ][nT* 2−1 ]=p[− 1 ][nT* 2−1]

pF[nT* 2−1][−1 ]=p[uT* 2−1][−1]

pF[− 1 ][y ]=( p[− 1 ][y+ 1]+2 *p[− 1 ][y]+p[− 1 ][y− 1]+2)>>2 for y=nT* 2−2 . . . 0

pF[− 1][−1]=( p[− 1][0]+2 *p[− 1][−1 ]+p[ 0][−1]+2)>>2

pF[x][− 1]=( p[x− 1][−1]+2 *p[x][− 1 ]+p[x+ 1][−1]+2)>>2 for x= 0 . . . nT* 2−2

wherein the current block is a current transform block and the size of the current block is a size of a current transform block, and wherein the size of the transform current block is nT, and a reference pixel of the transform block is

p[x][y ]( x=− 1, y=− 1 . . . nT* 2−1, x=− 1 . . . nT* 2−1, y=− 1).

12. The image decoder of claim 9 ,

wherein the bi-linear smoothing filter is a filter for calculating a filtered reference pixel,

pF[x][y ]( x=− 1, y=− 1 . . . nT* 2−1, x=− 1 . . . nT* 2−1, y=− 1) according to:

pF[− 1 ][nT* 2−1 ]=p[− 1 ][nT* 2−1]

pF[nT* 2−1][−1 ]=p[nT* 2−1][−1]

pF[− 1 ][y ]=(( nT* 2−1 −y )* p[− 1][−1]+( y+ 1)* p[− 1 ][nT* 2−1 ]+nT )>>(1+log 2 ( nT )) for y= 0 . . . nT* 2−2

pF[− 1][−1]= p[− 1][−1]

pF[x][− 1]=(( nT* 2−1 −x )* p[− 1][−1 ]+x+ 1)* p[nT* 2−1][−1 ]+nT )>>(1+log 2 ( nT )) for x= 0 . . . nT* 2−2

wherein the current block is a current transform block and the size of the current block is a size of a current transform block, and wherein the size of the transform block is nT, and a reference pixel of the transform block is p[x][y](x=−1, y=−1 . . . nT*2−1, x=−1 . . . nT*2−1, y=−1).

13. The image decoder of claim 9 , further comprising an entropy decoding unit,

wherein the entropy decoding unit is configured to decode flag information, and

the flag information is information for determining whether or not to perform smoothing on the reference pixel by determining whether or not to perform smoothing on the reference pixel based on the size of the current block and the intra-prediction mode for the current block and comparing the size of the current block with the transmitted size of the block.

14. The image decoder of claim 9 , wherein the intra-prediction unit is configured to determine an intra-prediction method for a specific intra-prediction mode by comparing the size of the current block with the transmitted size of the block.

15. An image decoder in which an intra-prediction is currently performed on a current block, comprising:

an intra-prediction unit configured to:

determine whether or not to perform smoothing on a reference pixel of the current block based on a size of a block and an intra-prediction mode for the current block, the size of the block being indicated by an encoder and transmitted to the decoder through a higher layer syntax,

determine a smoothing method by comparing the size of the current block with the transmitted size of the block,

determine an intra-prediction method for a specific intra-prediction mode by comparing the size of the current block with the transmitted size of the block; and

in response to the size of the current block being identical with the transmitted size of the block, determine a predicted pixel, predSample[x][y], of the block according to:

predSample

[

x

]

[

y

]

=

dcVal

,

with

x

,

y

=

1

nT

-

1

dcVal

=

(

x

=

0

nT

-

1

p

[

x

]

[

-

1

]

+

y

=

0

nT

-

1

p

[

-

1

]

[

y

]

+

nT

)

>>

(

k

+

1

)

,

where

k

=

log

2

(

nT

)

in response to the intra-prediction mode being a planar mode;

predSample[ x][y]=p[x][− 1],with x,y= 0 . . . nT− 1

predSample[ x][y] =Clip1 Y{p[x][− 1]+(( p[− 1][ y]−p[− 1][−1])>>1},with x =0 ,y= 0 , . . . nT− 1

in response to the intra-prediction mode being a vertical mode; and

predSample[ x][y]=p[x][− 1],with x= 1 . . . NT− 1 and y= 0 . . . nT− 1

predSample[ x][y] =Clip1 Y{p[x][− 1]+(( p[− 1][ y]−p[− 1][−1])>>1},with x =0 ,y= 0 , . . . nT− 1

in response to the intra-prediction mode being a horizontal mode,

wherein the current block is a current transform block and the size of the current block is a size of a current transform block, and wherein the size of the transform block is nT, a reference pixel of the transform block is p[x][y](x=−1, y=−1 . . . nT*2−1, x=−1 . . . nT*2−1, y=−1) and Clip is a clipping function.

16. An image decoder in which an intra-prediction is currently performed on a current block, comprising:

an intra-prediction unit configured to:

determine whether or not to perform smoothing on a reference pixel of the current block based on a size of a block and an intra-prediction mode for the current block, the size of the block being indicated by an encoder and transmitted to the decoder through a higher layer syntax,

determine a smoothing method by comparing the size of the current block with the transmitted size of the block,

determine an intra-prediction method for a specific intra-prediction mode by comparing the size of the current block with the transmitted size of the block; and

in response to the size of the current block being not identical with the transmitted size of the block, determine a predicted pixel, predSample[x][y], of the block according to:

predSample

[

0

]

[

0

]

=

(

p

[

-

1

]

[

0

]

+

2

*

dcVal

+

p

[

0

]

[

-

1

]

+

2

)

>>

2

predSample

[

x

]

[

0

]

=

(

p

[

x

]

[

-

1

]

+

3

*

dcVal

+

2

)

>>

2

,

with

x

=

1

nT

-

1

predSample

[

0

]

[

y

]

=

(

p

[

-

1

]

[

y

]

+

3

*

dcVal

+

2

)

>>

2

,

with

y

=

1

nT

-

1

predSample

[

x

]

[

y

]

=

dcVal

,

with

x

,

y

=

1

nT

-

1

dcVal

=

(

x

=

0

nT

-

1

p

[

x

]

[

-

1

]

+

y

=

0

nT

-

1

p

[

-

1

]

[

y

]

+

nT

)

>>

(

k

+

1

)

,

where

k

=

log

2

(

nT

)

in response to the intra-prediction mode being a planar mode;

predSample[ x][y]=p[x][− 1],with x,y= 0 . . . nT− 1

in response to the intra-prediction mode being a vertical mode; and

predSample[ x][y]=p[− 1 ][y] ,with x,y= 0 . . . nT− 1

in response to the intra-prediction mode being a horizontal mode,

wherein the current block is a current transform block and the size of the current block is a size of a current transform block, and wherein the size of the transform block is nT, a reference pixel of the transform block is

p[x][y ]( x=− 1, y=− 1 . . . nT* 2−1, x=− 1 . . . nT* 2−1, y=− 1).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2014
From: JEON, BYEUNG WOO; LEE, HO YOUNG; WON, KWANG HYUN
To: RESEARCH & BUSINESS FOUNDATION SUNGKYUNKWAN UNIVERSITY
Reel/Frame 032747/0423 →
Priority Claims (2)
KR 10-2013-0013547 · Feb 6, 2013 · national
KR 10-2013-0024988 · Mar 8, 2013 · national
Continuity (1)
Related Publication 20140219336A1 · Aug 7, 2014