Optimization using multi-threaded parallel processing framework
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-modified1 - 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.