IP Library › Granted Patent US 10,785,479
Granted Patent B2
US 10,785,479 · App. 16/370,213 · Granted Sep 22, 2020

Intra prediction mode signaling for video coding

Inventors: Wenhao Zhang (Beijing, CN); Deliang Fu (Beijing, CN); Min Gao (Beijing, CN); Chen Liu (Beijing, CN); Juncheng Ma (Beijing, CN)
Assignee: HULU, LLC
H04N19/11H04N19/176H04N19/593
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,785,479
App. No.
16/370,213
Granted
Sep 22, 2020
Kind
B2
Abstract

In one embodiment, a method determines if a first flag for using a most probable mode (MPM) set for intra prediction is set. When the first flag indicates the MPM set is used, the method decodes a first index for the MPM, the first index indicating a first intra prediction mode in the MPM set. When the first flag does not indicate the MPM set is being used, the method determines if a second flag for using a near-MPM set is set. When the second flag indicates the near-MPM set is being used, the method decodes a second index for the near-MPM, the second index indicating a second intra prediction mode in the near-MPM set. When the second flag does not indicate the near-MPM is being used, the method decodes a third index for a non-MPM, the third index indicating a third intra prediction mode in the non-MPM set.

Claims (70)

1. A method comprising:

determining, by a computing device, if a first flag for using a most probable mode (MPM) set for intra prediction is set;

when the first flag indicates the MPM set is used, decoding, by the computing device, a first index for the MPM set, the first index indicating a first intra prediction mode in the MPM set;

when the first flag does not indicate the MPM set is being used, determining, by the computing device, if a second flag for using a near-MPM set is set;

when the second flag indicates the near-MPM set is being used, decoding, by the computing device, a second index for the near-MPM set, the second index indicating a second intra prediction mode in the near-MPM set, wherein indices in the near-MPM set are selected by:

a second number of intra prediction modes that are aggregated using historical intra prediction modes from a plurality of blocks, and

a third number of intra prediction modes that are determined from the MPM set, and

a fourth number of intra prediction modes that are based on the second number of intra prediction modes and the third number of intra prediction modes; and

when the second flag does not indicate the near-MPM set is being used, decoding, by the computing device, a third index for a non-MPM set, the third index indicating a third intra prediction mode in the non-MPM set.

2. The method of claim 1 , wherein at least a portion of the indices in the near-MPM set are selected based on a spanning subspace in the MPM set.

3. The method of claim 1 , wherein at least a portion of the indices in the near-MPM set are selected by:

sorting indices in the MPM set; and

selecting indices in the near-MPM set based on a lowest index in the MPM set and a highest index in the MPM set.

4. The method of claim 3 , wherein the at least a portion of the indices in the near-MPM set are selected by:

subtracting a first number from the lowest index to generate a first near-MPM index value; and

adding a second number to the highest index to generate a second near-MPM index value.

5. The method of claim 4 , wherein the at least a portion of the indices in the near-MPM set are included in a range using the first near-MPM index value and the second near-MPM index value, with MPM indices excluded from the near-MPM set.

6. The method of claim 1 , wherein at least a portion of the indices in the near-MPM set are selected by:

selecting indices in the near-MPM set based on the index of each intra prediction mode in the MPM set; and

removing any redundant indices in the near-MPM set.

7. The method of claim 6 , wherein the at least a portion of the indices in the near-MPM set are selected by:

subtracting a first number from each index of an intra prediction mode in the MPM set to generate a second number; and

adding a third number to each index of an intra prediction mode in the MPM set to generate a fourth number.

8. The method of claim 7 , wherein the at least a portion of the indices in the near-MPM set are included in a range using the second number and the fourth number, with MPM indices excluded.

9. A method comprising:

selecting, by a computing device, a block to transcode in a video;

selecting, by the computing device, an intra prediction mode for the block;

selecting, by the computing device, an MPM set that includes a first number of intra prediction modes;

aggregating, by the computing device, historical intra prediction modes from a plurality of blocks to select a second number of intra prediction modes;

analyzing, by the computing device, the MPM set to select a third number of intra prediction modes;

adding, by the computing device, a fourth number of intra modes to a near-MPM set based on the second number of intra prediction modes and the third number of intra prediction modes;

adding, by the computing device, a fifth number of intra prediction modes to a non-MPM set; and

