Claims
- 1. A data partitioning method for a scalable video encoder, the comprising the steps of:
receiving video data; determining DCT coefficients for a plurality of macroblocks of a video frame; quantizing the DCT coefficients; converting the quantized DCT coefficients into (run, length) pairs; and for each the plurality of macroblocks in the video frame, determining a ratio |Xik|2/Lik, where a k-th (run, length) pair for an i-th block is Lik bits and has a coefficient value of Xlk; and if a k-th ratio for the k-th (run, length) pair is less than λ or if the k-th ratio is a first ratio that is not less than λ, putting the k-th (run, length) pair into a base layer, otherwise if the k-th ratio for the k-th (run, length) pair is greater than λ, putting the k-th (run, length) pair into the an enhancement layer, where λ is determined in accordance with a Lagrangian calculation.
- 2. The method according to claim 1, further comprising the step of transmitting the base and enhancement layers over different transmission channels.
- 3. The method according to claim 1, wherein scalable video encoder is an MPEG 4 encoder.
- 4. The method according to claim 1, wherein scalable video encoder is an H.263 encoder.
- 5. The method according to claim 1, wherein scalable video encoder is an MPEG 2 encoder.
- 6. The method according to claim 1, wherein scalable video encoder is a video encoder which has DCT transform and entropy coding.
- 7. The method according to claim 1, wherein scalable video encoder is realized by transcoding single layer MPEG2, MPEG4, and H.26L.
- 8. The method according to claim 1, further comprising the step of quantizing λ and transmitting the quantized value as side information to a decoder.
- 9. The method according to claim 6, wherein the quantized value is a discrete value depending on a DCT dynamic range and a VLC table.
- 10. The method according to claim 6, wherein the quantized value is a discrete value with user defined precision.
- 11. The method according to claim 6, wherein the side information is sent only once in a frame header for the video frame.
- 12. The method according to claim 6, wherein the side information can be sent to a slice header or a video packet header to improve robustness
- 13. The method according to claim 1, wherein λ is determined to meet a rate budge for a transmission channel for the base layer using a bisection algorithm.
- 14. The method according to claim 1, wherein λ is determined to meet a rate budge for a transmission channel for the base layer using an adaptive algorithm.
- 15. A method for determining a boundary between a base layer and at least one enhancement layer in a scalable video decoder, the comprising the steps of:
receiving the base layer and the at least one enhancement layer, the base layer and enhancement layer including data representing (run, length) pairs for a plurality of macroblocks in a video frame; for each the plurality of macroblocks in the video frame, determining a ratio |Xlk|2/Lik, where a k-th (run, length) pair for an i-th block is Llk, bits and has a coefficient value of Xlk; and if the ratio for the k-th (run, length) pair is less than λ or if the k-th ratio is a first ratio that is not less than λ, read the k-th (run, length) pair from the base layer, otherwise if the ratio for the k-th (run, length) pair is greater than λ, read the k-th (run, length) pair from the at least one enhancement layer, where λ is determined by decoding side information.
- 16. The method according to claim 15, further comprising the step of receiving the base layer and enhancement layer over different transmission channels.
- 17. The method according to claim 15, wherein scalable video decoder in an MPEG 4 decoder.
- 18. The method according to claim 15, wherein scalable video decoder in an H.263 decoder.
- 19. The method according to claim 15, wherein scalable video decoder in an MPEG 2 decoder.
- 20. The method according to claim 15, wherein scalable video decoder in a video decoder that uses DCT and entropy coding.
- 21. The method according to claim 15, wherein scalable video decoder is realized by a merger in front of a single layer video decoder selected from the group consisting of an MPEG2, MPEG4, and H.26L decoder.
- 22. The method according to claim 15, further comprising the step of receiving λ as side information associated with the video frame.
- 23. The method according to claim 22, wherein the side information is a discrete number which can be encoded with minimal bit overhead.
- 24. The method according to claim 22, wherein the side information is sent only once in a frame header for the video frame.
- 25. The method according to claim 22, wherein the side information is copied for each slice header or video packet header to increase robustness.
- 26. The method according to claim 15, wherein λ is determined to meet a rate budge for a transmission channel for the base layer.
- 27. A scalable decoder capable of merging data from a base layer and at least one enhancement layer, the apparatus comprising:
a memory which stores computer-executable process steps; and a processor which executes the process steps stored in the memory so as (i) receiving the base layer and the at least one enhancement layer, the base layer and enhancement layer including data representing (run, length) pairs for a plurality of macroblocks in a video frame, and (2) for each the plurality of macroblocks in the video frame, determining a ratio |Xik|2/Lik, where a k-th (run, length) pair for an i-th block is Llk bits and has a coefficient value of Xlk, and (3) if the ratio for the k-th (run, length) pair is less than λ or if the k-th ratio is a first ratio that is not less than λ, read the k-th (run, length) pair from the base layer, otherwise if the ratio for the k-th (run, length) pair is greater than λ, read the k-th (run, length) pair from the at least one enhancement layer, where λ is determined in accordance with a Lagrangian calculation.
- 28. The decoder according to claim 27, wherein λ is received by the decoder as side information associated with the video frame and the side information is sent only once in a frame header for the video frame.
- 29. The decoder according to claim 27, wherein λ is determined to meet a rate budge for a transmission channel for the base layer.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application Serial No. 60/401,300 filed Aug. 6, 2002, the teachings of which are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60401300 |
Aug 2002 |
US |