Method and apparatus for performing two pass quality video compression through pipelining and buffer management
First Claim
1. A method of performing a single path real-time compression and decompression of video data input to a video compression/decompression unit including motion estimation, said video data being apportioned into a plurality of frames including frames identified as reference frames, a subset of said plurality of frames being dependent frames having dependencies on one or more of said reference frames for compression purposes, said method comprising the steps of:
- first compressing said reference frames as they are input, by using spatial compression techniques;
storing said dependent frames in memory until said one or more reference frames have been compressed;
performing motion estimation on said dependent frames;
dropping selected dependent frames after evaluation if and when said memory is full;
replacing dropped frames with synthetic frames similar to a proximate reference frame;
retrieving the stored dependent frames from said memory one by one; and
responsive to said reference frames having been compressed, then compressing said dependent frames from said memory.
4 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method a method for performing two-pass real time video compression is provided. Tactical decisions such as encoding and quantization values are determined in software, whereas functional execution steps are performed in hardware. By appropriately apportioning the tasks between software and hardware, the benefits of each type of processing are exploited, while minimizing both hardware complexity and data transfer requirements. One key concept that allows the compression unit to operate in real time is that the architecture and pipelining both allow for B frames to be executed out of order. By buffering B frames, two-pass motion estimation techniques can be performed to tailor bit usage to the requirements of the frame, and thereby provide a more appealing output image.
-
Citations
24 Claims
-
1. A method of performing a single path real-time compression and decompression of video data input to a video compression/decompression unit including motion estimation, said video data being apportioned into a plurality of frames including frames identified as reference frames, a subset of said plurality of frames being dependent frames having dependencies on one or more of said reference frames for compression purposes, said method comprising the steps of:
-
first compressing said reference frames as they are input, by using spatial compression techniques; storing said dependent frames in memory until said one or more reference frames have been compressed; performing motion estimation on said dependent frames; dropping selected dependent frames after evaluation if and when said memory is full; replacing dropped frames with synthetic frames similar to a proximate reference frame; retrieving the stored dependent frames from said memory one by one; and responsive to said reference frames having been compressed, then compressing said dependent frames from said memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. An apparatus for performing a single path real-time two-pass compression and decompression of video data input to a video compression/decompression unit including motion estimation, said video data being apportioned into a plurality of frames including reference frames, a subset of said plurality of frames being dependent frames having dependencies on one or more of said reference frames for compression purposes, said apparatus comprising:
-
means for compressing said reference frames as they are input; means for storing said dependent frames in memory until said associated one or more reference frames have been compressed and means for retrieving said dependent frames from said memory; means for dropping selected dependent frames after evaluation, if and when said memory is full; means for replacing each dropped from with a synthetic replacement frame similar to a reference frame proximate to the each dropped frame; and means, responsive to said associated reference frames having been compressed, for then compressing said associated dependent frame. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method for performing a single path real-time compression and decompression of video data input to a video compression/decompression unit including motion estimation, said video data being apportioned into a plurality of frames including frames identified as reference frames, a subset of said plurality of frames being dependent frames having dependencies on one or more of said reference frames for compression purposes, said method comprising the steps of:
-
first compressing said reference frames as they are input; storing said dependent frames in a memory of a coupled processing system until said associated one or more reference frames have been compressed; dropping selected dependent frames after evaluation, if and when said memory is full replacing each dropped frame with a synthetic replacement frame similar to a reference frame proximate to each dropped frame; and retrieving said stored dependent frames one by one from said memory of said coupled processing system and compressing said dependent frames after completion of the compression of said associated reference frames.
-
Specification