setting, by the computing device, a flag in an encoded bitstream for the video indicating whether the intra prediction mode falls within the MPM set, the near-MPM set, or the non-MPM set.

10. The method of claim 9 , wherein analyzing the MPM set to select the third number of intra prediction modes comprises:

selecting at least a portion of indices in the near-MPM set based on a range of indices from a first index in the MPM set to a second index in the MPM set.

11. The method of claim 9 , wherein analyzing the MPM set to select the third number of intra prediction modes comprises:

sorting indices in the MPM set; and

selecting at least a portion of the indices in the near-MPM set based on a lowest index in the MPM set and a highest index in the MPM set.

12. The method of claim 11 , wherein at least a portion of the indices in the near-MPM set are selected by:

subtracting a first number from the lowest index to generate a first near-MPM index value; and

adding a second number to the highest index to generate a second near-MPM index value.

13. The method of claim 12 , wherein the at least a portion of the indices in the near-MPM set are included in a range using the first near-MPM index value and the second near-MPM index value, with MPM indices excluded from the near-MPM set.

14. The method of claim 9 , wherein analyzing the MPM set to select the third number of intra prediction modes comprises:

selecting in the near-MPM set based on merging neighboring modes in the MPM set.

15. The method of claim 9 , wherein analyzing the MPM set to select the third number of intra prediction modes comprises:

selecting at least a portion of the indices in the near-MPM set based on the index of each intra prediction mode in the MPM set; and

removing any redundant indices in the near-MPM set.

16. The method of claim 15 , wherein the at least a portion of the indices in the near-MPM set are selected by:

subtracting a first number from each index of an intra prediction mode in the MPM set to generate a second number; and

adding a third number to each index of an intra prediction mode in the MPM set to generate a fourth number.

17. The method of claim 16 , wherein the at least a portion of the indices in the near-MPM set are included in a range using the second number and the fourth number, with MPM indices excluded.

18. A non-transitory computer-readable storage medium having stored thereon computer executable instructions, which when executed by a computing device, cause the computing device to be operable for:

determining if a first flag for using a most probable mode (MPM) set for intra prediction is set;

when the first flag indicates the MPM set is used, decoding a first index for the MPM set, the first index indicating a first intra prediction mode in the MPM set;

when the first flag does not indicate the MPM set is being used, determining if a second flag for using a near-MPM set is set;

when the second flag indicates the near-MPM set is being used, decoding a second index for the near-MPM set, the second index indicating a second intra prediction mode in the near-MPM set, wherein indices in the near-MPM set are selected by:

a second number of intra prediction modes that are aggregated using historical intra prediction modes from a plurality of blocks, and

a third number of intra prediction modes that are determined from the MPM set, and

a fourth number of intra prediction modes that are based on the second number of intra prediction modes and the third number of intra prediction modes; and

when the second flag does not indicate the near-MPM set is being used, decoding a third index for a non-MPM set, the third index indicating a third intra prediction mode in the non-MPM set.

19. The non-transitory computer-readable storage medium of claim 18 , wherein at least a portion of the indices in the near-MPM set are selected based on a spanning subspace in the MPM set.

20. A non-transitory computer-readable storage medium having stored thereon computer executable instructions, which when executed by a computing device, cause the computing device to be operable for:

selecting a block to transcode in a video;

selecting an intra prediction mode for the block;

selecting an MPM set that includes a first number of intra prediction modes;

aggregating historical intra prediction modes from a plurality of blocks to select a second number of intra prediction modes;

analyzing the MPM set to select a third number of intra prediction modes;

adding a fourth number of intra modes to a near-MPM set based on the second number of intra prediction modes and the third number of intra prediction modes;

adding a fifth number of intra prediction modes to a non-MPM set; and

setting a flag in an encoded bitstream for the video indicating whether the intra prediction mode falls within the MPM set, the near-MPM set, or the non-MPM set.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2019
From: MA, JUNCHENG
To: HULU, LLC
Reel/Frame 049173/0290 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2019
From: ZHANG, WENHAO; GAO, MIN; FU, DELIANG; LIU, CHEN
To: HULU, LLC
Reel/Frame 048744/0142 →
Continuity (2)
Provisional Application 62650854 · Mar 30, 2018
Related Publication 20190306499A1 · Oct 3, 2019
Cited By (2)
US 12,301,792 US 12,355,944