Bit-rate reduction for multimedia data streams
First Claim
1. A method for reducing a bit rate in a multimedia data stream, the method comprising:
- spatially filtering two consecutive frames of a first multimedia data stream, wherein spatially filtering comprises;
splitting a frame into a plurality of sub-frames each comprising a two-dimensional array of sample values, the two-dimensional array corresponding to the spatial dimensions of the frame; and
for at least a first sub-frame;
determining an average sample value for the first sub-frame; and
replacing all of the sample values in the first sub-frame with the average sample value;
temporally filtering and combining the two consecutive frames to produce a pre-processed frame;
encoding the pre-processed frame using a plurality of scalar quantization values to produce a plurality of encoded frames;
selecting one of the encoded frames to include in a second multimedia data stream, the selection based at least in part on the visual quality of the encoded frames; and
for at least a second sub-frame;
determining a maximum sample value for the second sub-frame; and
replacing sample values in the second sub-frame that are greater than a predetermined portion of the maximum sample value with a replacement value that substantially equals the predetermined portion of the maximum sample value;
wherein the predetermined portion of the maximum sample value comprises approximately one-half the maximum sample value.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for reducing a bit-rate in a multimedia data stream while maintaining high image quality. Two consecutive frames of the multimedia data stream are spatially filtered, temporally filtered, and combined into a pre-processed frame. In one embodiment, the two consecutive frames are consecutive fields of an interlaced data stream that are deinterlaced by the spatial and temporal filtering process. The pre-processed frame is encoded multiple times using different quantization values to produce a plurality of encoded frames. One of the encoded frames is selected based on its image quality and/or size for inclusion in an encoded data stream. In one embodiment, the pre-processed frame undergoes a motion estimation method that performs an integer level search of overlapping locations around a co-located macroblock in a reference frame followed by a sub-pixel level diamond pattern search.
-
Citations
26 Claims
-
1. A method for reducing a bit rate in a multimedia data stream, the method comprising:
-
spatially filtering two consecutive frames of a first multimedia data stream, wherein spatially filtering comprises; splitting a frame into a plurality of sub-frames each comprising a two-dimensional array of sample values, the two-dimensional array corresponding to the spatial dimensions of the frame; and for at least a first sub-frame; determining an average sample value for the first sub-frame; and replacing all of the sample values in the first sub-frame with the average sample value; temporally filtering and combining the two consecutive frames to produce a pre-processed frame; encoding the pre-processed frame using a plurality of scalar quantization values to produce a plurality of encoded frames; selecting one of the encoded frames to include in a second multimedia data stream, the selection based at least in part on the visual quality of the encoded frames; and for at least a second sub-frame; determining a maximum sample value for the second sub-frame; and replacing sample values in the second sub-frame that are greater than a predetermined portion of the maximum sample value with a replacement value that substantially equals the predetermined portion of the maximum sample value; wherein the predetermined portion of the maximum sample value comprises approximately one-half the maximum sample value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method for reducing a bit rate in a multimedia data stream, the method comprising:
-
spatially filtering two consecutive frames of a first multimedia data stream, wherein spatially filtering comprises; splitting a frame into a plurality of sub-frames each comprising a two-dimensional array of sample values, the two-dimensional array corresponding to the spatial dimensions of the frame, wherein splitting the frame comprises; low pass filtering and decimating the frame along a first spatial dimension; high pass filtering and decimating the frame along the first spatial dimension; low pass filtering and decimating the frame along a second spatial dimension; and high pass filtering and decimating the frame along the second spatial dimension; and for at least a first sub-frame; determining an average sample value for the first sub-frame; and replacing all of the sample values in the first sub-frame with the average sample value; temporally filtering and combining the two consecutive frames to produce a pre-processed frame; encoding the pre-processed frame using a plurality of scalar quantization values to produce a plurality of encoded frames; selecting one of the encoded frames to include in a second multimedia data stream, the selection based at least in part on the visual quality of the encoded frames; and recombining the sub-frames by; low pass filtering and interpolating the plurality of sub-frames along the second spatial dimension; high pass filtering and interpolating the plurality of sub-frames along the second spatial dimension; low pass filtering and interpolating the plurality of sub-frames along the first spatial dimension; and high pass filtering and interpolating the plurality of sub-frames along the first spatial dimension.
-
-
25. A method for reducing a bit rate in a multimedia data stream, the method comprising:
-
spatially filtering two consecutive frames of a first multimedia data stream; temporally filtering and combining the two consecutive frames to produce a pre-processed frame, wherein temporally filtering comprises; creating a three-dimensional array comprising the spatially filtered two consecutive frames, a first and a second dimension of the three-dimensional array corresponding to spatial dimensions and a third dimension corresponding to a temporal dimension of the two consecutive frames; and filtering and decimating the three-dimensional array along the first dimension, the second dimension, and the third dimension so as to split the three-dimensional array into a plurality of smaller arrays; encoding the pre-processed frame using a plurality of scalar quantization values to produce a plurality of encoded frames; selecting one of the encoded frames to include in a second multimedia data stream, the selection based at least in part on the visual quality of the encoded frames; performing a clear operation on one or more of the plurality of smaller arrays; determining an average sample value for a selected smaller array of the plurality of smaller arrays; and replacing all of the sample values in the selected smaller array with the average sample value.
-
-
26. A method for reducing a bit rate in a multimedia data stream, the method comprising:
-
spatially filtering two consecutive frames of a first multimedia data stream; temporally filtering and combining the two consecutive frames to produce a pre-processed frame, wherein temporally filtering comprises; creating a three-dimensional array comprising the spatially filtered two consecutive frames, a first and a second dimension of the three-dimensional array corresponding to spatial dimensions and a third dimension corresponding to a temporal dimension of the two consecutive frames; and filtering and decimating the three-dimensional array along the first dimension, the second dimension, and the third dimension so as to split the three-dimensional array into a plurality of smaller arrays; encoding the pre-processed frame using a plurality of scalar quantization values to produce a plurality of encoded frames; selecting one of the encoded frames to include in a second multimedia data stream, the selection based at least in part on the visual quality of the encoded frames; performing a clear operation on one or more of the plurality of smaller arrays; and filtering and interpolating the plurality of smaller arrays along the first dimension, the second dimension, and the third dimension so as to recombine the plurality of smaller arrays to produce the pre-processed frame.
-
Specification