IP Library Granted Patent US 8,885,726
Granted Patent B2
US 8,885,726 · App. 11/950,413 · Granted Nov 11, 2014

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

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,885,726
App. No.
11/950,413
Granted
Nov 11, 2014
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 (22)

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 stores neighbor data for one macroblock of the plurality of macroblocks in a plurality of data structures associated with each of a corresponding plurality of neighboring macroblocks, wherein the neighbor management module stores 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; and

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

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

3. The entropy coding module of claim 1 wherein neighbor data includes frame right neighbor data for retrieval by a neighboring macroblock right of the at least one macroblock when processing in frame mode and field right neighbor data for retrieval by the neighboring macroblock right of the at least one 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.

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 stores neighbor data for each macroblock of the plurality of macroblocks in a plurality of data structures associated with each of a corresponding plurality of neighboring macroblocks, wherein the neighbor management module stores 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; and

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

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

9. The entropy coding module of claim 7 wherein neighbor data includes frame right neighbor data for retrieval by a neighboring macroblock right of the at least one macroblock when processing in frame mode and field right neighbor data for retrieval by the neighboring macroblock right of the at least one 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. 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

storing the neighbor data for each of the plurality of macroblocks 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 when generating entropy encoded data for the selected macroblock;

wherein storing neighbor data stores 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.

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

13. The method of claim 11 wherein neighbor data includes frame right neighbor data for retrieval by a neighboring macroblock right of the at least one macroblock when processing in frame mode and field right neighbor data for retrieval by the neighboring macroblock right of the at least one macroblock when processing in field mode.

14. The method of claim 11 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.

15. The method of claim 11 wherein entropy encoded data is generated from discrete transformed coefficients for the plurality of macroblocks in accordance with context-adaptive binary arithmetic coding.

Assignments (1)
RELEASE OF SECURITY INTEREST Recorded Aug 18, 2017
From: COMERICA BANK
To: VIXS SYSTEMS, INC.
Reel/Frame 043601/0817 →