Claims
- 1. A method comprising:
transforming a video sequence to produce a set of sub-bands; transposing selected sub-bands to produce a reduced set of sub-bands that are fewer than the set of sub-bands; and coding the reduced set of sub-bands.
- 2. A method as recited in claim 1, wherein the transforming comprises transforming the video sequence by applying a 3-D wavelet transform.
- 3. A method as recited in claim 1, wherein the coding comprises coding each sub-band independently.
- 4. A method as recited in claim 1, wherein the sub-bands comprise wavelet coefficients, and the coding comprises, for each of the sub-bands in the reduced set, coding the wavelet coefficients bit-plane by bit-plane.
- 5. A method as recited in claim 1, wherein the sub-bands comprise wavelet coefficients, and the coding comprises assigning contexts to the wavelet coefficients of each sub-band based on numbers of neighboring samples in the video sequence that are significant.
- 6. A method as recited in claim 5, wherein the coding comprises, for each of the sub-bands in the reduced set, coding the neighboring samples that are significant separately from the neighboring samples that are not significant.
- 7. A method as recited in claim 6, wherein the coding comprises conducting three coding passes:
a significant propagation pass to code neighboring samples that are not yet significant; a magnitude refinement pass to code neighboring samples that are already deemed significant; and a normalization pass to code any neighboring samples not coded in the significant propagation pass and the magnitude refinement passes.
- 8. A computer-readable medium comprising computer-executable instructions that, when executed by one or more processors, perform the method as recited in claim 1.
- 9. A video encoder comprising:
a wavelet transformer to transform a video sequence into multiple sub-bands of coefficients and transpose selected sub-bands to produce a reduced set of sub-bands that are fewer than the set of sub-bands; and a coder to code the coefficients of the reduced set of sub-bands.
- 10. A video encoder as recited in claim 9, wherein the wavelet transformer applies a spatial-adaptive discrete wavelet transform to the video sequence.
- 11. A video encoder as recited in claim 9, wherein the coder codes the coefficients of each sub-band independently.
- 12. A video encoder as recited in claim 9, wherein the coder codes the coefficients bit-plane by bit-plane.
- 13. A video encoder as recited in claim 9, wherein the coder comprises a context-based arithmetic coder to assign contexts to the coefficients of each sub-band based on different coding primitives.
- 14. A video encoder as recited in claim 13, wherein the sub-bands include an LLL (low-low-low) sub-band and an LLH (low-low-high) sub-band and the context-based arithmetic coder employs a zero coding primitive to code new information about a coefficient that is not yet significant in a previous bit-plane by assigning the contexts as follows:
- 15. A video encoder as recited in claim 13, wherein the sub-bands include an LHH (low-high-high) sub-band and the context-based arithmetic coder employs a zero coding primitive to code new information about a coefficient that is not yet significant in a previous bit-plane by assigning the contexts as follows:
- 16. A video encoder as recited in claim 13, wherein the sub-bands include an HHH (high-high-high) sub-band and the context-based arithmetic coder employs a zero coding primitive to code new information about a coefficient that is not yet significant in a previous bit-plane by assigning the contexts as follows:
- 17. A video encoder as recited in claim 13, wherein the context-based arithmetic coder employs a sign coding primitive to code a sign of the coefficient once the coefficient is deemed significant by assigning the contexts as follows:
- 18. A video encoder as recited in claim 9, wherein the coder assigns contexts to the coefficients of each sub-band based on neighboring samples in the video sequence and codes the neighboring samples that are significant separately from the neighboring samples that are not significant.
- 19. A video encoder as recited in claim 18, wherein the coder conducts three coding passes:
a significant propagation pass to code neighboring samples that are not yet significant; a magnitude refinement pass to code neighboring samples that are already deemed significant; and a normalization pass to code any neighboring samples not coded in the significant propagation pass and the magnitude refinement passes.
- 20. An operating system embodied on a computer-readable medium comprising a video encoder as recited in claim 9.
- 21. A video encoder comprising:
means for transforming a video sequence to produce a set of sub-bands; means for transposing selected sub-bands to produce a reduced set of sub-bands that are fewer than the set of sub-bands; and means for coding the reduced set of sub-bands.
- 22. A video encoder as recited in claim 21, wherein the transforming means comprises a 3-D wavelet transformer.
- 23. A video encoder as recited in claim 21, wherein the coding means codes each sub-band independently.
- 24. A video encoder as recited in claim 21, wherein the sub-bands comprise coefficients and the coding means codes, for each of the sub-bands in the reduced set, the coefficients bit-plane by bit-plane.
- 25. A video encoder as recited in claim 21, wherein the sub-bands comprise coefficients and the coding means assigns contexts to the coefficients of each sub-band based on significance of neighboring samples in a previous frame, a current frame, and a next frame of the video sequence
- 26. A video encoder as recited in claim 21, wherein the sub-bands comprise coefficients and the coding means assigns contexts to the coefficients of each sub-band based on numbers of neighboring samples in the video sequence that are significant.
- 27. A video encoder as recited in claim 26, wherein the coding means codes, for each of the sub-bands in the reduced set, the neighboring samples that are significant separately from the neighboring samples that are not significant.
- 28. A video encoder as recited in claim 27, wherein the coding means conducts three coding passes:
a significant propagation pass to code neighboring samples that are not yet significant; a magnitude refinement pass to code neighboring samples that are already deemed significant; and a normalization pass to code any neighboring samples not coded in the significant propagation pass and the magnitude refinement passes.
- 29. An operating system embodied on a computer-readable medium comprising a video encoder as recited in claim 21.
- 30. A computer-readable medium comprising computer-executable instructions that, when executed on a processor, direct a device to:
transform frames in a video sequence to produce a set of sub-bands of coefficients; transpose selected sub-bands to produce a reduced set of sub-bands that are fewer than the set of sub-bands; code the reduced set of sub-bands in an independent manner such that one sub-band of coefficients is coded independently of another sub-band of coefficients; and construct a bitstream from the coded sub-bands.
- 31. A computer-readable medium as recited in claim 30, further comprising computer-executable instructions that, when executed on a processor, direct a device to assign contexts to the coefficients of each sub-band based on significance of neighboring samples in a previous frame, a current frame, and a next frame of the video sequence.
- 32. A computer-readable medium as recited in claim 30, further comprising computer-executable instructions that, when executed on a processor, direct a device to assign contexts to the coefficients of each sub-band based on numbers of neighboring samples in the frames of the video sequence that are significant.
- 33. A computer-readable medium as recited in claim 32, further comprising computer-executable instructions that, when executed on a processor, direct a device to code the neighboring samples that are significant separately from the neighboring samples that are not significant.
- 34. A computer-readable medium as recited in claim 33, further comprising computer-executable instructions that, when executed on a processor, direct a device to conduct three coding passes:
a significant propagation pass to code neighboring samples that are not yet significant; a magnitude refinement pass to code neighboring samples that are already deemed significant; and a normalization pass to code any neighboring samples not coded in the significant propagation pass and the magnitude refinement passes.
RELATED APPLICATION(S)
[0001] This is a divisional of U.S. patent application Ser. No. 09/599,160, entitled “Video Coding System and Method Using 3-D Discrete Wavelet Transform and Entropy Coding With Motion Information”, which was filed Jun. 21, 2000, and is assigned to Microsoft Corporation.
Divisions (1)
|
Number |
Date |
Country |
Parent |
09599160 |
Jun 2000 |
US |
Child |
10901524 |
Jul 2004 |
US |