Claims
- 1. A transcoding method for inserting a visual element into an encoded bit stream representing a series of image frames, each image frame having a plurality of segments, the transcoding method comprising the steps of:receiving the encoded bit stream; partially decoding the encoded bit stream; inserting the visual element into the partially decoded bit stream; determining if a motion vector is affected by the insertion of the visual element into the partially decoded bit stream; modifying the affected motion vector or a segment associated with the affected motion vector; re-encoding the partially decoded bit stream; and outputting the re-encoded bit stream.
- 2. The transcoding method of claim 1, wherein the encoded bit stream is an MPEG encoded video bit stream.
- 3. The transcoding method of claim 1, wherein the visual element is one of a logo, a textual display, an image, and a video sequence.
- 4. The transcoding method of claim 1, wherein the step of modifying includes one of setting the motion vector to zero, discarding the motion vector, and re-encoding the segment associated with the affected motion vector.
- 5. The transcoding method of claim 1, wherein the segment is one of a macroblock slice, a macroblock, and a block.
- 6. The transcoding method of claim 1, wherein the step of inserting includes substituting the visual element for image data in an image frame.
- 7. The transcoding method of claim 6, wherein the step of substituting the visual element for the image data occurs in the pixel domain.
- 8. The transcoding method of claim 6, wherein the step of substituting the visual element for the image data occurs in the macroblock domain.
- 9. The transcoding method of claim 1, wherein the step of inserting includes mixing the visual element with image data in an image frame.
- 10. The transcoding method of claim 1, wherein the step of outputting the re-encoded bit stream includes the steps of:controlling an output bit rate of the re-encoded bit stream such that each frame in the re-encoded bit stream contains the same number of bits as each corresponding frame in the encoded bit stream.
- 11. The transcoding method of claim 10, wherein the step of controlling the output bit rate includes the steps of:calculating a first bit count for a frame in the encoded bit stream; calculating a second bit count for a corresponding frame in the re-encoded bit stream; calculating a difference between the first bit count and the second bit count; and modifying the bit rate of the re-encoded bit stream to eliminate the calculated difference in bit count from the re-encoded bit stream.
- 12. The transcoding method of claim 11, wherein the step of modifying the bit rate includes the steps of:adjusting a quantization scale factor of the re-encoded bit stream; and requantizing portions of the re-encoded bit stream in accordance with the adjusted quantization scale.
- 13. The transcoding method of claim 12, wherein the distortion introduced by the requantization is compensated for by re-encoding subsequent affected regions.
- 14. The transcoding method of claim 11, further including the step of:ending the modification of the bit rate once the calculated difference in bit count is eliminated.
- 15. The transcoding method of claim 14, wherein the step of ending the modification includes the step of:determining whether the calculated difference in bit count is eliminated at a predetermined point in the re-encoded bit stream.
- 16. The transcoding method of claim 15, wherein the predetermined point is a midpoint of a macroblock slice.
- 17. The transcoding method of claim 16, wherein the predetermined point is an endpoint of a macroblock slice.
- 18. The transcoding method of claim 11, wherein the step of modifying the bit rate includes the step of:randomly selecting a starting point within the frame to begin the modification of the bit rate such that perceptual problems that would otherwise be caused by the modification are minimized.
- 19. A transcoding method for inserting a visual element into an insertion region of an encoded bit stream representing a series of image frames, the transcoding method comprising the steps of:receiving a first encoded bit stream; decoding a copy of the first encoded bit stream to determine a position of a segment of an image frame; comparing the insertion region to the position of the segment to determine if the visual element overlaps the segment; combining the visual element with the segment if the visual element overlaps the segment; determining if a motion vector is affected by the combination of the visual element and the segment; modifying the affected motion vector; re-encoding the segment; and outputting a second encoded bit stream, the second encoded bit stream being a combination of the first encoded bit stream and the re-encoded segment.
- 20. A transcoding method for inserting a visual element into an insertion region of an encoded bit stream, the transcoding method comprising the steps of:receiving a first encoded bit stream representing an image; decoding a copy of the first encoded bit stream to detect characteristics of respective segments of the image; comparing the characteristics of the segments to the insertion region to determine if the insertion of the visual element into the image would affect the segments; re-encoding the affected segments; outputting a second encoded bit stream that is a combination of the first encoded bit stream and the re-encoded segments; calculating a first bit count for the first encoded bit stream; calculating a second bit count for the second encoded bit stream; calculating a difference between the first bit count and the second bit count; randomly selecting a starting point within the second encoded bit stream to begin modification of an output bit rate of the second encoded bit stream such that perceptual problems that would otherwise be caused by the modification are minimized; and modifying the output bit rate of the second encoded bit stream at the randomly selected starting point to eliminate the calculated difference in bit count from the second encoded bit stream.
GOVERNMENT LICENSE
The U.S. Government has a paid-up license in this invention and the right in limited circumstances to require the patent owner to license others on reasonable terms as provided for by the terms of Government Contract No. 70NANB5H1174 awarded by NIST (National Institute of Standards & Technology).
US Referenced Citations (8)