Apparatus capable of performing both block-matching motion compensation and global motion compensation and method thereof
Abstract
An interpolation unit receives an incoming video bit stream comprising a plurality of frames including first macroblocks encoded using block-matching motion compensation and second macroblocks encoded using global motion compensation. A translation unit converts global motion parameters included in a current frame of the incoming video bit stream into a global motion vector. The interpolation unit performs luminance and chrominance interpolation operations on each macroblock contained in each frame of the incoming video bit stream. When processing a current macroblock, if the current macroblock is encoded using global motion compensation, the interpolation unit performs the luminance interpolation operations according to the global motion vector at half-pel resolution, and performs the chrominance interpolation operations at quarter-pel resolution. If the current macroblock is encoded using block-matching motion compensation, the interpolation unit performs the luminance and chrominance interpolation operations according to the macroblock motion vector contained in the current macroblock at half-pel resolution.
Claims
exact text as granted — not AI-modified1 . An apparatus for performing motion compensation when decoding an incoming video bit stream including a plurality of frames having first macroblocks encoded using block-matching motion compensation and second macroblocks encoded using global motion compensation, the apparatus comprising:
an interpolation unit for performing interpolation operations on each macroblock contained in each frame of the incoming video stream; wherein when processing a current macroblock, if the current macroblock is encoded using global motion compensation, the interpolation unit performs the interpolation operations according to a global motion vector on a per-macroblock basis.
2 . The apparatus of claim 1 , further comprising a translation unit for converting global motion parameters associated with a current frame of the incoming video stream into the global motion vector for use by the interpolation unit.
3 . The apparatus of claim 2 , wherein when processing the current macroblock, if the current macroblock is encoded using block-matching motion compensation, the interpolation unit performs the interpolation operations according to at least one macroblock motion vector contained in the current macroblock.
4 . The apparatus of claim 3 , further comprising:
a block-matching motion vector storage unit for storing the macroblock motion vector extracted from each macroblock encoded using block-matching motion compensation; a global motion vector storage unit for storing the global motion vector output by the translation unit; and a multiplexer for selecting whether the interpolation unit uses the macroblock motion vector or the global motion vector; wherein when performing the interpolation operations on macroblocks encoded using block-matching motion compensation, the multiplexer outputs the macroblock motion vector stored in the macroblock motion vector storage unit to the interpolation unit, and when performing the interpolation operations on macroblocks encoded using global motion compensation, the multiplexer outputs the global motion vector stored in the global motion vector storage unit to the interpolation unit.
5 . The apparatus of claim 1 , wherein the interpolation operations comprise luminance and chrominance interpolation operations.
6 . The apparatus of claim 5 , wherein when performing the luminance interpolation operations on macroblocks encoded using block-matching motion compensation, the interpolation unit uses half-pel precision.
7 . The apparatus of claim 5 , wherein when performing the chrominance interpolation operations on macroblocks encoded using block-matching motion compensation, the interpolation unit uses half-pel precision.
8 . The apparatus of claim 5 , wherein when performing the luminance interpolation operations on macroblocks encoded using global motion compensation, the interpolation unit uses half-pel precision.
9 . The apparatus of claim 5 , wherein when performing the chrominance interpolation operations on macroblocks encoded using global matching compensation, the interpolation unit uses quarter-pel precision.
10 . The apparatus of claim 1 , wherein the video decoder is capable of processing an incoming MPEG-4 video stream.
11 . The apparatus of claim 10 , wherein the video decoder is capable of processing an incoming MPEG-4 video stream having a no_of_sprite_warping_point parameter set to either 0 or 1.
12 . The apparatus of claim 1 , wherein when performing the interpolation operations, the interpolation unit uses a bilinear interpolation process.
13 . A method of processing an incoming video bit stream comprising a plurality of frames, the plurality of frames including first macroblocks encoded using block-matching motion compensation and second macroblocks encoded using global motion compensation, the video bit stream including macroblock motion vectors indicating motion vectors of the first macroblocks and global motion parameters associated with the plurality of frames indicating a motion vector of each pixel in the second macroblocks, the method comprising:
if a current macroblock is encoded using global motion compensation, performing the interpolation operations according to a global motion vector which is derived from the video bit stream and is in a form substantially identical to that of the macroblock motion vector.
14 . The method of claim 13 , further comprising converting global motion parameters associated with a current frame of the incoming video stream into the global motion vector.
15 . The method of claim 13 , further comprising if the current macroblock is encoded using block-matching motion compensation, performing the interpolation operations according to a macroblock motion vector contained in the current macroblock.
16 . The method of claim 13 , wherein the interpolation operations comprise luminance and chrominance interpolation operations.
17 . The method of claim 16 , wherein when performing the luminance interpolation operations on macroblocks encoded using block-matching motion compensation, using half-pel precision.
18 . The method of claim 16 , wherein when performing the chrominance interpolation operations on macroblocks encoded using block-matching motion compensation, using half-pel precision.
19 . The method of claim 16 , wherein when performing the luminance interpolation operations on macroblocks encoded using global motion compensation, using half-pel precision.
20 . The method of claim 16 , wherein when performing the chrominance interpolation operations on macroblocks encoded using global matching compensation, using quarter-pel precision.
21 . The method of claim 13 , wherein the method is capable of processing an incoming MPEG-4 video stream.
22 . The method of claim 13 , wherein the method is capable of processing an incoming MPEG-4 video stream having a no_of_sprite_warping_point parameter set to either 0 or 1.
23 . The method of claim 13 , wherein when performing the interpolation operations, using a bilinear interpolation process.
24 . A predicted image synthesizer in a video decoder for decoding a video bit stream and generating a predicted image, the video bit stream including a plurality of frames having first macroblocks encoded using block-matching compensation and second macroblocks encoded using global motion compensation, the video bit stream including macroblock motion vectors indicating motion vectors of the first macroblocks and global motion parameters associated with the plurality of frames indicating a motion vector of each pixel in the second macroblocks, the predicted image synthesizer comprising:
a translation unit receiving the global motion parameters, and translating the global motion parameters into a global motion vector which is in a form substantially identical to that of the macroblock motion vector, and a interpolation unit for receiving a decoded image which is a previously decoded frame, receiving the global motion vector, performing interpolation operations, and generating the prediction image.
25 . The predicted image synthesizer of claim 24 , further comprising a demultiplexer receiving the macroblock motion vectors and global motion parameters, and respectively outputting the macroblock motion vectors and the global motion parameters, the global motion parameters are sent to the translation unit and translated into a global motion vector which is in a form substantially identical to that of the macroblock motion vector, and the interpolation unit selectively receiving the macroblock motion vector or the global motion vector to perform the interpolation operations.
26 . The predicted image synthesizer of claim 25 , wherein the interpolation unit receives the global motion vector when a current macroblock is encoded using global motion compensation.
27 . The predicted image synthesizer of claim 25 , wherein the interpolation operations include a luminance interpolation operation and a chrominance interpolation operation, the interpolation unit uses a first resolution to perform the luminance interpolation operation and uses a second resolution to perform the chrominance interpolation operation.
28 . The predicted image synthesizer of claim 27 , wherein the first resolution is a half-pel resolution, and the second resolution is a quarter-pel resolution.
29 . The predicted image synthesizer of claim 25 , wherein the interpolation unit receives the macroblock motion vector when a current macroblock is encoded using block-matching motion compensation.
30 . The predicted image synthesizer of claim 29 , wherein the interpolation operations include a luminance interpolation operation and a chrominance interpolation operation, and the interpolation unit uses a half-pel resolution to perform both the luminance interpolation operation and the chrominance interpolation operation.
31 . The predicted image synthesizer of claim 30 , wherein when performing the interpolation operations, the interpolation unit uses a bilinear interpolation process.Join the waitlist — get patent alerts
Track US2005105621A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.