Video encoding method and apparatus
AssigneeThomson Licensing
InventorSrinath Venkatachalapathy Ramaswamy
Life of this patent
Estimating the term…
Abstract
An exemplary video encoder is disclosed that quantizes pel blocks of a video signal based upon one or more of the following: (i) an actual bit distribution of a previously encoded video frame, (ii) a required decoding delay for a splice point, and (iii) an activity measure of a pel block being encoded. Moreover, an exemplary video encoder uses the above quantization techniques to obtain an encoded video stream having seamless in points and seamless out points. Video encoding methods that utilize the above quantization methods are also disclosed.
Claims9
A method of encoding a video signal in order to obtain an encoded video stream having seamless splice points, said encoded video stream having a presentation order and encode order, said method comprising the steps of:
- a) allocating a target number of bits to a first video frame of said video signal that precedes a desired splice point in presentation order;
- b) determining an estimated decoding delay for a second video frame of said plurality of video frames that follows said desired splice point in encode order;
- c) determining a correction factor based upon a difference between said estimated decoding delay and a splice point decoding delay for said first video frame, the splice point decoding delay being a delay necessary to achieve a seamless splice point at said desired splice point;
- d) adjusting said target number of bits allocated to said first video frame based upon said correction factor to obtain an adjusted number of bits for said first video frame;
- and
- e) encoding said first video frame based upon said adjusted number of bits.
A computer readable medium for obtaining an encoded video stream having seamless splice points, said encoded video stream having a presentation order and an encode order, said computer readable medium comprising code which when executed by a video encoder causes said video encoder to:
- a) allocate a target number of bits to a first video frame of a video signal that precedes a desired splice point in presentation order;
- b) determine an estimated decoding delay for a second video frame of said video signal that follows said desired splice point in encode order;
- c) determine a correction factor based upon a difference between said estimated decoding delay and a splice point decoding delay, said splice point decoding delay being a delay necessary for said first video frame in order to achieve a seamless splice point at said desired splice point;
- d) adjust said target number of bits allocated to said first video frame based upon said correction factor in order to obtain an adjusted number of bits for said first video frame;
- and
- e) encode said first video frame based upon said adjusted number of bits allocated to said first video frame.
A video encoder for obtaining an encoded video stream having seamless splice points, said encoded video stream having a presentation order and an encode order, said video encoder comprising:
- a rate control processor operable to
- allocate a target number of bits to a first video frame of a video signal that precedes a desired splice point in presentation order,
- determine an estimated decoding delay for a second video frame of said video signal that follows said desired splice point in encode order,
- determine a correction factor based upon a difference between said estimated decoding delay and a splice point decoding delay that is required for said first video frame in order to achieve a seamless splice point at said desired splice point,
- adjust said target number of bits allocated to said first video frame based upon said correction factor in order to obtain an adjusted number of bits for said first video frame, and
- generate a quantization value for a block of said first video frame based upon said adjusted target number of bits for said first video frame;
- and
- a quantizer coupled to said rate control processor and operable to
- receive said quantization value and said block of said first video frame, and
- quantize said block of said first video frame based upon said quantization value.
Dependencies are inferred from the claim text.