Method and apparatus for advanced encoder system
First Claim
1. A video encoder for encoding input images having a plurality of data blocks to provide compressed image data comprising:
- DCT (discrete cosine transformer) resources configured to DCT the data blocks;
quantizing resources coupled to the DCT resources configured to quantize the data blocks to provide quantized data blocks;
inverse quantizing resources coupled to the quantizing resources to inverse quantize the quantized data blocks;
frame reconstruction resources coupled to the inverse quantizing resources configured to reconstruct previous compressed frames;
motion estimation resources coupled to the frame reconstruction resources configured to provide predicted data blocks;
subtraction resources coupled to the DCT resources and the motion estimation resources to subtract the data blocks and the predicted data blocks;
image preclassifying resources coupled between the subtraction resources and the DCT resources configured to preclassify the data blocks as active and inactive regions wherein the quantizing resources responsive to preclassification of the data blocks limits quantizer values for the active regions; and
a data rate output buffer coupled to the quantizing resources configured to provide a data rate signal to the quantizing resources for modifying quantizer values of the quantizing resources in order to maintain a particular target output data rate of the compressed image data wherein the frame reconstruction resources include an automatic scene change detector having a frame comparator configured to provide an average of a combination of distortion, differences in luminance, and color histogram information for comparing the previous frame with the current frame.
1 Assignment
0 Petitions
Accused Products
Abstract
A system for encoding data blocks and methods of operating the same result in a video encoder that provides advanced intelligent encoding. The video encoder comprises DCT (discrete cosine transformer) resources configured to DCT the data blocks. Quantizing resources is coupled to the DCT resources configured to quantize the data blocks to provide quantized data blocks. Inverse quantizing resources is coupled to the quantizing resources to inverse quantize the quantized data blocks. Frame reconstruction resources is coupled to the inverse quantizing resources configured to reconstruct previous compressed frames. Motion estimation resources is coupled to the frame reconstruction resources configured to provide predicted data blocks. Subtraction resources is coupled to the DCT resources and the motion estimation resources to subtract the data blocks and the predicted data blocks. An output data buffer is coupled to the quantizing resources configured to provide a data rate signal to the quantizing resources for modifying quantizer values of the quantizing resources in order to maintain a particular target output data rate of the compressed image data.
78 Citations
13 Claims
-
1. A video encoder for encoding input images having a plurality of data blocks to provide compressed image data comprising:
-
DCT (discrete cosine transformer) resources configured to DCT the data blocks;
quantizing resources coupled to the DCT resources configured to quantize the data blocks to provide quantized data blocks;
inverse quantizing resources coupled to the quantizing resources to inverse quantize the quantized data blocks;
frame reconstruction resources coupled to the inverse quantizing resources configured to reconstruct previous compressed frames;
motion estimation resources coupled to the frame reconstruction resources configured to provide predicted data blocks;
subtraction resources coupled to the DCT resources and the motion estimation resources to subtract the data blocks and the predicted data blocks;
image preclassifying resources coupled between the subtraction resources and the DCT resources configured to preclassify the data blocks as active and inactive regions wherein the quantizing resources responsive to preclassification of the data blocks limits quantizer values for the active regions; and
a data rate output buffer coupled to the quantizing resources configured to provide a data rate signal to the quantizing resources for modifying quantizer values of the quantizing resources in order to maintain a particular target output data rate of the compressed image data wherein the frame reconstruction resources include an automatic scene change detector having a frame comparator configured to provide an average of a combination of distortion, differences in luminance, and color histogram information for comparing the previous frame with the current frame. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
a frame comparator configured to compare a previous frame and a reference frame with a current frame to determine whether the previous frame or the reference frame is more similar to the current frame; and
a frame encoder coupled to the frame comparator configured to encode the current frame based on a selected more similar frame from the frame comparator.
-
-
5. The video encoder of claim 4, wherein the reference picture controller includes a reference picture store coupled to the frame encoder configured to receive updates of additional background information for the reference frame from the reference frame comparator.
-
6. The video encoder of claim 5, wherein the reference picture controller updates the reference picture store to include an intra frame whenever the current frame is encoded as the intra frame.
-
7. The video encoder of claim 3, wherein the reference picture controller includes a synthetic background generator which generates a synthetic background as the reference frame for encoding the current frame.
-
8. The video encoder of claim 7, wherein the synthetic background generator includes animation by a Java applet.
-
9. The video encoder of claim 1, wherein the motion estimation resources constrains motion vectors to be smooth relative to each other.
-
10. The video encoder of claim 9, wherein the motion estimation resources includes:
-
a motion vector search engine configured to receive a previous frame and a current frame to search an optimal motion vector;
a motion vector biasor coupled to the motion vector search engine configured to bias the optimal motion vector to favor a direction consistent with that found in surrounding areas of the optimal motion vector and provide a modified distortion; and
a signal to noise ratio (SNR) comparator configured to compare SNR of additional motion vector searches performed by the motion vector search engine in a direction consistent with the optimal motion vector with the modified distortion to select the motion vector associated with minimum distortion.
-
-
11. A computer readable media video encoder for images having a plurality of data blocks comprising:
-
DCT (discrete cosine transformer) resources configured to DCT the data blocks;
quantizing resources coupled to the DCT resources configured to quantize the data blocks to provide quantized data blocks;
inverse quantizing resources coupled to the quantizing resources to inverse quantize the quantized data blocks;
frame reconstruction resources coupled to the inverse quantizing resources configured to determine whether to code inverse quantized data blocks as intra frames or predicted frames;
motion estimation resources coupled to the frame reconstruction resources configured to provide predicted data blocks which constrain motion vectors to be smooth relative to each other;
subtraction resources coupled to the DCT resources and the motion estimation resources to subtract the data blocks and the predicted data blocks; and
an output data buffer coupled to the quantizing resources configured to provide a data rate signal to the quantizing resources for modifying quantizer values of the quantizing resources in order to maintain a particular target output data rate of the compressed image data wherein the frame reconstruction resources includes a reference picture controller configured to determine whether to code inverse quantized data blocks based upon a reference frame or a current frame and wherein the reference picture controller includes a synthetic background generator which generates a synthetic background based on animation by a java applet as the reference frame for encoding the current frame and a built in by-pass which conserves bandwidth data bitrates exceeds a predetermined bitrate.
-
-
12. A method of encoding input images having a plurality of data blocks to provide output image data comprising the steps:
-
DCTing (discrete cosine transformer) data blocks to provide reduced data blocks;
quantizing the reduced data blocks to provide quantized data blocks;
inverse quantizing the quantized data blocks to provide inverse quantized data blocks;
detecting a scene change to code inverse quantized data blocks as intra frames;
constraining motion vectors to be smooth relative to each other in motion estimation to provide predicted data blocks;
integrating the data blocks and the predicted data blocks to provide the output image data; and
controlling quantizer values to regulate the image data rate to a predetermined set limit wherein the step of detecting a scene change includes comparing an average of a combination of distortion, differences in luminance, and color histogram information between a previous frame and a current frame. - View Dependent Claims (13)
-
Specification