IP Library Granted Patent US 7,978,765
Granted Patent B2
US 7,978,765 · App. 10/508,597 · Granted Jul 12, 2011

Context-adaptive macroblock type encoding/decoding methods and apparatuses

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,978,765
App. No.
10/508,597
Granted
Jul 12, 2011
Kind
B2
Abstract

Macroblock types of macroblocks of a video picture are encoded by adaptively employing codewords of codeword tables, based at least in part on one or more macroblock type related characteristics of one or more neighboring macroblocks of interest. The codewords may be variable in length. The one or more macroblock type characteristics may include a most common macroblock type characteristic of the neighboring macroblocks of interest. The adaptive employment of the codeword tables may be further based on a picture type of the picture of which the macroblocks are members. Decoding may be performed in an inverse manner.

Claims (457)

1. An apparatus comprising:

storage medium; and

a plurality of codeword tables stored in said storage medium, with each of said plurality of codeword tables having a plurality of codewords, one of said plurality of codeword tables to be selectively accessed based at least in part on a most common macroblock type of a plurality of neighboring macroblocks of a macroblock of a picture, for performing a selected one of

encoding a macroblock type of the macroblock of the picture using an appropriate one of the codewords of the selectively accessed codeword table; and

decoding a macroblock type of a macroblock of the picture using an appropriate one of the codewords of the selectively accessed codeword table.

2. The apparatus of claim 1 , wherein the plurality of codeword tables are to be selectively accessed based also on a picture type of the picture.

3. The apparatus of claim 1 , wherein the plurality of neighboring macroblocks comprise first one or more macroblocks immediately adjacent to the macroblock.

4. The apparatus of claim 3 , wherein the plurality of neighboring macroblocks further comprises second one or more macroblocks immediately adjacent to one of the first one or more macroblocks.

5. The apparatus of claim 1 , wherein the plurality of codeword tables comprises at least one of the following codeword tables

Coded MB

Most common neighboring macroblock type

type

Type A

Type B

Type C

Types D

Type A

1

001

01101

1001

Type B

01

1

0101

10001

Type C

001

01

1

01

Type D

000001

0000001

0100

00

Type E

00001

000001

001

101

Type F

0001

00001

000

11

Type G

0000001

0001

0111

100001

Coded MB

Most common macroblock type

type

Type E

Type F

Type G

Type A

00001

00001

000001

Type B

000001

000001

001

Type C

1

1

01

Type D

0001

0001

0000001

Type E

01

001

00001

Type F

001

01

0001

Type G

0000001

0000001

1.

6. The apparatus of claim 1 , wherein the plurality of codeword tables comprises at least one of the following codeword tables

Coded MB

Most common macroblock type

type

Type A

Type B

Type C

Type A

01

0001

000001

Type B

101

1

0001

Type C

00

001

1

Type D

11

01

01

Type E

10001

000001

00001

Type F

1001

00001

001

Coded MB

Most Common macroblock type

type

Type D

Type E

Type F

Type A

01001

000001

000001

Type B

001

00001

00001

Type C

000

001

001

Type D

1

01

1

Type E

0101

0001

0001

Type F

011

1

01.

7. The apparatus of claim 1 , wherein the most common macroblock type comprises a first macroblock type having equal frequency of occurrence among the plurality of neighboring macroblocks, with at least a second macroblock type, but precedence over that of the second macroblock type.

8. The apparatus of claim 1 , wherein at least one of the codeword tables further comprises a codeword to encode whether a quantization parameter of the macroblock has changed (DQUANT).

9. The apparatus of claim 8 , wherein at least one of the DQUANTs is a selected one of “0000000”, “01100”, and “100000”.

10. The apparatus of claim 8 , wherein at least one of the DQUANTs is a selected one of “01000”, and “10000”.

11. The apparatus of claim 1 , wherein the apparatus further comprises logic coupled to the plurality of codeword tables to perform at least one of

encoding a macroblock type of a macroblock of a picture; and

decoding a macroblock type of a macroblock of a picture.

12. The apparatus of claim 1 , wherein the apparatus further comprises a processor coupled to the storage medium to selectively access said codewords of said codeword tables to perform said encoding/decoding.

13. The apparatus of claim 1 , wherein the apparatus comprises a selected one of a palm sized computing device, a wireless mobile phone, a digital personal assistant, a laptop computing device, a desktop computing device, a set-top box, a server, a compact disk player, a digital versatile disk player, a television, and a display monitor.

14. The apparatus of claim 1 , wherein the apparatus further comprises a video daughter card and a motherboard having integrated video capability.

15. A non-transitory computer-readable storage medium having stored therein instructions comprising:

a plurality of codeword tables to be retrieved to program an apparatus, with each of said plurality of codeword tables having a plurality of codewords, one of said plurality of codeword tables to be selectively accessed, based at least in part on a most common macroblock type of a plurality of neighboring macroblocks of a macroblock of a picture, for performing a selected one of

encoding a macroblock type of the macroblock of the picture using an appropriate one of the codewords of the selectively accessed codeword table; and

decoding a macroblock type of a macroblock of the picture using an appropriate one of the codewords of the selectively accessed codeword table.

16. The computer-readable storage medium of claim 15 , wherein the plurality of codeword tables are to be selectively accessed based also on a picture type of the picture.

17. The computer-readable storage medium of claim 15 , wherein the plurality of neighboring macroblocks comprise first one or more macroblocks immediately adjacent to the macroblock.

