IP Library › Granted Patent US 8,189,676
Granted Patent B2
US 8,189,676 · App. 12/078,777 · Granted May 29, 2012

Advance macro-block entropy coding for advanced video standards

Assignee: Hong Kong University of Science & Technology
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,189,676
App. No.
12/078,777
Granted
May 29, 2012
Kind
B2
Abstract

A method and a computer-readable medium containing computer program for encoding a frame of video data are presented. The frame of video data has a plurality of macro-blocks. Each of the macro-blocks includes a macro-block header having multiple elements and macro-block residue data. An element of the macro-block header is encoded based on the value of the same element of a previous macro-block header so as to reduce overall bits in the macro-block header. The element of the macro-block header is encoded by grouping the elements of the plurality of the macro-blocks.

Claims (42)

1. A method for encoding a frame of video data, which comprises a plurality of macro-blocks (MBs), each of which includes a MB header having multiple elements and MB residue data, comprising:

encoding an element of the MB header, said encoding based on a value of the same element of a previous MB header so as to reduce overall bits in the MB header, the method further comprising:

determining whether i-th MB is a non-skipped MB within the frame;

determining whether i is zero, if i-th MB is a non-skipped MB within the frame;

encoding a current value of an element of the MB header as normal according to a standardized entropy encoding scheme, if i is zero;

determining whether said current value of the element of the MB header is zero, if i is not zero; and

determining whether a previous value of the element is zero, if the current value of the element of the MB header is zero and i is not zero.

2. The method of claim 1 , wherein the element of the MB header is encoded by grouping the elements of the plurality of the MBs.

3. A method for encoding a frame of video data, which comprises a plurality of macro-blocks (MBs), the MBs being divided into non-skipped MBs and skipped MBs, each MB including a MB header that has multiple elements and MB residue data, one of the multiple elements being a MB run-length, the method comprising the steps of:

determining whether i-th MB is a non-skipped MB within the frame;

determining whether i is zero, if i-th MB is a non-skipped MB within the frame;

encoding a current value of an element of the MB header as normal according to a standardized entropy encoding scheme, if i is zero;

determining whether said current value of the element of the MB header is zero, if i is not zero; and

determining whether a previous value of the element is zero, if the current value of the element of the MB header is zero and i is not zero.

4. The method of claim 3 , wherein the method further comprises the steps of:

incrementing the MB run-length by one, if the previous value of the element is zero; and

encoding the current value of the element as normal according to a standardized entropy encoding scheme, if the previous value of the element is not zero.

5. The method of claim 4 , wherein the method further comprises the step of:

encoding the MB run-length, if i is not zero, the current value is not zero, and the previous value is zero.

6. The method of claim 3 , wherein the method further comprises the step of:

determining whether a previous value of the element is zero, if neither the current value nor i is zero.

7. The method of claim 6 , wherein, if the current value is not zero and the previous value is zero, the method further comprises the steps of:

encoding the MB run-length; and

encoding the current value of the element with index=(the current value−1).

8. The method of claim 6 , wherein the method further comprises the step of:

encoding the current value as normal according to a standardized entropy encoding scheme, if neither the previous value nor the current value is zero.

9. The method of claim 3 , wherein the method further comprises the step of:

determining whether i-th MB is a last MB, if i-th MB is not a non-skipped MB within the frame.

10. The method of claim 9 , wherein the method further comprises the step of:

determining whether the MB run-length is greater than zero, if i-th MB is a last MB.

11. The method of claim 10 , wherein the method further comprises the steps of:

encoding the MB run-length and a current value of the element with index=(current value−1), if the MB run-length is greater than zero; and

encoding the current value of the element as normal according to a standardized entropy encoding scheme, if the MB run-length is not greater than zero.

12. The method of claim 9 , wherein the method further comprises the step of:

determining again whether i-MB is a non-skipped MB within the frame, if i-th MB is not the last MB.

13. The method of claim 3 , wherein the method further comprises the step of:

determining again whether i-MB is a non-skipped MB within the frame, if encoding the current value of the element of the MB header as normal according to a standardized entropy encoding scheme has been completed.

14. A non-transitory computer-readable medium containing a computer program for encoding a frame of video data, which comprises a plurality of macro-blocks (MBs), the MBs being divided into non-skipped MBs and skipped MBs, each MB including a MB header that has multiple elements and MB residue data, one of the multiple elements being a MB run-length, said computer program comprising:

first code for determining whether i-th MB is a non-skipped MB within the frame;

second code for determining whether i is zero, if i-th MB is a non-skipped MB within the frame;

third code for encoding a current value of an element of the MB header as normal according to a standardized entropy encoding scheme, if i is zero;

fourth code for determining whether the current value of the element of the MB header is zero, if i is not zero; and fifth code for determining whether a previous value of the element is zero, if the current value of the element of the MB header is zero and i is not zero.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2008
From: AU, OSCAR CHI LIM; WONG, CHI WAH
To: HONG KONG UNIVERSITY OF SCIENCE & TECHNOLOGY, THE
Reel/Frame 021176/0941 →
Continuity (2)
Provisional Application 60907517 · Apr 5, 2007
Related Publication 20080260041A1 · Oct 23, 2008