US2020099946A1PendingUtilityA1

Optimization using multi-threaded parallel processing framework

Assignee: VID SCALE INCPriority: Oct 8, 2014Filed: Nov 26, 2019Published: Mar 26, 2020
Est. expiryOct 8, 2034(~8.2 yrs left)· nominal 20-yr term from priority
H04N 19/61H04N 19/136H04N 19/96H04N 19/127H04N 19/31H04N 19/436H04N 19/177
59
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Systems, methods, and instrumentalities are disclosed for encoder and/or decoder optimization using a multi-threaded parallel processing framework. An encoding and/or decoding device may receive a video sequence that includes a plurality of first-temporal level pictures associated with a first temporal level and a plurality of second-temporal level pictures associated with a second temporal level. The encoding and/or decoding device may allocate a first number of parallel processing threads for encoding and/or decoding the first-temporal level pictures and a second number of parallel processing threads for encoding and/or decoding the second-temporal level pictures. The device may perform this allocation based on temporal level priority, for example. The encoding and/or decoding device may encode and/or decode the first-temporal level pictures and the second-temporal level pictures. This encoding and/or decoding may be based on the allocation of the first number of parallel processing threads and the second number of parallel processing threads.

Claims

exact text as granted — not AI-modified
1 - 31 . (canceled) 
     
     
         32 . A device comprising:
 a processor configured to:
 receive a video sequence comprising a first group of pictures (GOP) and a second GOP; 
 identify a first plurality of first-GOP pictures and a second plurality of second-GOP pictures for parallel encoding based on their respective temporal levels, wherein the first plurality of first-GOP pictures are associated with a first temporal level and a second plurality of second-GOP pictures are associated with a second temporal level; 
 allocate one or more parallel processing threads for encoding the first plurality of first-GOP pictures and the second plurality of second-GOP pictures; and 
 encode, in parallel, the identified first plurality of first-GOP pictures and second plurality of second-GOP pictures. 
   
     
     
         33 . The device of  claim 32 , wherein when the first plurality of first-GOP pictures have finished being encoded, the processor is further configured to encode, in parallel, the second plurality of second-GOP pictures associated with the second temporal level. 
     
     
         34 . The device of  claim 32 , wherein pictures associated with the first temporal level are non-reference pictures, and pictures associated with the second temporal level pictures are reference pictures for temporal prediction. 
     
     
         35 . The device of  claim 32 , wherein the video sequence further comprises a third GOP, and wherein when the first plurality of first-GOP pictures have finished being encoded, the processor is configured to:
 identify a third plurality of third-GOP pictures associated with the second temporal level; and   encode, in parallel, the second plurality of second-GOP pictures and the third plurality of third-GOP pictures associated with the second temporal level using the parallel processing threads.   
     
     
         36 . The device of  claim 35 , wherein the third plurality of third-GOP pictures do not refer to the second plurality of second-GOP pictures. 
     
     
         37 . The device of  claim 32 , wherein the video sequence further comprises a third GOP, and the processor is further configured to:
 identify a third plurality of third-GOP pictures associated with the second temporal level and a fourth plurality of second-GOP pictures associated with the first temporal level; and   encode, in parallel, the fourth plurality of second-GOP pictures associated with the first temporal level and the third plurality of third-GOP pictures associated with the second temporal level using the parallel processing threads.   
     
     
         38 . The device of  claim 32 , wherein the first temporal level is higher than the second temporal level. 
     
     
         39 . The device of  claim 32 , wherein the first temporal level is temporal level 3, and the second temporal level comprises at least one of temporal level 0, temporal level 1, or temporal level 2. 
     
     
         40 . The device of  claim 32 , wherein the second plurality of second-GOP pictures do not refer to the first plurality of first-GOP pictures. 
     
     
         41 . A method comprising:
 receiving a video sequence comprising a first group of pictures (GOP) and a second GOP;   identifying a first plurality of first-GOP pictures and a second plurality of second-GOP pictures for parallel encoding based on their respective temporal levels, wherein the first plurality of first-GOP pictures are associated with a first temporal level and a second plurality of second-GOP pictures are associated with a second temporal level;   allocating one or more parallel processing threads for encoding the first plurality of first-GOP pictures and the second plurality of second-GOP pictures; and   encoding, in parallel, the identified first plurality of first-GOP pictures and second plurality of second-GOP pictures.   
     
     
         42 . The method of  claim 41 , further comprising:
 upon completion of encoding the first plurality of first-GOP pictures, encoding, in parallel, the second plurality of second-GOP pictures associated with the second temporal level.   
     
     
         43 . The method of  claim 41 , wherein pictures associated with the first temporal level are non-reference pictures, and pictures associated with the second temporal level pictures are reference pictures for temporal prediction. 
     
     
         44 . The method of  claim 41 , wherein the video sequence further comprises a third GOP, and the method further comprising:
 upon completion of encoding the first plurality of first-GOP pictures, identifying a third plurality of third-GOP pictures associated with the second temporal level; and   encoding, in parallel, the second plurality of second-GOP pictures and the third plurality of third-GOP pictures associated with the second temporal level using the parallel processing threads.   
     
     
         45 . The method of  claim 44 , wherein the third plurality of third-GOP pictures do not refer to the second plurality of second-GOP pictures. 
     
     
         46 . The method of  claim 41 , wherein the video sequence further comprises a third GOP, and the method further comprising:
 identifying a third plurality of third-GOP pictures associated with the second temporal level and a fourth plurality of second-GOP pictures associated with the first temporal level; and   encoding, in parallel, the fourth plurality of second-GOP pictures associated with the first temporal level and the third plurality of third-GOP pictures associated with the second temporal level using the parallel processing threads.   
     
     
         47 . The method of  claim 41 , wherein the first temporal level is higher than the second temporal level. 
     
     
         48 . The method of  claim 41 , wherein the first temporal level is temporal level 3, and the second temporal level comprises at least one of temporal level 0, temporal level 1, or temporal level 2. 
     
     
         49 . The method of  claim 41 , wherein the second plurality of second-GOP pictures do not refer to the first plurality of first-GOP pictures.

Join the waitlist — get patent alerts

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

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