Method and apparatus for improved video coding
First Claim
1. A video encoder comprising:
- a color transform module for accepting input video signals and for generating a first set of data signals representing a current image, said current image including a plurality of pixels;
a motion detector module coupled to said color transform module and responsive to said first set of data signals for generating a classification signal classifying said current image as moving or stationary;
a modified motion compensation module responsive to said classification signal generated by said motion detector module and a second set of data signals representing a previous image generated by a feedback module for compensating for motion in said current image using a center-biased orthogonal search technique;
said modified motion compensation module comprising means for determining sum of absolute difference between current macroblock of data signals and a set of data signals from a set of neighboring points in each direction centered around a search point in a previous macroblock in said previous image and if the best match occurs at the center point selecting the center point as best match and if not the best match determining if a best match occurs at an orthogonal point which is a given distance away from said set of neighboring points in a direction not along a diagonal and if a best match occurs at an orthogonal point selecting the best match using an Orthogonal Search Algorithm; and
if the best match does not occur at an orthogonal point but at one of the neighboring points then select a new set of neighboring points with the best matching point as the center point;
a computational module responsive to said modified motion compensation module for generating digitized data signals from said first set of data signals;
said feedback module responsive to said digitized data signals for generating said second set of data signals for input to said modified motion compensation module; and
a coding module responsive to said digitized data signals for generating encoded data signals.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention includes a video encoder optimized so as to be implemented using general purpose DSPs or as software executable on a general purpose microprocessor. The present invention includes a modified motion detector module (50) which classifies blocks in the currently processing image as moving or stationary. Blocks classified as moving are then processed by an modified motion compensation module (52) which uses a center-biased orthogonal searching procedure to match the block with a previously processed image. A zero block detector module (54) determines whether the block will generate a zero-valued block after being processed by a transform module 18 and a quantization module 20. If a zero-valued block is predicted, the transformation module 18 and the quantization module 20 are bypassed.
24 Citations
9 Claims
-
1. A video encoder comprising:
-
a color transform module for accepting input video signals and for generating a first set of data signals representing a current image, said current image including a plurality of pixels; a motion detector module coupled to said color transform module and responsive to said first set of data signals for generating a classification signal classifying said current image as moving or stationary; a modified motion compensation module responsive to said classification signal generated by said motion detector module and a second set of data signals representing a previous image generated by a feedback module for compensating for motion in said current image using a center-biased orthogonal search technique; said modified motion compensation module comprising means for determining sum of absolute difference between current macroblock of data signals and a set of data signals from a set of neighboring points in each direction centered around a search point in a previous macroblock in said previous image and if the best match occurs at the center point selecting the center point as best match and if not the best match determining if a best match occurs at an orthogonal point which is a given distance away from said set of neighboring points in a direction not along a diagonal and if a best match occurs at an orthogonal point selecting the best match using an Orthogonal Search Algorithm; and
if the best match does not occur at an orthogonal point but at one of the neighboring points then select a new set of neighboring points with the best matching point as the center point;a computational module responsive to said modified motion compensation module for generating digitized data signals from said first set of data signals; said feedback module responsive to said digitized data signals for generating said second set of data signals for input to said modified motion compensation module; and a coding module responsive to said digitized data signals for generating encoded data signals.
-
-
2. A method of video encoding comprising the steps of:
-
accepting input video signals and generating a first set of data signals representing a current image where the current image includes a plurality of pixels; generating classification signals classifying said current image as moving or stationary in response to said first set of data signals; compensating said first set of data signals for motion in said current image by center-biased orthogonal search in response to said classification signal and a second set of data signals representing a previous image generated by a feed back module comprising steps of; determining sum of absolute difference between current macroblock of data signals and a set of data signals from a set of neighboring points centered around a search point in a previous macroblock and if the best match occurs at the center point selecting the center point as best match and if not the best match determining if a best match occurs at an orthogonal point which is a given distance away from said set of neighboring points in a direction not along a diagonal and if a best match occurs at an orthogonal point, selecting the best match using an Orthogonal Search Algorithm (OSA) and if the best match does not occur at an orthogonal point but at one of the neighboring points then select a new set of neighboring points with the best matching point as the center point; generating digitized data signals from said first set of data signals compensated for motion; and generating encoded data signals from said digitized data signals. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9)
-
Specification