US2022329811A1PendingUtilityA1

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

Assignee: ARRIS ENTPR LLCPriority: May 28, 2014Filed: Jun 9, 2022Published: Oct 13, 2022
Est. expiryMay 28, 2034(~7.8 yrs left)· nominal 20-yr term from priority
H04N 19/174H04N 19/44H04N 19/82H04N 19/13H04N 19/186H04N 19/17H04N 19/117H04N 19/436H04N 19/176
65
PatentIndex Score
0
Cited by
0
References
0
Claims

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

exact text as granted — not AI-modified
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 a plurality of macroscopic constructs present therein that support parallel processing where each of said macroscopic constructs has a different processor load, wherein a first processor load is a time taken for Context Adaptive Binary Arithmetic Coding (CABAC) processing of a part of the video stream, wherein a second processor load is a time taken for processing of a non-Context Adaptive Binary Arithmetic Coding (CABAC) process of a remaining part of the video stream;   dividing decoding of the video stream into a plurality of decoding functions;   assigning a first one of said macroscopic constructs having said first processor load corresponding to said Context Adaptive Binary Arithmetic Coding (CABAC) processing to a first core of said plurality of processing cores of said processor;   assigning a second one of said macroscopic constructs having said second processor load corresponding to said processing of said non-Context Adaptive Binary Arithmetic Coding (CABAC) process of a said remaining part of the video stream to a second core of said plurality of processing cores of said microprocessor 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 the video stream is partitioned among the plurality of processing cores of said processor; and   dispatching each of the decoding functions to the respective processing cores in accordance with the assigning.   
     
     
         2 . The method of  claim 1 , wherein the assigning of the first one and the second one are based on the 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 a picture of the video stream. 
     
     
         4 . The method of  claim 1 , wherein the video stream includes tiles and the assigning includes grouping tiles into different sets and assigning decoding of each set of tiles on a different core. 
     
     
         5 . The method of  claim 4 , wherein each set of tiles has a processor load that are as equal to one another as possible. 
     
     
         6 . The method of  claim 1 , wherein a picture of 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 assigning 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 the macroscopic constructs, and further comprising assigning the atomic decoding functions based on the processor load used to process each of the atomic decoding functions. 
     
     
         8 . The method of  claim 7 , wherein a threshold processor load is used to assign the atomic decoding functions to be assigned to different cores.

Join the waitlist — get patent alerts

Track US2022329811A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.