IP Library › Granted Patent US 10,142,625
Granted Patent B2
US 10,142,625 · App. 14/475,908 · Granted Nov 27, 2018

Neighbor management for use in entropy encoding and methods for use therewith

Inventors: Xu Gang (Wilf) Zhao (Maple, CA); Xinghai Li (North York, CA); Jason Wang (Markham, CA)
Assignee: VIXS SYSTEMS, INC.
H04N19/00951H04N19/124H04N19/13H04N19/176H04N19/423H04N19/52H04N19/61H04N19/91H04N19/436
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 10,142,625
App. No.
14/475,908
Granted
Nov 27, 2018
Kind
B2
Abstract

An entropy coding module is provided for use in a video encoder that encodes a video input signal based on a plurality of macroblocks derived from the video input signal. The entropy coding module includes an entropy coder that generates entropy encoded data from discrete transformed coefficients for the plurality of macroblocks. A neighbor management module stores neighbor data for at least one macroblock of the plurality of macroblocks for retrieval by the entropy encoder, when operating on at least one neighboring macroblock of the plurality of macroblocks.

Claims (29)

1. An entropy coding module for use in a video encoder that encodes a video input signal based on a plurality of macroblocks derived from the video input signal, the entropy coding module comprising:

a neighbor management module that pre-stores neighbor data, comprising pixel values or other data from an encoded macroblock used to calculate results for a corresponding plurality of neighboring macroblocks to be encoded, wherein the neighbor data is pre-stored in a plurality of data structures associated with each of the corresponding plurality of neighboring macroblocks; and

an entropy coder, coupled to the neighbor management module, that generates entropy encoded data from quantized and transformed data for the plurality of macroblocks, based on the neighbor data, wherein the entropy coder retrieves the neighbor data for a selected macroblock of the plurality of neighboring macroblocks directly from the neighbor management module from a single one of the plurality of data structures that corresponds to the selected macroblock;

wherein the neighbor data is pre-stored by the neighbor management module in the single one of the plurality of data structures that corresponds to the selected macroblock, once the encoded macroblock is encoded by the entropy coder, and prior to commencing entropy encoding of the selected macroblock of the plurality of neighboring macroblocks, and

wherein the neighbor management module pre-stores the neighbor data based on macroblock pairs that include a top frame macroblock and bottom frame macroblock from a frame of the video input signal and a top field macroblock and a bottom field macroblock from a corresponding field of the video input signal.

2. The entropy coding module of claim 1 wherein the neighbor data includes frame below neighbor data for retrieval by a neighboring macroblock in a row below the encoded macroblock when processing in a frame mode and field below neighbor data for retrieval by the neighboring macroblock in a row below the encoded macroblock when processing in a field mode.

3. The entropy coding module of claim 1 wherein the neighbor data includes frame right neighbor data for retrieval by a neighboring macroblock right of the encoded macroblock, when processing in frame mode and field right neighbor data for retrieval by the neighboring macroblock right of the encoded macroblock, when processing in field mode.

4. The entropy coding module of claim 1 wherein the entropy coder generates the entropy encoded data from discrete transformed coefficients in accordance with context-adaptive binary arithmetic coding.

5. The entropy coding module of claim 1 wherein the video encoder operates in accordance with at least one of, an Advanced Video Coding (AVC) format and a Motion Picture Experts Group (MPEG) format.

6. The entropy coding module of claim 1 wherein each one of the plurality of data structures stores copies of all neighbor data for a corresponding one of the plurality of neighboring macroblocks, and wherein the plurality of neighboring macroblocks are entropy encoded by the entropy coder, subsequent to the encoded macroblock.

7. An entropy coding module for use in a video encoder that encodes a video input signal based on a plurality of macroblocks derived from the video input signal, the entropy coding module comprising:

a neighbor management module that pre-stores neighbor data, comprising pixel values or other data from an encoded macroblock used to calculate results for a corresponding plurality of neighboring macroblocks to be encoded, wherein the neighbor data is pre-stored in a plurality of data structures associated with each of the corresponding plurality of neighboring macroblocks and

an entropy coder, coupled to the neighbor management module, that generates entropy encoded data from quantized and transformed data for the plurality of macroblocks in accordance with context-adaptive binary arithmetic coding based on the neighbor data, wherein the entropy coder retrieves the neighbor data for a selected macroblock of the plurality of neighboring macroblocks directly from the neighbor management module from a single one of the plurality of data structures that corresponds to the selected macroblock;

