System and method for balancing video encoding tasks between multiple processors
First Claim
1. A system comprising:
- an interface coupled to a bus to receive a real time video stream;
a main processor coupled to the bus, the main processor to process a first group of video encoding tasks comprising those video encoding tasks not including variable length encoding involved with encoding the real time video stream;
a co-processor coupled to the bus, the co-processor to process a second group of video encoding tasks including variable length encoding tasks involved with encoding the real time video stream.
1 Assignment
0 Petitions
Accused Products
Abstract
System and method for balancing video encoding tasks between multiple processors. The method may include receiving a real time video stream, performing picture level and upper processing on a main processor, executing a macroblock loop in parallel on a main processor and a co-processor, wherein executing includes processing a first group of video encoding tasks on the main processor and processing a second group of video encoding tasks on the co-processor, and outputting an encoded version of the real time broadcast. The method may be implemented on a system that includes a main processor, a co-processor, and an interface to receive the real time video stream, each coupled to one or more buses. The encoding may be performed according to the well known Moving Pictures Experts Group (MPEG) standards.
-
Citations
39 Claims
-
1. A system comprising:
-
an interface coupled to a bus to receive a real time video stream;
a main processor coupled to the bus, the main processor to process a first group of video encoding tasks comprising those video encoding tasks not including variable length encoding involved with encoding the real time video stream;
a co-processor coupled to the bus, the co-processor to process a second group of video encoding tasks including variable length encoding tasks involved with encoding the real time video stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
a main processor coupled to a bus;
a co-processor coupled to the bus;
a main memory coupled to the bus;
an interface coupled to the bus to receive a real time video stream; and
a storage device coupled to the bus, the storage device having instructions stored thereon which when executed by the main processor allocate a first group of video encoding tasks to the main processor and a second group of video encoding tasks to the co-processor. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method for video encoding comprising:
-
receiving a real time video stream;
performing picture level and upper processing on a main processor;
executing a macroblock loop in parallel on the main processor and a co-processor, wherein executing includes processing a first group of video encoding tasks on the main processor and processing a second group of video encoding tasks on the co-processor; and
outputting an encoded version of the real time video stream. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A machine readable medium having instructions stored thereon which when executed by a main processor cause the main processor perform operations to encode a real time video stream, the operations comprising:
-
allocating a first group of video encoding tasks to the main processor; and
allocating a second group of video encoding tasks to the co-processor. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39)
-
Specification