Multi-Instance Video Encoder
Abstract
A system and method are disclosed for providing improved processing of video data. A multi-instance encoding module receives combined video and audio input, which is then separated into a video and audio source streams. The video source stream is pre-processed and corresponding video encoder instances are initiated. The preprocessed video source stream is split into video data components, which are assigned to a corresponding encoder instance. Encoding operations are performed by each video encoder instance to generate video output components. The video output components are then assembled in a predetermined sequence to generate an encoded video output stream. Concurrently, the audio source stream is encoded with an audio encoder to generate an encoded audio output stream. The encoded video and audio output streams are combined to generate a combined encoded output stream, which is provided as combined video and audio output.
Claims
exact text as granted — not AI-modified1 - 20 . (canceled)
21 . A system for providing improved processing of video data, comprising:
an encoder module operable to: receive a first stream of video data as video input; split said first stream of video data into a plurality of video data components; assign individual video data components of said plurality of video data components to a plurality of processors based on loads of the plurality of processors, the plurality of processors being operable to generate video output components from said individual video data components; assemble said video output components in a predetermined sequence to generate a second stream of video data; and provide said second stream of video data as video output.
22 . The system of claim 21 , wherein said individual video data components are transcoded to generate said video output components.
23 . The system of claim 21 , said individual video data components are compressed to generate said video output components.
24 . The system of claim 21 , said individual video data components are decompressed to generate said video output components.
25 . The system of claim 21 , said individual video data components are scaled to generate said video output components.
26 . The system of claim 21 , wherein said encoder module comprises a plurality of video encoder instances.
27 . The system of claim 26 , wherein an individual one of said video encoder instances is associated with an individual processor of said plurality of processors.
28 . The system of claim 21 , wherein an individual processor in said plurality of processors comprises a core of a central processing unit.
29 . The system of claim 21 , wherein an individual processor in said plurality of processors comprises a graphics processor.
30 . The system of claim 21 , wherein said video output components are generated in parallel by said plurality of processors.
31 . The system of claim 21 , wherein said individual video data components are assigned to said plurality of processors based on loads of the plurality of processors by assigning said individual video data components sequentially to said plurality of processors.
32 . The system of claim 21 , wherein said individual video data components are assigned to said plurality of processors based on loads of the plurality of processors by assigning said individual video data components dynamically to said plurality of processors as respective processors in said plurality of processors become available.
33 . A method for providing improved processing of video data, comprising:
receiving a first stream of video data as video input; splitting said first stream of video data into a plurality of video data components; assigning individual video data components of said plurality of video data components to a plurality of processors based on loads of the plurality of processors, the plurality of processors being operable to generate video output components from said individual video data components; assembling said video output components in a predetermined sequence to generate a second stream of video data; and providing said second stream of video data as video output.
34 . The method of claim 33 , wherein generating said video output components includes transcoding said individual video data to generate said video output components.
35 . The method of claim 33 , generating said video output components includes compressing said individual video data to generate said video output components.
36 . The method of claim 33 , generating said video output components includes decompressing said individual video data to generate said video output components.
37 . The method of claim 33 , generating said video output components includes scaling said individual video data to generate said video output components.
38 . The method of claim 33 , wherein said encoder module comprises a plurality of video encoder instances.
39 . The method of claim 38 , wherein an individual one of said video encoder instances is associated with an individual processor of said plurality of processors.
40 . The method of claim 33 , wherein an individual processor in said plurality of processors comprises a core of a central processing unit.
41 . The method of claim 33 , wherein an individual processor in said plurality of processors comprises a graphics processor.
42 . The method of claim 33 , wherein said video output components are generated in parallel by said plurality of processors.
43 . The method of claim 33 , wherein assigning said individual video data components to said plurality of processors based on loads of the plurality of processors includes assigning said individual video data components sequentially to said plurality of processors.
44 . The method of claim 33 , wherein assigning said individual video data components to said plurality of processors based on loads of the plurality of processors includes assigning said individual video data components dynamically to said plurality of processors as respective processors in said plurality of processors become available.Join the waitlist — get patent alerts
Track US2012307883A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.