wherein the neighbor data is pre-stored by the neighbor management module in the single one of the plurality of data structures that corresponds to the selected macroblock, once the encoded macroblock is encoded by the entropy coder, and prior to commencing entropy encoding of the selected macroblock of the plurality of neighboring macroblocks, and

wherein the neighbor management module pre-stores the neighbor data based on macroblock pairs that include a top frame macroblock and bottom frame macroblock from a frame of the video input signal and a top field macroblock and a bottom field macroblock from a corresponding field of the video input signal.

8. The entropy coding module of claim 7 wherein the neighbor data includes frame below neighbor data for retrieval by a neighboring macroblock in a row below the encoded macroblock when processing in a frame mode and field below neighbor data for retrieval by the neighboring macroblock in a row below the encoded macroblock when processing in a field mode.

9. The entropy coding module of claim 7 wherein the neighbor data includes frame right neighbor data for retrieval by a neighboring macroblock right of the encoded macroblock when processing in frame mode and field right neighbor data for retrieval by the neighboring macroblock right of the encoded macroblock when processing in field mode.

10. The entropy coding module of claim 7 wherein the video encoder operates in accordance with at least one of, an Advanced Video Coding (AVC) format and a Motion Picture Experts Group (MPEG) format.

11. The entropy coding module of claim 7 wherein each one of the plurality of data structures stores copies of all neighbor data for a corresponding one of the plurality of neighboring macroblocks, and wherein the plurality of neighboring macroblocks are entropy encoded by the entropy coder, subsequent to the encoded macroblock.

12. A method for use in a video encoder that encodes a video input signal based on a plurality of macroblocks derived from the video input signal, the method comprising:

generating entropy encoded data from discrete transformed coefficients for the plurality of macroblocks in accordance with context-adaptive binary arithmetic coding based on neighbor data for each of the plurality of macroblocks; and

pre-storing the neighbor data, comprising pixel values or other data from an encoded macroblock used to calculate results for a corresponding plurality of neighboring macroblocks to be encoded, wherein the neighbor data is pre-stored in a plurality of data structures associated with each of a corresponding plurality of neighboring macroblocks, the neighbor data for direct retrieval from a single one of the plurality of data structures that corresponds to a selected macroblock of the plurality of neighboring macroblocks when generating entropy encoded data for the selected macroblock;

wherein the neighbor data is pre-stored in the single one of the plurality of data structures that corresponds to the selected macroblock, once the encoded macroblock is encoded, and prior to commencing entropy encoding of the selected macroblock of the plurality of neighboring macroblocks, and

wherein pre-storing neighbor data includes pre-storing neighbor data based on macroblock pairs that include a top frame macroblock and bottom frame macroblock from a frame of the video input signal and a top field macroblock and a bottom field macroblock from a corresponding field of the video input signal.

13. The method of claim 12 wherein neighbor data includes frame below neighbor data for retrieval by a neighboring macroblock in a row below the encoded macroblock when processing in a frame mode and field below neighbor data for retrieval by the neighboring macroblock in a row below the encoded macroblock when processing in a field mode.

14. The method of claim 12 wherein neighbor data includes frame right neighbor data for retrieval by a neighboring macroblock right of the encoded macroblock when processing in frame mode and field right neighbor data for retrieval by the neighboring macroblock right of the encoded macroblock when processing in field mode.

15. The method of claim 12 wherein the entropy encoding is in accordance with at least one of, an Advanced Video Coding (AVC) format and a Motion Picture Experts Group (MPEG) format.

16. The method of claim 12 wherein each one of the plurality of data structures stores copies of all neighbor data for a corresponding one of the corresponding plurality of neighboring macroblocks, and wherein the plurality of neighboring macroblocks are entropy encoded subsequent to the encoded macroblock.

17. The method of claim 12 wherein each one of the plurality of data structures stores copies of all neighbor data for the encoded macroblock and wherein the plurality of data structures correspond to the plurality of neighboring macroblocks associated with the encoded macroblock.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2023
From: ZHAO, XU GANG WILF; WANG, JASON; LI, XINGHAI
To: VIXS SYSTEMS, INC.
Reel/Frame 064100/0392 →
Continuity (2)
Continuation 11950413 · Dec 4, 2007
Related Publication 20150030069A1 · Jan 29, 2015
Cited By (1)
US 12,593,033