IP Library › Granted Patent US 7,782,954
Granted Patent B2
US 7,782,954 · App. 10/989,594 · Granted Aug 24, 2010

Scan patterns for progressive video content

Assignee: Microsoft Corporation
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 7,782,954
App. No.
10/989,594
Granted
Aug 24, 2010
Kind
B2
Abstract

Tools and techniques for applying scan patterns during encoding and decoding of progressive video are described. For example, a video decoder entropy decodes transform coefficients in a one-dimensional array and scans the transform coefficients into a block according to a scan pattern. The block is 8×4, and the scan pattern biases the vertical direction for at least the lowest frequency AC coefficients in the horizontal and vertical directions. Or, the block is 4×8, and the scan pattern biases the horizontal direction for at least the lowest frequency AC coefficients in the horizontal and vertical directions. A corresponding video encoder applies the scan patterns to scan transform coefficients from blocks to one-dimensional arrays.

Claims (152)

1. A method for transforming video information using a computing device that implements a video encoder, the method comprising:

with the computing device that implements the video encoder:

scanning a 4×8 block of transform coefficients into a one-dimensional array according to a scan pattern, wherein the 4×8 block is 4 coefficients in a horizontal direction by 8 coefficients in a vertical direction, wherein the scan pattern is adapted for 4×8 inter-coded blocks of progressive video, the 4×8 inter-coded blocks being encoded without using AC prediction, wherein the scan pattern biases the horizontal direction for at least the lowest frequency AC coefficients in the horizontal and vertical directions, and wherein the scan pattern is:

 0

 1

 3

13

 2

 4

 8

17

 5

 6

11

24

 7

10

15

26

 9

14

20

28

12

19

23

29

16

21

25

30

18

22

27

31 ; and

entropy coding the transform coefficients in the one-dimensional array.

2. The method of claim 1 further comprising:

with the computing device that implements the video encoder:

scanning a 8×4 block of transform coefficients into a second one-dimensional array according to a second scan pattern, wherein the 8×4 block is 8 coefficients in the horizontal direction by 4 coefficients in the vertical direction, wherein the second scan pattern is adapted for 8×4 inter-coded blocks of progressive video, wherein the second scan pattern biases the vertical direction for at least the lowest frequency AC coefficients in the horizontal and vertical directions in the 8×4 block, and wherein second scan pattern is:

0

 2

 4

 7

10

14

21

27

1

 5

 6

11

13

17

24

29

3

 9

12

15

18

22

25

30

8

16

19

20

23

26

28

31 ; and

entropy coding the transform coefficients in the second one-dimensional array.

3. The method of claim 1 wherein the entropy coding includes run/level/last coding, and wherein the bias reduces average count of transform coefficients before the last non-zero transform coefficient in the second one-dimensional array.

4. The method of claim 1 wherein the scan pattern is adapted for strong vertical edges.

5. The method of claim 1 wherein the entropy coding includes run/level/last coding, and wherein the bias reduces average count of transform coefficients before the last non-zero transform coefficient in the one-dimensional array.

6. The method of claim 1 wherein, depending on profile, the video encoder uses one scan pattern per transform size for inter-coded blocks of progressive video.

7. A method for transforming encoded video information using a computing device that implements a video decoder, the method comprising:

with the computing device that implements the video decoder:

entropy decoding transform coefficients in a one-dimensional array; and

scanning the transform coefficients into a 4×8 block according to a scan pattern, wherein the 4×8 block is 4 coefficients in a horizontal direction by 8 coefficients in a vertical direction, wherein the scan pattern is adapted for 4×8 inter-coded blocks of progressive video, the 4×8 inter-coded blocks having been encoded without using AC prediction, wherein the scan pattern biases the horizontal direction for at least the lowest frequency AC coefficients in the horizontal and vertical directions, and wherein the scan pattern is:

 0

 1

 3

13

 2

 4

 8

17

 5

 6

11

24

 7

10

15

26

 9

14

20

28

12

19

23

29

16

21

25

30

18

22

27

31.

8. The method of claim 7 further comprising:

with the computing device that implements the video decoder:

entropy decoding transform coefficients in a second one-dimensional array; and

scanning the transform coefficients from the second one-dimensional array into a 8×4 block according to a second scan pattern, wherein the 8×4 block is 8 coefficients in the horizontal direction by 4 coefficients in the vertical direction, wherein the second scan pattern is adapted for 8×4 inter-coded blocks of progressive video, wherein the second scan pattern biases the vertical direction for at least the lowest frequency AC coefficients in the horizontal and vertical directions in the 8×4 block, and wherein the second scan pattern is:

0

 2

 4

 7

10

14

21

27

1

 5

 6

11

13

17

24

29

3

 9

12

15

18

22

25

30

8

16

19

20

23

26

28

31.

9. The method of claim 8 wherein the entropy decoding includes run/level/last decoding.

10. The method of claim 7 wherein the scan pattern is adapted for strong vertical edges.

11. The method of claim 7 wherein the entropy decoding includes run/level/last decoding.

12. The method of claim 7 wherein, depending on profile, the video decoder uses one scan pattern per transform size for inter-coded blocks of progressive video.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034543/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2004
From: LIANG, JIE; LIN, CHIH-LUNG; SRINIVASAN, SRIDHAR; HOLCOMB, THOMAS W.
To: MICROSOFT CORPORATION
Reel/Frame 015426/0650 →
Continuity (3)
Continuation In Part 1082697100 · Apr 15, 2004
Provisional Application 6050108100 · Sep 7, 2003
Related Publication 20050068208A1 · Mar 31, 2005