IP Library Granted Patent US 10,070,126
Granted Patent B2
US 10,070,126 · App. 14/123,201 · Granted Sep 4, 2018

Method and apparatus of intra mode coding

Inventors: Mei Guo (San Jose, CA); Xun Guo (Beijing, CN); Shaw-Min Lei (Hsinchu, TW)
Assignee: HFI INNOVATION INC.
H04N19/00763H04N19/105H04N19/11H04N19/157H04N19/176H04N19/463H04N19/593H04N19/70H04N19/91
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,070,126
App. No.
14/123,201
Granted
Sep 4, 2018
Kind
B2
Abstract

Method and apparatus for intra prediction mode coding and decoding are disclosed. In one embodiment, the encoding and decoding process assigns individual indices and codewords to DC mode and Planar mode respectively. The flag is set if the current intra prediction mode is equal to any of one or more neighboring intra prediction modes. Variable length codes are designed for a remaining mode set. If the flag is not set, the currently intra prediction mode is encoded using the variable length codes. In another embodiment, multiple most probable modes are used. If the current intra prediction mode is not equal to any of the multiple most probable modes, the current intra prediction mode is encoded using variable length codes designed for the corresponding remaining modes according the ranking order of the remaining modes.

Claims (103)

1. A method of decoding a block, the method comprising:

receiving a flag indicating whether a current intra prediction mode is equal to any of one or more most probable modes;

deriving, by a processor of a decoding apparatus based on a value of the flag, the current intra prediction mode from a decoded mode index by applying a context-adaptive entropy decoding process associated with variable length coding or arithmetic coding; and

decoding, by the processor of the decoding apparatus, the block according to the current intra prediction mode identified by the decoded mode index,

wherein

the current intra prediction mode belongs to a mode set that comprises a DC mode, a Planar mode, and at least one directional mode, each mode of the mode set being represented by a different mode index value,

the deriving the current intra prediction mode from the decoded mode index comprises:

when the decoded mode index corresponds to a first mode index value that represents the DC mode, deriving the current intra prediction mode to be the DC mode; and

when the decoded mode index corresponds to a second mode index value that represents the Planar mode, deriving the current intra prediction mode to be the Planar mode,

the first mode index value is first in a predetermined order among mode index values of modes of the mode set, and

the second mode index value is second in the predetermined order among the mode index values of the modes of the mode set.

2. The method of claim 1 , wherein

the mode set further comprising a Vertical mode and a Horizontal mode, and

the DC mode, the Planar mode, the Vertical mode, and the Horizontal mode are mapped into any permutation of a mode index group consisting of mode index values including 0, 1, 2, and 3.

3. The method of claim 1 , further comprising, if the flag indicates that the current intra prediction mode is not equal to any of the one or more most probable modes, determining a remaining mode set consisting of the intra prediction modes of the mode set that are not equal to any of the one or more most probable modes,

wherein the variable length coding is designed based on the mode index values and a ranking order of the remaining mode set.

4. The method of claim 3 , wherein

the variable length coding is based on a first table or a second table,

the first table is selected when two neighboring intra prediction modes of two neighboring blocks of the block are equal, and

the second table is selected when the two neighboring intra prediction modes are not equal.

5. The method of claim 4 , wherein

the first table comprises code lengths associated with seventeen intra prediction modes of the remaining mode set and the flag for 4×4 block size, and

the code lengths are {4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 1} for the seventeen intra prediction modes and the flag.

6. The method of claim 4 , wherein

the second table comprises code lengths associated with sixteen intra prediction modes of the remaining mode set and the flag for 4×4 block size, and

the code lengths are {4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 1} for the sixteen intra prediction modes and the flag.

7. The method of claim 4 , wherein

the first table comprises code lengths associated with seventeen intra prediction modes of the remaining mode set for 4×4 block size,

the code lengths are {3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5} for the seventeen intra prediction modes, and

the first table does not include the flag.

8. The method of claim 4 , wherein

the second table comprises code lengths associated with sixteen intra prediction modes of the remaining mode set for 4×4 block size,

the code lengths are {3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5 5, 5} for the sixteen intra prediction modes, and

the second table does not include the flag.

9. The method of claim 4 , wherein

the first table comprises code lengths associated with 34 intra prediction modes of the remaining mode set and the flag for 32×32, 16×16, and 8×8 block sizes, and

the code lengths are {4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7. 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 1} for the 34 intra prediction modes and the flag.

10. The method of claim 4 , wherein the second table comprises code lengths associated with 33 intra prediction modes of the remaining mode set and the flag for 32×32, 16×16, and 8×8 block sizes, and

the code lengths are {4, 4, 5, 6, 6, 6 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7 7 7, 7 7 7,7, 7, 7, 7, 7, 7, 8, 8, 1}for the 33 intra prediction modes and the flag.

11. The method of claim 4 , wherein

the first table comprises code lengths associated with 34 intra prediction modes of the remaining mode set for 32×32, 16×16, and 8×8 block sizes,

the code lengths are {3, 4, 4, 4, 5, 5 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7} for the 34 intra prediction modes, and

the first table does not include the flag.

12. The method of claim 4 , wherein

the second table comprises code lengths associated with 33 intra prediction modes of the remaining mode set for 32×32, 16×16, and 8×8 block sizes,

the code lengths are {3, 3, 4, 5, 5, 5, 5, 5, 5, 5 5, 5, 5, 5, 5, 5, 5, 5 6, 6, 6, 6, 6, 6, 6, 6, 6 6, 6, 6, 6, 7, 7} for the 33 intra prediction modes, and

