This disclosure describes techniques useful in the encoding and/or decoding of video data of a video sequence. In general, this disclosure sets forth scanning techniques useful in the context of sub-band coding, which may improve the level of compression that can be achieved by entropy coding following sub-band coding. In one example, a method of encoding video data of a video sequence comprises sub-band encoding the video data to generate a plurality of sub-bands, scanning each of the sub-bands from two-dimensional blocks into one-dimensional vectors based on scan orders defined for each of the sub-bands, and entropy encoding each of the scanned sub-bands.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method of encoding video data of a video sequence, the method comprising: sub-band encoding the video data to generate a plurality of sub-bands; scanning each of the sub-bands from two-dimensional blocks into one-dimensional vectors based on scan orders defined for each of the sub-bands; entropy encoding each of the scanned sub-bands; prior to scanning and entropy encoding each of the sub-bands: predictively encoding each of the sub-bands, transforming each of the predictively encoded sub-bands; and quantizing each of the transformed and predictively encoded the sub-bands.
2. The method of claim 1 , wherein sub-band encoding the video data comprises filtering and downsampling the video data to generate the plurality of sub-bands.
3. The method of claim 1 , wherein sub-band encoding the video data comprises generating a low-low (LL) sub-band, generating a low-high (LH) sub-band, generating a high-low (HL) sub-band, and generating a high-high (HH) sub-band.
4. The method of claim 1 , wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
5. The method of claim 4 , wherein the method corresponds to an intra coding mode for intra encoding the video block.
6. The method of claim 5 , wherein sub-band encoding the video data comprises generating a low-low (LL) sub-band, generating a low-high (LH) sub-band, generating a high-low (HL) sub-band, and generating a high-high (HH) sub-band, and wherein the LL sub-band forms at least part of a base layer and one or more of the LH sub-band the HL sub-band and the HH sub-band form at least part of one or more enhancement layers.
7. A method of encoding video data of a video sequence, the method comprising: sub-band encoding the video data to generate a plurality of sub-bands; scanning each of the sub-bands from two-dimensional blocks into one-dimensional vectors based on scan orders defined for each of the sub-bands; entropy encoding each of the scanned sub-bands; prior to scanning and entropy encoding each of the sub-bands: predictively encoding each of the sub-bands, transforming a subset of the predictively encoded sub-bands, and quantizing each of the sub-bands, wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
8. The method of claim 7 , wherein sub-band encoding the video data comprises generating a low-low (LL) sub-band, generating a low-high (LH) sub-band, generating a high-low (HL) sub-band, and generating a high-high (HH) sub-band, and wherein transforming the subset comprises transforming the LL sub-band, the LH sub-band and the LL sub-band, wherein the HH sub-band remains untransformed during the entropy coding.
9. A method of decoding video data of a video sequence, the method comprising: entropy decoding each of a plurality of sub-bands that correspond to the video data; scanning each of the sub-bands from one-dimensional vectors to two-dimensional blocks based on scan orders defined for each of the sub bands; sub-band decoding the plurality of sub-bands to generate the video data prior to sub-band decoding the plurality of sub-bands: inverse quantizing each of the sub-bands; inverse transforming a subset of the sub-bands; and predictively decoding each of the sub-bands.
10. The method of claim 9 , wherein sub-band decoding the plurality of sub-bands comprises combining the plurality of sub-bands to generate a video block corresponding to the video data.
11. The method of claim 9 , wherein the plurality of sub-bands include a low-low (LL) sub-band, a low-high (LH) sub-band, a high-low (HL) sub-band, and a high-high (HH) sub-band.
12. The method of claim 9 , wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
13. The method of claim 12 , wherein the method corresponds to an intra coding mode for intra decoding the video block.
14. The method of claim 13 , wherein the plurality of sub-bands include a low-low (LL) sub-band, a low-high (LH) sub-band, a high-low (HL) sub-band, and a high-high (HH) sub-band, and wherein the LL sub-band forms at least part of a base layer and one or more of the LH sub-band the HL sub-band and the HH sub-band form at least part of one or more enhancement layers.
15. A method of decoding video data of a video sequence, the method comprising: entropy decoding each of a plurality of sub-bands that correspond to the video data; scanning each of the sub-bands from one-dimensional vectors to two-dimensional blocks based on scan orders defined for each of the sub bands; sub-band decoding the plurality of sub-bands to generate the video data; prior to sub-band decoding the plurality of sub-bands: inverse quantizing each of the sub-bands; inverse transforming a subset of the sub-bands; and predictively decoding each of the sub-bands, wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
16. The method of claim 15 , wherein the plurality of sub-bands include a low-low (LL) sub-band, a low-high (LH) sub-band, a high-low (HL) sub-band, and a high-high (HH) sub-band, and wherein inverse transforming the subset comprises inverse transforming the LL sub-band, the LH sub-band and the LL sub-band, wherein the HH sub-band is untransformed.
17. An apparatus that encodes video data of a video sequence, the apparatus comprising: a sub-band coding unit that encodes the video data to generate a plurality of sub bands; a scanning unit that scans each of the sub-bands from two-dimensional blocks into one-dimensional vectors based on scan orders defined for each of the sub-bands; an entropy coding unit that entropy encodes each of the scanned sub-bands; a predictive coding unit that predictively encodes each of the sub-bands, a transform unit that transforms each of the predictively encoded sub-bands prior to the scanning unit scanning each of the sub-bands; and a quantization unit that quantizes each of the sub-bands prior to the scanning unit scanning each of the sub-bands.
18. The apparatus of claim 17 , wherein the sub-band coding unit filters and downsamples the video data to generate the plurality of sub-bands.
19. The apparatus of claim 17 , wherein the sub-band coding unit generates a low-low (LL) sub-band, generates a low-high (LH) sub-band, generates a high-low (HL) sub-band, and generates a high-high (HH) sub-band.
20. The apparatus of claim 17 , wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
21. The apparatus of claim 20 , wherein the apparatus executes an intra coding mode for intra encoding the video block.
22. The apparatus of claim 21 wherein the sub-band coding unit generates a low-low (LL) sub-band, generates a low-high (LH) sub-band, generates a high-low (HL) sub-band, and generates a high-high (HH) sub-band, and wherein the LL sub-band forms at least part of a base layer and one or more of the LH sub-band the HL sub-band and the HH sub-band form at least part of one or more enhancement layers.
23. The apparatus of claim 17 , wherein the apparatus comprises an integrated circuit.
24. The apparatus of claim 17 , wherein the apparatus comprises a microprocessor.
25. An apparatus that encodes video data of a video sequence, the apparatus comprising: a sub-band coding unit that encodes the video data to generate a plurality of sub-bands; a scanning unit that scans each of the sub-bands from two-dimensional blocks into one-dimensional vectors based on scan orders defined for each of the sub-bands; an entropy coding unit that entropy encodes each of the scanned sub-bands; a predictive coding unit that predictively encodes each of the sub-bands, a transform unit that transforms a subset of the predictively encoded sub-bands prior to the scanning unit scanning each of the sub-bands; and a quantization unit that quantizes each of the sub-bands prior to the scanning unit scanning each of the sub-bands, wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
26. The apparatus of claim 25 , wherein the sub-band coding unit generates a low-low (LL) sub-band, generates a low-high (LH) sub-band, generates a high-low (HL) sub-band, and generates a high-high (HH) sub-band, and wherein the transform unit transforms the LL sub-band, the LH sub-band and the LL sub-band, wherein the HH sub-band remains untransformed during the entropy encoding by the entropy coding unit.
27. An apparatus that decodes video data of a video sequence, the apparatus comprising: an entropy coding unit that entropy decodes each of a plurality of sub-bands that correspond to the video data; a scanning unit that scans each of the sub-bands from one-dimensional vectors to two-dimensional blocks based on scan orders defined for each of the sub bands; a sub-band coding unit that sub-band decodes the plurality of sub-bands to generate the video data; an inverse quantization unit that inverse quantizes each of the sub-bands; an inverse transform unit that inverse transforms each of the sub-bands; and a predictive coding unit that predictively decodes each of the sub-bands prior to the sub-band coding unit decoding the plurality of sub-bands.
28. The apparatus of claim 27 , wherein the sub-band coding unit combines the plurality of sub-bands to generate a video block corresponding to the video data.
29. The apparatus of claim 27 , wherein the plurality of sub-bands include a low-low (LL) sub-band, a low-high (LH) sub-band, a high-low (HL) sub-band, and a high-high (HH) sub-band.
30. The apparatus of claim 27 , wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
31. The apparatus of claim 30 , wherein the apparatus executes an intra coding mode for intra decoding the video block.
32. The apparatus of claim 31 , wherein the plurality of sub-bands include a low-low (LL) sub-band, a low-high (LH) sub-band, a high-low (HL) sub-band, and a high-high (HH) sub-band, and wherein the LL sub-band forms at least part of a base layer and one or more of the LH sub-band the HL sub-band and the HH sub-band form at least part of one or more enhancement layers.
33. The apparatus of claim 27 , wherein the apparatus comprises an integrated circuit.
34. The apparatus of claim 27 , wherein the apparatus comprises an integrated circuit.
35. An apparatus that decodes video data of a video sequence, the apparatus comprising: an entropy coding unit that entropy decodes each of a plurality of sub-bands that correspond to the video data; a scanning unit that scans each of the sub-bands from one-dimensional vectors to two-dimensional blocks based on scan orders defined for each of the sub-bands; a sub-band coding unit that sub-band decodes the plurality of sub-bands to generate the video data; an inverse quantization unit that inverse quantizes each of the sub-bands; an inverse transform unit that inverse transform a subset of the sub-bands; and a predictive coding unit that predictively decodes each of the sub-bands prior to the sub-band coding unit decoding the plurality of sub-bands, wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
36. The apparatus of claim 35 , wherein the plurality of sub-bands include a low-low (LL) sub-band, a low-high (LH) sub-band, a high-low (HL) sub-band, and a high-high (HH) sub-band, and wherein the inverse transform unit inverse transforms the LL sub-band, the LH sub-band and the LL sub-band, wherein the HH sub-band is untransformed.
37. A computer-readable medium comprising instructions that upon execution in a video coding device cause the device to encode video data of a video sequence, wherein the instructions cause the device to: sub-band encode the video data to generate a plurality of sub-bands; scan each of the sub-bands from two-dimensional blocks into one-dimensional vectors based on scan orders defined for each of the sub-bands; entropy encode each of the scanned sub-bands; prior to scanning and entropy encoding each of the sub-bands: predictively encode each of the sub-bands, transform each of the predictively encoded sub-bands, and quantize each of the predictively encoded sub-bands.
38. The computer-readable medium of claim 37 , wherein the instructions cause the device to sub-band encode by filtering and downsampling the video data to generate the plurality of sub-bands.
39. The computer-readable medium of claim 37 , wherein sub-band encoding the video data comprises generating a low-low (LL) sub-band, generating a low-high (LH) sub-band, generating a high-low (HL) sub-band, and generating a high-high (HH) sub-band.
40. The computer-readable medium of claim 37 , wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
41. The computer-readable medium of claim 40 , wherein upon execution, the instructions cause the device to execute an intra coding mode for intra encoding the video block.
42. The computer-readable medium of claim 41 , wherein sub-band encoding the video data comprises generating a low-low (LL) sub-band, generating a low-high (LH) sub-band, generating a high-low (HL) sub-band, and generating a high-high (HH) sub-band, and wherein the LL sub-band forms at least part of a base layer and one or more of the LH sub-band the HL sub-band and the HH sub-band form at least part of one or more enhancement layers.
43. A computer-readable medium comprising instructions that upon execution in a video coding device cause the device to encode video data of a video sequence, wherein the instructions cause the device to: sub-band encode the video data to generate a plurality of sub-bands; scan each of the sub-bands from two-dimensional blocks into one-dimensional vectors based on scan orders defined for each of the sub-bands entropy encode each of the scanned sub-bands; prior to scanning and entropy encoding each of the sub-bands: predictively encode each of the sub-bands, transform a subset of the predictively encoded sub-bands, and quantize each of predictively encoded the sub-bands, wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
44. The computer-readable medium of claim 43 , wherein sub-band encoding the video data comprises generating a low-low (LL) sub-band, generating a low-high (LH) sub-band, generating a high-low (HL) sub-band, and generating a high-high (HH) sub-band, and wherein transforming the subset comprises transforming the LL sub-band, the LH sub-band and the LL sub-band, wherein the HH sub-band remains untransformed during the entropy coding.
45. A computer-readable medium comprising instructions that upon execution in a video coding device cause the device to decode video data of a video sequence, wherein the instructions cause the device to: entropy decode each of a plurality of sub-bands that correspond to the video data; scan each of the sub-bands from one-dimensional vectors to two-dimensional blocks based on scan orders defined for each of the sub bands; sub-band decode the plurality of sub-bands to generate the video data; prior to sub-band decoding the plurality of sub-bands: inverse quantize each of the sub-bands; inverse transform each of the sub-bands; and predictively decode each of the sub-bands.
46. The computer-readable medium of claim 45 , wherein sub-band decoding the plurality of sub-bands comprises combining the plurality of sub-bands to generate a video block corresponding to the video data.
47. The computer-readable medium of claim 45 , wherein the plurality of sub-bands include a low-low (LL) sub-band, a low-high (LH) sub-band, a high-low (HL) sub-band, and a high-high (HH) sub-band.
48. The computer-readable medium of claim 45 , wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
49. The computer-readable medium of claim 48 , wherein the method corresponds to an intra coding mode for intra decoding the video block.
50. The computer-readable medium of claim 49 , wherein the plurality of sub-bands include a low-low (LL) sub-band, a low-high (LH) sub-band, a high-low (HL) sub-band, and a high-high (HH) sub-band, and wherein the LL sub-band forms at least part of a base layer and one or more of the LH sub-band the HL sub-band and the HH sub-band form at least part of one or more enhancement layers.
51. A computer-readable medium comprising instructions that upon execution in a video coding device cause the device to decode video data of a video sequence, wherein the instructions cause the device to: entropy decode each of a plurality of sub-bands that correspond to the video data; scan each of the sub-bands from one-dimensional vectors to two-dimensional blocks based on scan orders defined for each of the sub-bands; sub-band decode the plurality of sub-bands to generate the video data; prior to sub-band decoding the plurality of sub-bands: inverse quantize each of the sub-bands; inverse transform a subset of the sub-bands; and predictively decode each of the sub-bands, wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
52. The computer-readable medium of claim 51 , wherein the plurality of sub-bands include a low-low (LL) sub-band, a low-high (LH) sub-band, a high-low (HL) sub-band, and a high-high (HH) sub-band, and wherein inverse transforming the subset comprises inverse transforming the LL sub-band, the LH sub-band and the LL sub-band, wherein the HH sub-band is untransformed.
53. A device that encodes video data of a video sequence, the device comprising: means for sub-band encoding the video data to generate a plurality of sub-bands; means for scanning each of the sub-bands from two-dimensional blocks into one-dimensional vectors based on scan orders defined for each of the sub-bands; means for entropy encoding each of the scanned sub-bands; means for predictively encoding each of the sub-bands, means for transforming each of the predictively encoded sub-bands prior to scanning and entropy encoding each of the sub-bands, and means for quantizing each of the predictively encoded the sub-bands prior to scanning and entropy encoding each of the sub-bands.
54. The device of claim 53 , wherein means for sub-band encoding the video data comprises means for filtering and downsampling the video data to generate the plurality of sub-bands.
55. The device of claim 53 , wherein means for sub-band encoding the video data comprises means for generating a low-low (LL) sub-band, means for generating a low-high (LH) sub-band, means for generating a high-low (HL) sub-band, and means for generating a high-high (HH) sub-band.
56. The device of claim 53 , wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
57. The device of claim 56 , wherein the device executes an intra coding mode for intra encoding the video block.
58. The device of claim 57 , wherein means for sub-band encoding the video data comprises means for generating a low-low (LL) sub-band, means for generating a low-high (LH) sub-band, means for generating a high-low (HL) sub-band, and means for generating a high-high (HH) sub-band, and wherein the LL sub-band forms at least part of a base layer and one or more of the LH sub-band the HL sub-band and the HH sub-band form at least part of one or more enhancement layers.
59. A device that encodes video data of a video sequence, the device comprising: means for sub-band encoding the video data to generate a plurality of sub-bands; means for scanning each of the sub-bands from two-dimensional blocks into one-dimensional vectors based on scan orders defined for each of the sub-bands, means for entropy encoding each of the scanned sub-bands, means for predictively encoding each of the sub-bands, means for transforming a subset of the predictively encoded sub-bands prior to scanning and entropy encoding each of the sub-bands, and means for quantizing each of predictively encoded the sub-bands prior to scanning and entropy encoding each of the sub-bands, wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
60. The device of claim 59 , wherein means for sub-band encoding the video data comprises means for generating a low-low (LL) sub-band, means for generating a low-high (LH) sub-band, means for generating a high-low (HL) sub-band, and means for generating a high-high (HH) sub-band, and wherein means for transforming the subset comprises means for transforming the LL sub-band, means for transforming the LH sub-band and means for transforming the LL sub-band, wherein the HH sub-band remains untransformed during the entropy coding.
61. A device for decoding video data of a video sequence, the device comprising: means for entropy decoding each of a plurality of sub-bands that correspond to the video data; means for scanning each of the sub-bands from one-dimensional vectors to two-dimensional blocks based on scan orders defined for each of the sub bands; means for sub-band decoding the plurality of sub-bands to generate the video data; means for inverse quantizing each of the sub-bands; means for inverse transforming each of the sub-bands; and means for predictively decoding each of the sub-bands prior to sub-band decoding the plurality of sub-bands.
62. The device of claim 61 , wherein means for sub-band decoding the plurality of sub-bands comprises means for combining the plurality of sub-bands to generate a video block corresponding to the video data.
63. The device of claim 61 , wherein the plurality of sub-bands include a low-low (LL) sub-band, a low-high (LH) sub-band, a high-low (HL) sub-band, and a high-high (HH) sub-band.
64. The device of claim 61 , wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
65. The device of claim 64 , wherein the device executes an intra coding mode for intra decoding the video block.
66. The device of claim 65 , wherein the plurality of sub-bands include a low-low (LL) sub-band, a low-high (LH) sub-band, a high-low (HL) sub-band, and a high-high (HH) sub-band, and wherein the LL sub-band forms at least part of a base layer and one or more of the LH sub-band the HL sub-band and the HH sub-band form at least part of one or more enhancement layers.
67. A device for decoding video data of a video sequence, the device comprising: means for entropy decoding each of a plurality of sub-bands that correspond to the video data; means for scanning each of the sub-bands from one-dimensional vectors to two-dimensional blocks based on scan orders defined for each of the sub-bands; means for sub-band decoding the plurality of sub-bands to generate the video data means for inverse quantizing each of the sub-bands; means for inverse transforming a subset of the sub-bands; and means for predictively decoding each of the sub-bands prior to sub-band decoding the plurality of sub-bands, wherein the video data comprises a video block, wherein the plurality of sub-bands comprises a set of sub-bands that collectively represent the video block.
68. The device of claim 67 , wherein the plurality of sub-bands include a low-low (LL) sub-band, a low-high (LH) sub-band, a high-low (HL) sub-band, and a high-high (HH) sub-band, and wherein means for inverse transforming the subset comprises means for inverse transforming the LL sub-band, means for inverse transforming the LH sub-band and means for inverse transforming the LL sub-band, wherein the HH sub-band is untransformed.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
June 23, 2008
December 11, 2012
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.