IP Library Patent Application 16695593
Patent Application
App. No. 16/695,593

OPTIMIZATION USING MULTI-THREADED PARALLEL PROCESSING FRAMEWORK

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 None
App. No.
16/695,593
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 (37)

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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2024
From: VID SCALE, INC.
To: INTERDIGITAL VC HOLDINGS, INC.
Reel/Frame 068284/0031 →