the second table does not include the flag.

13. The method of claim 3 , wherein

the variable length coding is based on a first table or second table,

the first table is selected when the flag is coded using variable length code table, and

the second table is selected when the flag is coded separately.

14. An apparatus of decoding a block, the apparatus comprising:

a processor configured to execute executable code to cause the processor to:

receive a flag indicating whether a current intra prediction mode is equal to one or more most probable modes;

derive, based on a value of the flag, the current intra prediction mode from a decoded mode index by applying a context-adaptive entropy decoding process associated with variable length coding or arithmetic coding; and

decode the block according to the current intra prediction mode identified by the decoded mode index,

wherein

the current intra prediction mode belongs to a mode set that comprises a DC mode, a Planar mode, and at least one directional mode, each mode of the mode set being represented by a different mode index value,

the processor is configured to:

when the decoded mode index corresponds to a first mode index value that represents the DC mode, derive the current intra prediction mode to be the DC mode; and

when the decoded mode index corresponds to a second mode index value that represents the Planar mode, derive the current intra prediction mode to be the Planar mode,

the first mode index value is first in a predetermined order among mode index values of modes of the mode set, and

the second mode index value is second in the predetermined order among the mode index values of the modes of the mode set.

15. A method of encoding a block, the method comprising:

receiving a current intra prediction mode corresponding to the block, the current intra prediction mode belonging to a mode set that comprises a DC mode, a Planar mode, and at least one directional mode, each mode of the mode set being represented by a different mode index value;

mapping, by a processor of an encoding apparatus, the current intra prediction mode into a mode index based on a corresponding mode index value that represents the current intra prediction mode;

including a flag indicating whether the current intra prediction mode is equal to any of one or more most probable modes into a bitstream; and

encoding, by the processor of the encoding apparatus based on a value of the flag, the mode index of the current intra prediction mode by applying a context-adaptive entropy encoding process associated with variable length coding or arithmetic coding,

wherein

the encoding the mode index of the current intra prediction mode comprises:

when the current intra prediction mode is the DC mode, set the mode index according to a first mode index value that represents the DC mode; and

when the current intra prediction mode is the Planar mode, set the mode index according to a second mode index value that represents the Planar mode,

the first mode index value is first in a predetermined order among mode index values of modes of the mode set, and

the second mode index value is second in the predetermined order among the mode index values of the modes of the mode set.

16. The method of claim 15 , wherein

the mode set further comprising a Vertical mode and a Horizontal mode, and

the DC mode, the Planar mode, the Vertical mode and the Horizontal mode are mapped into any permutation of a mode index group consisting of mode index values including 0, 1, 2, and 3.

17. The method of claim 15 , further comprising, if the flag indicates that the current intra prediction mode is not equal to any of the one or more most probable modes, determining a remaining mode set consisting of the intra prediction modes of the mode set that are not equal to any of the one or more most probable modes,

wherein the variable length coding is designed based on the mode index values and a ranking order of the remaining mode set.

18. The method of claim 17 , wherein

the variable length coding is based on a first table or a second table,

the first table is selected when two neighboring intra prediction modes of two neighboring blocks of the block are equal, and

the second table is selected when the two neighboring intra prediction modes are not equal.

19. The method of claim 17 , wherein

the variable length coding is based on a first table or a second table,

the first table is selected when the flag is coded using a variable length code table, and

the second table is selected when the flag is coded separately.

20. An apparatus of encoding a block, the apparatus comprising:

a processor configured to execute executable code to cause the processor to:

receive a current intra prediction mode corresponding to the block,

the current intra prediction mode belonging to a mode set that comprises a DC mode, a Planar mode, and at least one directional mode, each mode of the mode set being represented by a different mode index value;

map the current intra prediction modes into a mode index based on a corresponding mode index value that represents the current intra prediction mode;

include a flag indicating whether the current intra prediction mode is equal to any of one or more most probable modes into a bitstream; and

encode, based on a value of the flag, the mode index of the current intra prediction mode by applying a context-adaptive entropy encoding process associated with variable length coding or arithmetic coding,

wherein

the processor is configured to:

when the current intra prediction mode is the DC mode, set the mode index according to a first mode index value that represents the DC mode; and

when the current intra prediction mode is the Planar mode, set the mode index according to a second mode index value that represents the Planar mode,

the first mode index value is first in a predetermined order among mode index values of modes of the mode set, and

the second mode index value is second in the predetermined order among the mode index values of the modes of the mode set.

21. The method of claim 1 , wherein

the first mode index value is associated with a first codeword that is first in a predetermined order in the variable length coding or a first binarized representation that is first in a predetermined order in the arithmetic coding; and

the second mode index value is associated with a second codeword that is second in the predetermined order in the variable length coding or a second binarized representation that is second in the predetermined order in the arithmetic coding.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2016
From: MEDIATEK SINGAPORE PTE. LTD.
To: HFI INNOVATION INC.
Reel/Frame 039609/0911 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2013
From: GUO, MEI; GUO, XUN; LEI, SHAW-MIN
To: MEDIATEK SINGAPORE PTE. LTD.
Reel/Frame 031694/0899 →
Continuity (3)
Provisional Application 61502104 · Jun 28, 2011
Provisional Application 61509901 · Jul 20, 2011
Related Publication 20140119439A1 · May 1, 2014