PARALLEL MULTIPLE BITRATE VIDEO ENCODING
First Claim
1. A method of managing multiple bitrate (MBR) video encoding, the method comprising, with a video encoding management tool:
- receiving pictures for video;
organizing the received pictures as multiple groups of pictures (GOPs), each group of pictures (GOP) of the multiple GOPs including one or more of the received pictures; and
providing the received pictures to multiple processing units for MBR video encoding in parallel, wherein, for each GOP of the multiple GOPs, the MBR video encoding includes encoding the GOP as multiple streams with different rates, and wherein at least two of the multiple GOPs are made available to the multiple processing units for encoding in parallel to each other.
2 Assignments
0 Petitions
Accused Products
Abstract
A multiple bitrate (MBR) video encoding management tool utilizes available processing units for parallel MBR video encoding. For example, instead of focusing only on multi-threading of encoding tasks for a single picture or group of pictures (GOP), the management tool parallelizes the encoding of multiple GOPs between different processing units and/or different computing systems. With this parallel MBR video encoding architecture, different GOPs can be encoded in parallel. To facilitate such parallel encoding, data dependencies between GOPs are removed. The management tool can adjust the number of GOPs to encode in parallel on a computing system so as to favor parallelism of encoding for different GOPs at the expense of parallelism of encoding inside a GOP, or vice versa, and thereby set a suitable balance between encoding latency and throughput.
-
Citations
20 Claims
-
1. A method of managing multiple bitrate (MBR) video encoding, the method comprising, with a video encoding management tool:
-
receiving pictures for video; organizing the received pictures as multiple groups of pictures (GOPs), each group of pictures (GOP) of the multiple GOPs including one or more of the received pictures; and providing the received pictures to multiple processing units for MBR video encoding in parallel, wherein, for each GOP of the multiple GOPs, the MBR video encoding includes encoding the GOP as multiple streams with different rates, and wherein at least two of the multiple GOPs are made available to the multiple processing units for encoding in parallel to each other. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of managing multiple bitrate (MBR) video encoding of multiple groups of pictures (GOPs), the method comprising, with a video encoding management tool:
-
determining a value that balances latency and processing unit utilization; based at least in part on the determined value, determining a number of GOPs to encode in parallel on a computing system that includes multiple processing units; and providing pictures to the multiple processing units for MBR video encoding in parallel of the determined number of GOPs, wherein, for each GOP of the multiple GOPs, the MBR video encoding includes encoding the GOP as multiple streams with different rates. - View Dependent Claims (13, 14, 15)
-
-
16. A system comprising:
-
multiple processing units; an input memory pool accessible to the multiple processing units; and a video encoding management tool adapted to perform acts that include; receiving pictures for video; organizing the received pictures as multiple groups of pictures (GOPs), each group of pictures (GOP) of the multiple GOPs including one or more of the received pictures; and transferring at least some of the received pictures to the input memory pool for multiple bitrate (MBR) video encoding using the multiple processing units in parallel, wherein, for each GOP of the multiple GOPs, the MBR video encoding includes encoding the GOP as multiple streams with different rates, and wherein at least two of the multiple GOPs are made available in the input memory pool for encoding in parallel to each other. - View Dependent Claims (17, 18, 19, 20)
-
Specification