IP Library › Granted Patent US 8,331,444
Granted Patent B2
US 8,331,444 · App. 12/144,454 · Granted Dec 11, 2012

Sub-band scanning techniques for entropy coding of sub-bands

Assignee: QUALCOMM Incorporated
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,331,444
App. No.
12/144,454
Granted
Dec 11, 2012
Kind
B2
Abstract

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.

Claims (172)

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.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2008
From: KARCZEWICZ, MARTA; CHUNG, HYUKJUNE
To: QUALCOMM INCORPORATED
Reel/Frame 021522/0979 →
Continuity (2)
Provisional Application 60946358 · Jun 26, 2007
Related Publication 20090003440A1 · Jan 1, 2009