Claims
- 1. An apparatus for processing a video bitstream coded from a first hybrid video codec to a bitstream coded for a second hybrid video codec, the apparatus comprising;
a variable length decoder to decode the incoming video bitstream from the first hybrid video codec, the variable length decoder being adapted to output a decoded bitstream a unit to perform semantic conversion of the decoded symbols, the semantic conversion processing a portion of the decoded bitstream to adapt the decoded bitstream to be compatible with the second hybrid video codec; and a variable length encoder to encode the outgoing bitstream from the output of the unit to the second hybrid video codec.
- 2. The apparatus of claim 1 wherein the first video codec is baseline H.263 and the second video codec is MPEG-4 and wherein the semantic conversion in the unit comprise an inverse intra AC prediction of a plurality of intra macroblock coefficients based upon one or more predetermined parameters.
- 3. The apparatus of claim 2 wherein the one or more predetermined parameters to perform the intra AC prediction is provided on a macroblock by macroblock basis and a processing is provided on the macroblock by macroblock basis.
- 4. An apparatus for processing a video bitstream coded from a first hybrid video codec to a bitstream coded to a second hybrid video codec comprising:
decoding of the input bitstream comprising a plurality of macroblocks from the first hybrid codec on a macroblock by macroblock basis among the plurality of macroblocks, determining if an input frame size of the plurality of macroblocks is supported by the second hybrid codec; converting the input frame size to be supported by the second hybrid codec if the input frame size is not supported by the second hybrid codec; determining if one or more of a plurality of input motion vectors is supported by the second hybrid codec; converting the one or more input motion vectors to be supported by the second hybrid codec if the one or more input motion vectors is not supported by the second hybrid codecs to form resulting transcoded data; and encoding of the transcoded data of the plurality of macroblocks on a macroblock by macroblock basis.
- 5. The apparatus of claim 4 wherein the first video codec is Simple Profile MPEG 4 and the second video codec is Baseline H.263.
- 6. The apparatus of claim 4 wherein the input video frames that are not a valid output frame size are converted by setting the output frame size to the smallest valid output frame size that is larger than the input frame size and;
for intra frames, encoding the additional macroblocks in the output frame as a fixed value, for inter frames, encoding the additional macroblocks in the output frame as “not coded” macroblock.
- 7. The apparatus of claim 4 wherein the input video frames that are not a valid output frame size are converted by setting the output frame size to the largest valid output frame size that is smaller than the input frame size and cropping macroblocks from the input frame that do not fit in the output frame.
- 8. The apparatus of claim 4 wherein the input macroblocks with multiple motion vectors are converted to a larger number of output motion vectors by replicating the motion vectors.
- 9. The apparatus of claim 4 wherein the input macroblocks with multiple motion vectors are converted to a smaller number of output motion vectors by one or more processes including an arithmetic mean or a median process.
- 10. The apparatus of claim 4 wherein the input motion vectors that reference a different reference frame than the output codec reference frame are scaled to form the output motion vectors.
- 11. The apparatus of claim 4 wherein the input motion vectors that use a higher resolution than that supported by the output codec are rounded to the nearest valid output motion vector.
- 12. The apparatus of claim 4 wherein the input motion vectors that are outside the range of valid output motion vectors are converted by clipping the components to the largest allowed output values.
- 13. The apparatus of claim 4 wherein the input motion vectors that are outside the range of valid output motion vectors are converted by choosing the largest valid output vector with the same direction as the input vector.
- 14. The apparatus of claim 4 wherein the determining, converting, determining, and converting are provided by computer codes.
- 15. The apparatus of claim 9 wherein MPEG-4 macroblocks with 4 motion vectors are converted to a single motion vector by averaging the 4 vectors by one or more processes including an arithmetic mean or a median process.
- 16. The apparatus of claim 12 wherein the MPEG-4 motion vectors that are outside the range of valid H.263 motion vectors are converted by clipping the components to the largest allowed H.263 values.
- 17. The apparatus of claim 13 wherein the MPEG-4 motion vectors that are outside the range of valid H.263 motion vectors are converted by choosing the largest valid H.263 vector with the same direction as the MPEG-4 vector.
- 18. The apparatus of claim 12 wherein the MPEG-4 motion vectors that point outside the video frame are converted by clipping the components of the vectors to the frame edge.
- 19. The apparatus in claim 4 wherein the first hybrid codec and the second hybrid codec have a same spatial transform, same reference frames and quantization, same inter macroblocks with input motion vectors that are valid output motion vectors are transcoded by a method comprising;
decoding of an input bitstream macroblock; determining if an input frame size of the plurality of macroblocks is supported by the second hybrid codec; converting the input frame size to be supported by the second hybrid codec if the input frame size is not supported by the second hybrid codec; performing a VLC encoding process one one or more of a plurality of quantized transform coefficients from the decoded input bitstream macroblock, using one or more of the macroblock pixel values from the decoded input bitstream macroblock to update an encoder reference frame.
- 20. The apparatus of claim 19 further comprising skipping at a predetermined frequency an optimized mode to prevent build up of a drift in a transcoding process of at least determining, converting, and performing.
- 21. The apparatus of claim 19 wherein the first video codec is Simple Profile MPEG 4 and the second video codec is Baseline H.263.
- 22. The apparatus of claim 4 wherein the unit is further adapted to convert the selected input P frames into I frames.
- 23. The apparatus of claim 4 further comprising removing MPEG-4 “Not Coded” frames from the decoded bitstream.
- 24. The apparatus of claim 4 further comprising converting one or more of MPEG-4 “Not Coded” frames into an H.263 P frame with each macroblock coded as a “not coded” macroblock.
- 25. A method of providing for reduced usage of memory in an encoder or transcoder wherein a range of motion vectors is provided within a predetermined neighborhood of a macroblock being encoded, the method comprising:
determining one or more pixels within a reference frame for motion compensation; encoding the macroblock while the range of motion vectors has been provided within the one or more pixels provided within the predetermined neighborhood of the macroblock being encoded; and storing the encoded macroblock into a buffer while the buffer maintains other encoded macroblocks.
- 26. The method of claim 25 wherein the buffer is free from any macroblocks that are not coded.
- 27. The method of claim 25 wherein the encoder or transcoder is for a baseline H.263 encoder or transcoder, the method comprising;
storing, for a single reference frame, and for a buffer, a number of macroblocks indicative of one frame row plus one macroblock; writing an oldest macroblock in the buffer to a reference frame; and replacing the oldest macroblock in the buffer with an encoded macroblock.
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional No. 60/396891, filed Jul. 17, 2002; No. 60/396689, Jul. 17, 2002; No. 60/417831, Oct. 10, 2002; No. 60/431054, Dec. 4, 2002, which are incorporated by reference herein.
Provisional Applications (4)
|
Number |
Date |
Country |
|
60431054 |
Dec 2002 |
US |
|
60417831 |
Oct 2002 |
US |
|
60396891 |
Jul 2002 |
US |
|
60396689 |
Jul 2002 |
US |