IP Library Granted Patent US 11,388,405
Granted Patent B2
US 11,388,405 · App. 17/088,131 · Granted Jul 12, 2022

Content aware scheduling in a HEVC decoder operating on a multi-core processor platform

Inventors: Anil Kumar Nellore (Bangalore, IN); Padmagowri Pichumani (Bangalore, IN); Vinay Kulkarni (Bangalore, IN); Chetan Kumar Viswanath Gubbi (Bangalore, IN); Shailesh Ramamurthy (Bengaluru, IN); Padmassri Chandrashekar (Bangalore, IN)
Assignee: ARRIS Enterprises LLC
H04N19/13H04N19/117H04N19/17H04N19/174H04N19/176H04N19/186H04N19/436H04N19/44H04N19/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 11,388,405
App. No.
17/088,131
Filed
Nov 3, 2020
Granted
Jul 12, 2022
Kind
B2
Art Unit
2482
USPC
375/240.02
Abstract

A method is provided for decoding an encoded video stream on a processor having a plurality of processing cores includes receiving and examining a video stream to identify any macroscopic constructs present therein that support parallel processing. Decoding of the video stream is divided into a plurality of decoding functions. The plurality of decoding functions is scheduled for decoding the video stream in a dynamic manner based on availability of any macroscopic constructs that have been identified and then based on a number of bytes used to encode each block into which each picture of the video stream is partitioned. Each of the decoding functions is dispatched to the plurality of processing cores in accordance with the scheduling.

Claims (19)

1. A method of decoding an encoded video stream on a processor having a plurality of processing cores, comprising:

receiving the encoded video stream;

examining the video stream to identify any macroscopic constructs present therein that support parallel processing and bit rate to determine a threshold that is used for further determining the manner of parallel processing of said video stream, wherein the threshold is derived by determining a time taken for Context Adaptive Binary Arithmetic Coding (CABAC) processing relative to a time taken for decoding remaining parts of the video stream;

dividing decoding of the video stream into a plurality of decoding functions;

scheduling the plurality of decoding functions for decoding the video stream in a dynamic manner based on availability of any macroscopic constructs that have been identified and then based on a number of bytes used to encode each block into which each picture of the video stream is partitioned among the plurality of processing cores; and

dispatching each of the decoding functions to the plurality of processing cores in accordance with the scheduling.

2. The method of claim 1 , wherein the scheduling based on the availability of any macroscopic-constructs includes scheduling based on availability of a prioritized list of macroscopic functions.

3. The method of claim 2 , wherein the prioritized list of macroscopic functions, from highest priority to lowest priority, includes tiles, wavefronts and slices within each picture.

4. The method of claim 1 , wherein the video stream includes tiles and the scheduling includes grouping tiles into different sets and scheduling decoding of each set of tiles on a different core.

5. The method of claim 4 , wherein each set of tiles has a total number of bytes that are as equal to one another as possible.

6. The method of claim 1 , wherein the video stream includes a number of tiles and the number of tiles is less than a number of cores that are available, and further comprising scheduling decoding of each tile across at least two cores.

7. The method of claim 1 , wherein the plurality of decoding functions includes a plurality of atomic decoding functions, the plurality of atomic decoding functions including all of the plurality of decoding functions exclusive of decoding functions applicable to macroscopic constructs, and further comprising scheduling the atomic decoding functions based on the number of bytes used to encode each block into which each picture of the video stream is partitioned.

8. The method of claim 7 , wherein a threshold number of bytes used to encode each block is used to schedule the atomic decoding functions to be dispatched to different cores.

9. The method of claim 7 , wherein said atomic functions include CABAC decoding, a remaining part of luma video decoding exclusive of CABAC and in-loop filtering of luma blocks and a remaining part of chroma video decoding exclusive of CABAC and in-loop filtering of chroma blocks.

10. The method of claim 8 , wherein said atomic functions include CABAC decoding, a remaining part of luma video decoding exclusive of CABAC and in-loop filtering of luma blocks and a remaining part of chroma video decoding exclusive of CABAC and in-loop filtering of chroma blocks and, if the threshold number of bytes is exceeded, scheduling the remaining parts of luma video coding exclusive of CABAC and in-loop filtering of luma blocks and chroma decoding exclusive of CABAC and in-loop filtering of chroma blocks to a different core from that on which CABAC decoding is performed.

11. The method of claim 8 , wherein said atomic functions include CABAC decoding, a remaining part of luma video decoding exclusive of CABAC and in-loop filtering of luma blocks and a remaining part of chroma video decoding exclusive of CABAC and in-loop filtering of chroma blocks and, if the threshold number of bytes is exceeded, scheduling only one of (1) the remaining part of luma video coding exclusive of CABAC and in-loop filtering of luma blocks and (2) the remaining part of chroma decoding exclusive of CABAC and in-loop filtering of chroma blocks to a different core from that on which CABAC decoding is performed.

12. The method of claim 6 , wherein the plurality of decoding functions includes a plurality of atomic decoding functions, the plurality of atomic decoding functions including all of the plurality of decoding functions exclusive of decoding functions applicable to macroscopic constructs, the scheduling of the decoding of each tile across at least two cores further comprising scheduling one or more atomic decoding functions on one core and remaining ones of the plurality of atomic decoding functions on at least one other core.

13. The method of claim 7 , wherein a number of available cores exceeds a number of macroscopic constructs that have been identified, and further comprising scheduling decoding of at least one of the identified macroscopic constructs across at least two cores such that one or more atomic decoding functions are to be performed on one core and remaining ones of the plurality of atomic decoding functions are to be performed on at least one other core.

14. The method of claim 1 , wherein the blocks into which the pictures are partitioned are a CTB, a CB or a superblock.

Assignments (8)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 058843/0712 Recorded Jan 12, 2026
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC; COMMSCOPE NORTH CAROLINA, LLC (F/K/A COMMSCOPE, INC. OF NORTH CAROLINA); COMMSCOPE TECHNOLOGIES LLC
Reel/Frame 074591/0389 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 058875/0449 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC
Reel/Frame 069743/0057 →
SECURITY INTEREST Recorded Dec 17, 2024
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE INC., OF NORTH CAROLINA; OUTDOOR WIRELESS NETWORKS LLC; RUCKUS IP HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC
Reel/Frame 069889/0114 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2022
From: NELLORE, ANIL KUMAR; PICHUMANI, PADMAGOWRI; KULKARNI, VINAY; GUBBI, CHETAN KUMAR VISWANATH; RAMAMURTHY, SHAILESH; CHANDRASHEKAR, PADMASSRI
To: ARRIS ENTERPRISES, INC.
Reel/Frame 060153/0251 →
CHANGE OF NAME Recorded Jun 9, 2022
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 060328/0914 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
TERM LOAN SECURITY AGREEMENT Recorded Nov 15, 2021
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058875/0449 →
ABL SECURITY AGREEMENT Recorded Nov 15, 2021
From: ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 058843/0712 →
Continuity (3)
Continuation 14723573 · May 28, 2015
Provisional Application 62003695 · May 28, 2014
Related Publication 20210136384A1 · May 6, 2021