Method for Efficient Parallel Processing for Real-Time Video Coding
AssigneeTexas Instruments Incorporated
InventorsRan Katzur, David Bell
Life of this patent
Estimating the term…
Abstract
Embodiments of the invention include a parallel method for real-time video encoding in a multicore processor system. A first frame of video data is divided into groups. Each group has one or more rows of a plurality of macroblocks. Motion estimation is performed on a second group following a first group by a first core of said multicore system. While said motion estimation is being performed by said first core, compression-and-reconstruction is performed on said first group by a second core.
Claims15
A parallel method for real-time video encoding in a multicore processor system, said method comprising:
- Dividing a first frame of video data into groups;
- each group comprising one or more rows of a plurality of macroblocks;
- Performing motion estimation on a second group following a first group by a first core of said multicore system;
- and
- Performing compression-and-reconstruction on said first group by a second core while said motion estimation is being performed by said first core.
A multicore processing system supporting real-time video coding, said system comprising:
- Multiple processing cores to perform different functions in parallel;
- a first buffer for storing a plurality of sections of a frame, each section comprising one or more rows of a plurality of macroblocks;
- a second buffer for motion estimation information;
- a first core performs motion estimation on macroblocks in a second section following a first section of a frame N following a frame N−1;
- a second core performs compression-and-reconstruction on macroblocks from said first section of said frame N and stores a compressed data in a third buffer to be entropy encoded;
- and
- a third core for entropy encoding said compressed data of said frame N−1.
A video transcoder, comprising:
- multiple processing cores to perform different functions, comprising:
- a first core performs for motion estimation;
- a second core for compression-and-reconstruction;
- a third core applying an entropy coding function;
- and
- a global memory accessible by said cores, said global memory for storing a location of the beginning location of a frame.
In a multicore processor system using at least four cores to perform entropy decoding and inverse quantization (IQ) and inverse transform (IT), each of the first four cores processes a different frame, an independent processing core perform a parallel method for real-time video decoding, said method comprising:
- receiving an input stream of video data comprised of a plurality of frames;
- searching for a beginning location of a first frame;
- storing said beginning location in a global memory area accessible by at least two cores of said multicore processor system;
- decoding by entropy decoder N macroblocks from said plurality of macroblocks to get a plurality of decoded values, where N is a function for of performance;
- perform inverse quantization and inverse transformation on the plurality of decoded values;
- and
- storing the plurality of decoding values and a plurality of results of the inverse transform in a frame buffer.
Dependencies are inferred from the claim text.