Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TRANSCODER-BASED ADAPTIVE QUANTIZATION FOR DIGITAL VIDEO RECORDING
Document Type and Number:
WIPO Patent Application WO/2002/015588
Kind Code:
A1
Abstract:
The present invention provides a transcoding architecture and a consumer set-top box with storage capability that is based on the transcoding architecture and capable of operating efficiently in an all-digital environment. In a preferred embodiment, a digital-VIDEO DEVICE employs an MPEG-2 compliant transcoder that includes a simplified cascaded decoder and encoder, and is capable of performing determinable bitrate re-encoding without conducting motion estimation. During recording, the decoder receives and processes a compressed source bitstream, producing a decoded bitstream that includes reconstructed video and preserved motion vectors. The encoder 're-encodes' the decoded bitstream using the preserved motion vectors and performs any applicable bitrate modifications. The re-encoded bitstream is then stored.

Inventors:
WANG LIMIN
LUTHRA AJAY
MORONEY PAUL
Application Number:
PCT/US2001/025808
Publication Date:
February 21, 2002
Filing Date:
August 17, 2001
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GEN INSTRUMENT CORP (US)
International Classes:
H04N5/76; H04N7/26; H04N7/36; H04N9/79; H04N21/4147; H04N21/433; H04N21/435; H04N21/4402; H04N21/462; H04N21/8545; H04N5/44; H04N5/781; H04N5/782; H04N9/804; H04N21/47; (IPC1-7): H04N7/26
Domestic Patent References:
WO1995029561A11995-11-02
WO2000021300A12000-04-13
Foreign References:
EP0739138A21996-10-23
US6081295A2000-06-27
EP0711077A21996-05-08
Attorney, Agent or Firm:
Kulas, Charles J. (CA, US)
Download PDF:
Claims:
WHAT IS CLAIMED IS
1. A method for determining an optimal reencode quantization parameter, comprising: receiving a decoded quantization parameter, Ql, of a bitstream portion; receiving a reencode quantization parameter, Q2, of the bitstream portion; comparing Ql and Q2; and selecting Q2 as the optimal reencode quantization parameter if Q2 is greater than Ql, and otherwise selecting Ql as the optimal reencode quantization parameter.
2. A method for forming a reencoded bitstream portion, the method comprising: (a) receiving a compressed bitstream portion having a first quantization parameter, Q. l ; (b) initiating decoding of said compressed bitstream portion to produce said first quantization parameter, Ql; (c) receiving a second quantization parameter, Q2; (d) determining that Q2 is less than Ql; (e) determining that a signal derived from Ql is substantially equal to Q2 when the quantization error signal is below a predetermined threshold; (f) copying said compressed bitstream portion to produce a reencoded bitstream portion; and (g)reconstructing said bitstream portion to form a reconstructed.. bitstream portion.
3. The method of claim 2, wherein said bitstream portion is selected from a group consisting of macroblocks, slices and frames.
4. The method of claim 2, wherein said step (e) of determining comprises comparing said inverse quantization input to said quantization output.
5. The method of claim 2, wherein said step (e) of determining comprises determining that a first total number of bits, Tl, of said inverse quantization output is equal to a second total number of bits, T2, of said quantization input.
6. The method of claim 2, wherein said step (e) of determining comprises determining that a first total number of bits, Tl, of said inverse quantization output is within a small percentage of a second total number of bits, T2, of said quantization input.
7. The method of claim 2, further including: storing a zero quantization error of the said bitstream portion into a frame buffer.
8. The method of claim 5, further including copying a zero quantization error bitstream portion into a frame buffer.
9. A reencoded bitstream portion formed according to the method of claim 2.
10. The method of claim 2, wherien the received bitstream portion is obtained from a storage device.
11. A computer readable storage medium storing program code for causing a processing system to perform the steps of : receiving a decoded quantization parameter, Q1, of a bitstream portion; receiving a reencode quantization parameter, Q2, of the bitstream portion; comparing Ql and Q2; and selecting Q2 as the optimal reencode quantization parameter if Q2 is greater than Ql, and otherwise selecting Ql as the optimal reencode quantization parameter.
12. A transcoder comprising: a decoder for producing a coding parameter of a received bitstream portion; and an encoder coupled to said decoder for producing a reencode parameter corresponding to said received bitstream portion, comparing said reencode parameter to said coding parameter and copying said received bitstream portion to a reencode bitstream according to a predetermined determined correspondence between said parameters.
13. A transcoder according to claim 12, wherein said coding parameter is a quantization parameter of said received bitstream portion and said reencode parameter is a reencode quantization parameter.
14. A transcoder comprising: means for receiving a decoded quantization parameter, Ql, of a bitstream portion; means for receiving a reencode quantization parameter, Q2, of the bitstream portion: means for comparing Ql and Q2 and means for selecting Q2 as the optimal reencode quantization parameter if Q2 is greater than Ql, and otherwise selecting Ql as the optimal reencode quantization parameter.
15. A method for forming a reencoded bitstream portion, comprising: (a) receiving a compressed bitstream portion having a first quantization parameter, Ql ; (b) initiating decoding of said compressed bitstream portion to produce said first quantization parameter, Ql, and an inverse quantization output; (c) initiating reencoding of said decoded bitstream portion to form a second quantization parameter, Q2, and a quantization input ; (d) determining that Q2 is less than Ql ; (e) determining that said bitstream portion corresponds to a B picture; (f) copying said compressed bitstream portion to produce a re encoded bitstream portion ; and (g) reconstructing said bitstream portion to form a reconstructed bitstream portion and storing said reconstructed bitstream portion in a frame buffer.
16. The method of claim 15, wherein said step (g) is replaced by storing a zero quantization error bitstream portion into said frame buffer.
17. A method for disposing of spare bits resulting from transcoding, comprising : receiving a decoded quantization parameter, Ql, of a bitstream portion; receiving a reencode quantization parameter, Q2, of the bitstream portion; determining that Ql is greater than Q2 ; selecting Ql as an replacement reencode quantization parameter; and passing spare bits resulting from said replacement to another bitstream portion.
18. A method for reencoding a first bitstream to a second bitstream, the method comprising: receiving a decoded quantization parameter, Ql, of a first bitstream portion; receiving a reencode quantization parameter, Q2, of the first bitstream portion; comparing Ql and Q2; selecting Q2 as the optimal reencode quantization parameter if Q2 is greater than Ql, and otherwise selecting Ql as the optimal reencode quantization parameter; and using the selected reencode quantization parameter to produce a second bitstream at a different bitrate from the first bitstream.
19. A method for reencoding an MPEGcompliant bitstream having macroblocks and I, P and B pictures, wherein the method uses hardware including a decoder and an encoder, wherein the bitstream is initially encoded with a first quantization parameter, Ql, wherein it is desired to reencode the bitstream at a second quatization parameter, Q2, the method comprising: selecting a macroblock in the bitstream ; determining whether one of the following three conditions is true regarding the selected macroblock (a) that the selected macroblock is coded in intraframe mode in an I, P or B picture using complete or partial reencode transcoding; (b) that the selected macroblock is coded in interframe mode in a P or B picture with a same prediction macroblock at both the decoder and encoder, and that cascadebased transcoding is used; (c) that the selected macroblock is coded in interframe mode in a P or B picture with a zero corresponding quantization error compensation derived from a discretecosine transformation calculation, and simplified transcoding is used then, if one of the conditions in the determining step is true, performing the following steps: selecting Ql over Q2 for the selected macroblock; copying compressed bits from the selected macroblock directly into a re encoded bitstream ; if cascadedbased transcoding is used then storing at least a portion of the selected macroblock for later access by the decoder or encoder; else if simplified transcoding is used and the selected macroblock has zero quantization error thencopying the selected macroblock into the current frame buffer.
20. A method for reencoding an MPEGcompliant bitstream having macroblocks and I, P and B pictures, wherein the method uses hardware including a decoder and an encoder, wherein the bitstream is initially encoded with a first quantization parameter, Ql, wherein it is desired to reencode the bitstream at a second quatization parameter, Q2, the method comprising: selecting a macroblock in the bitstream ; first determining whether a target number of bits assigned for a macroblock during transcoding is not less than a source number of bits used for the same macroblock in a source precompressed bitstream and, if so, proceeding to the second determining step, below; second determining whether one of the following three conditions is true regarding the selected macroblock (a) that the selected macroblock is coded in intraframe mode in an I, P or B picture using cascadedbased or simplified transcoding; (b) that the selected macroblock is coded in interframe mode in a P or B picture with a same prediction macroblock at both the decoder and encoder, and that cascadebased transcoding is used; (c) that the selected macroblock is coded in interframe mode in a P or B picture with a zero corresponding quantization error compensation derived from a discretecosine transformation calculation, and simplified transcoding is used; then, if one of the conditions in the second determining step is true, performing the following steps : copying compressed bits from the selected macroblock directly into a re encoded bitstream; if cascadedbased transcoding is used then storing at least a portion of the selected macroblock for later access by the decoder or encoder; else if simplified transcoding is used and the selected macroblock has zero quantization error then copying the selected macroblock into the current frame buffer.
21. The method of claim 20, wherein the first determining step is deemed true even if the target number of bits falls below the source number of bits by a predetermined threshold.
22. The method of claim 21, wherein the first determining step is deemed true even if the target number of bits falls below the source number of bits for a slice by a predetermined threshold.
23. The method of claim 22, wherein the first determining step is deemed true even if the target number of bits falls below the source number of bits for a frame by a predetermined threshold.
24. The method of claim 20, further comprising reprocessing data at the encoder to prevent drifting.
25. The method of claim 20, further comprising identifying leftover bits resulting in encoding a first macroblock using Ql ; and using the leftover bits in the processing of a second macroblock.