18. The computer-readable storage medium of claim 17 , wherein the plurality of neighboring macroblocks further comprises second one or more macroblocks immediately adjacent to one of the first one or more macroblocks.

19. The computer-readable storage medium of claim 15 , wherein the plurality of codeword tables comprises at least one of the following codeword tables

Coded MB

Most common neighboring macroblock type

type

Type A

Type B

Type C

Types D

Type A

1

001

01101

1001

Type B

01

1

0101

10001

Type C

001

01

1

01

Type D

000001

0000001

0100

00

Type E

00001

000001

001

101

Type F

0001

00001

000

11

Type G

0000001

0001

0111

100001

Coded MB

Most common macroblock type

type

Type E

Type F

Type G

Type A

00001

00001

000001

Type B

000001

000001

001

Type C

1

1

01

Type D

0001

0001

0000001

Type E

01

001

00001

Type F

001

01

0001

Type G

0000001

0000001

1.

20. The computer-readable storage medium of claim 15 , wherein the plurality of codeword tables comprises at least one of the following codeword tables

Coded MB

Most common macroblock type

type

Type A

Type B

Type C

Type A

01

0001

000001

Type B

101

1

0001

Type C

00

001

1

Type D

11

01

01

Type E

10001

000001

00001

Type F

1001

00001

001

Coded MB

Most Common macroblock type

type

Type D

Type E

Type F

Type A

01001

000001

000001

Type B

001

00001

00001

Type C

000

001

001

Type D

1

01

1

Type E

0101

0001

0001

Type F

011

1

01.

21. The computer-readable storage medium of claim 15 , wherein the most common macroblock type comprises a first macroblock type having equal frequency of occurrence among the plurality of neighboring macroblocks, with a second macroblock type, but precedence over that of the second macroblock type.

22. The computer-readable storage medium of claim 15 , wherein at least one of the codeword tables further comprises a codeword to encode whether a quantization parameter of the macroblock has changed (DQUANT).

23. The computer-readable storage medium of claim 15 , further comprising programming instructions recorded on the computer-readable medium, designed to utilize the plurality of codeword tables to perform at least one of

encoding a macroblock type of a macroblock of a picture; and

decoding a macroblock type of a macroblock of a picture.

24. A video-device implemented video encoding/decoding method comprising:

determining, by the video device, a most common macroblock type of a plurality of neighboring macroblocks of a macroblock of a picture;

obtaining, by the video device, a plurality of codeword tables, with each of said plurality of codeword tables having a plurality of codewords for encoding macroblock types;

selecting, by the video device, one of said plurality of codeword tables based at least in part on the determined most common macroblock type of the plurality of neighboring macroblocks of the macroblock;

performing, by the video device, computer, a selected one of encoding and decoding of a macroblock type of the macroblock of the picture, using an appropriate one of the codewords of the selected codeword table; and

performing, by the video device, a selected one of storing the encoded macroblock type to a bit stream and outputting the picture to a display device.

25. The method of claim 24 , wherein the method further comprises determining a picture type of the picture, and said selecting is further based on the determined picture type of the picture.

26. The method of claim 24 , wherein the plurality of neighboring macroblocks comprise first one or more macroblocks immediately adjacent to the macroblock.

27. The method of claim 26 , wherein the plurality of neighboring macroblocks further comprises second one or more macroblocks immediately adjacent to one of the first one or more macroblocks.

28. The method of claim 24 , wherein the plurality of codeword tables comprises at least one of the following codeword tables

Coded MB

Most common neighboring macroblock type

type

Type A

Type B

Type C

Types D

Type A

1

001

01101

1001

Type B

01

1

0101

10001

Type C

001

01

1

01

Type D

000001

0000001

0100

00

Type E

00001

000001

001

101

Type F

0001

00001

000

11

Type G

0000001

0001

0111

100001

Coded MB

Most common macroblock type

type

Type E

Type F

Type G

Type A

00001

00001

000001

Type B

000001

000001

001

Type C

1

1

01

Type D

0001

0001

0000001

Type E

01

001

00001

Type F

001

01

0001

Type G

0000001

0000001

1.

29. The method of claim 24 , wherein the plurality of codeword tables comprises at least one of the following codeword tables

Coded MB

Most common macroblock type

type

Type A

Type B

Type C

Type A

01

0001

000001

Type B

101

1

0001

Type C

00

001

1

Type D

11

01

01

Type E

10001

000001

00001

Type F

1001

00001

001

Coded MB

Most Common macroblock type

type

Type D

Type E

Type F

Type A

01001

000001

000001

Type B

001

00001

00001

Type C

000

001

001

Type D

1

01

1

Type E

0101

0001

0001

Type F

011

1

01.

30. The method of claim 24 , wherein the most common macroblock type comprises a first macroblock type having equal frequency of occurrence among the plurality of neighboring macroblocks, with a second macroblock type, but precedence over that of the second macroblock type.

31. The method of claim 24 , wherein at least one of the codeword tables further comprises a codeword to encode whether a quantization parameter of the macroblock has changed (DQUANT).

32. The method of claim 31 , wherein at least one of the DQUANTs is a selected one of “0000000”, “01100”, and “100000”.

33. The method of claim 31 , wherein at least one of the DQUANTs is a selected one of “01000”, and “10000”.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2012
From: REALNETWORKS, INC.
To: INTEL CORPORATION
Reel/Frame 028752/0734 →