IP Library Granted Patent US 8,098,735
Granted Patent B2
US 8,098,735 · App. 11/643,643 · Granted Jan 17, 2012

Efficient 8×8 CABAC residual block decode

Assignee: LSI 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 8,098,735
App. No.
11/643,643
Granted
Jan 17, 2012
Kind
B2
Abstract

A circuit generally having a first module, a second module and a third module is disclosed. The first module may be configured to (i) generate a plurality of parsed residual blocks by parsing an 8×8 CABAC (context-based adaptive binary arithmetic coding) residual block received in an input signal and (ii) generate a plurality of metric signals resulting from the parsing of the 8×8 CABAC residual block. The second module may be configured to generate a scanning position signal based on the metric signals. The third module may be configured to generating a plurality of 4×4 CAVLC (context-based adaptive variable length coding) residual blocks in an output signal by sub-sampling the parsed residual blocks based on the scanning position signal.

Claims (45)

1. A circuit comprising:

a first module configured to (i) generate a plurality of parsed residual blocks by parsing an 8×8 CABAC (context-based adaptive binary arithmetic coding) residual block received in an input signal and (ii) generate a plurality of metric signals resulting from said parsing of said 8×8 CABAC residual block, wherein said plurality of metric signals comprises (i) a first metric signal indicating a parsed significant coefficient flag, (ii) a second metric signal configured to count from zero to a last scanning position of a non-zero coefficient in said 8×8 CABAC residual block, (iii) a third metric signal configured to count a number of non-zero coefficients in said 8×8 CABAC residual block, and (iv) a fourth metric signal configured to control a next coefficient level scanning position;

a second module configured to generate a scanning position signal based on said first, said second, said third, and said fourth metric signals, wherein said scanning position signal specifies the scanning position of the next coefficient level; and

a third module configured to generating a plurality of 4×4 CAVLC (context-based adaptive variable length coding) residual blocks in an output signal by sub-sampling said parsed residual blocks based on said scanning position signal.

2. The circuit according to claim 1 , wherein (i) said first module is further configured to generate a run before signal in said parsing of said 8×8 CABAC residual block and (ii) said scanning position signal is generated based on said run before signal.

3. The circuit according to claim 2 , wherein said run before signal is generated during said parsing of a significant coefficient flag syntax element of said 8×8 CABAC residual block.

4. The circuit according to claim 2 , wherein said second module is further configured to reorder said run before signal.

5. The circuit according to claim 1 , wherein said third module is further configured to reorder a plurality of coefficients of said parsed residual blocks during said parsing of both (i) a coefficient absolute level minus one syntax element and (ii) a coefficient signal flag syntax element.

6. The circuit according to claim 1 , wherein (i) said first module is further configured to generate a total coefficient signal in said parsing of said 8×8 CABAC residual block and (ii) said third module is further configured to reorder said total coefficient signal during said parsing of both (i) a significant coefficient flag syntax element and (ii) a last significant coefficient flag syntax element.

7. The circuit according to claim 1 , wherein (i) said first module is further configured to generate a trailing ones signal in said parsing of said 8×8 CABAC residual block and (ii) said third module is further configured to reorder said trailing ones signal during said parsing of both (i) a coefficient absolute level minus one syntax element and (ii) a coefficient signal flag syntax element.

8. The circuit according to claim 1 , wherein (i) said first module is further configured to generate a total zero signal in said parsing of said 8×8 CABAC residual block and (ii) said third module is further configured to reorder said total zero signal during said parsing of both (i) a significant coefficient flag syntax element and (ii) a last significant coefficient flag syntax element.

9. The circuit according to claim 1 , wherein (i) said first module is further configured to generate a run before signal in said parsing of said 8×8 CABAC residual block and (ii) said third module is further configured to reorder said run before signal during said parsing of both (i) a significant coefficient flag syntax element and (ii) a last significant coefficient flag syntax element.

10. The circuit according to claim 1 , further comprising an arithmetic decoder configured to generate said 8×8 CABAC residual block by decoding a bitstream, wherein said bitstream is compliant with an H.264 recommendation High 10 profile.

11. A method for transcoding an 8×8 CABAC (context-based adaptive binary arithmetic coding) residual block, comprising the steps of:

(A) generating a plurality of parsed residual blocks by parsing said 8×8 CABAC residual block received in an input signal;

(B) generating a plurality of metric signals resulting from said parsing of said 8×8 CABAC residual block, wherein said plurality of metric signals comprises (i) a first metric signal indicating a parsed significant coefficient flag, (ii) a second metric signal configured to count from zero to a last scanning position of a non-zero coefficient in said 8×8 CABAC residual block, (iii) a third metric signal configured to count a number of non-zero coefficients in said 8×8 CABAC residual block, and (iv) a fourth metric signal configured to control a next coefficient level scanning position;

(C) generating a scanning position signal based on said first, said second, said third, and said fourth metric signals, wherein said scanning position signal specifies the scanning position of the next coefficient level; and

(D) generating a plurality of 4×4 CAVLC (context-based adaptive variable length coding) residual blocks in an output signal by sub-sampling said parsed residual blocks based on said scanning position signal.

12. The method according to claim 11 , further comprising the step of:

generating a run before signal by parsing said 8×8 CABAC residual block, wherein said scanning position signal is generated based on said run before signal.

13. The method according to claim 12 , further wherein said run before signal is generated during said parsing of a significant coefficient flag syntax element of said 8×8 CABAC residual block.

14. The method according to claim 12 , further comprising the step of:

reordering said run before signal.

15. The method according to claim 11 , further comprising the step of:

reordering a plurality of coefficients of said parsed residual blocks during a parsing of both (i) a coefficient absolute level minus one syntax element and (ii) a coefficient signal flag syntax element.

16. The method according to claim 11 , further comprising the steps of:

generating a total coefficient signal by parsing said 8×8 CABAC residual block; and

reordering said total coefficient signal during a parsing of both (i) a significant coefficient flag syntax element and (ii) a last significant coefficient flag syntax element.

17. The method according to claim 11 , further comprising the steps of:

generating a trailing ones signal by parsing said 8×8 CABAC residual block; and

reordering said trailing ones signal during a parsing of both (i) a coefficient absolute level minus one syntax element and (ii) a coefficient signal flag syntax element.

18. The method according to claim 11 , further comprising the steps of:

generating a total zero signal by parsing said 8×8 CABAC residual block; and

reordering said total zero signal during a parsing of both (i) a significant coefficient flag syntax element and (ii) a last significant coefficient flag syntax element.

19. The method according to claim 11 , further comprising the steps of:

generating a run before signal by parsing said 8×8 CABAC residual block; and

reordering said run before signal during a parsing of both (i) a significant coefficient flag syntax element and (ii) a last significant coefficient flag syntax element.

20. A device comprising:

means for generating a plurality of parsed residual blocks by parsing an 8×8 CABAC (context-based adaptive binary arithmetic coding) residual block received in an input signal;

means for generating a plurality of metric signals resulting from said parsing of said 8×8 CABAC residual block, wherein said plurality of metric signals comprises (i) a first metric signal indicating a parsed significant coefficient flag, (ii) a second metric signal configured to count from zero to a last scanning position of a non-zero coefficient in said 8×8 CABAC residual block, (iii) a third metric signal configured to count a number of non-zero coefficients in said 8×8 CABAC residual block, and (iv) a fourth metric signal configured to control a next coefficient level scanning position;

means for generating a scanning position signal based on said first, said second, said third, and said fourth metric signals, wherein said scanning position signal specifies the scanning position of the next coefficient level; and

means for generating a plurality of 4×4 CAVLC (context-based adaptive variable length coding) residual blocks in an output signal by sub-sampling said parsed residual blocks based on said scanning position signal.

21. A system comprising:

a first module configured to (i) generate a plurality of first parsed residual blocks by parsing a plurality of 4×4 CAVLC (context-based adaptive variable length coding) residual blocks received in an input signal, (ii) generate a plurality of first metric signals resulting from said parsing of said 4×4 CAVLC residual blocks, (iii) generate a plurality of first scanning position signals based on said first metric signals and (iv) generate an 8×8 CABAC residual block in a bitstream by up-sampling said first parsed residual blocks based on said first scanning position signals; and

a second module configured to (i) generate a plurality of second parsed residual blocks by parsing said 8×8 CABAC residual block received in said bitstream, (ii) generate a plurality of second metric signals resulting from said parsing of said 8×8 CABAC residual block, wherein said plurality of metric signals comprises (i) a first metric signal indicating a parsed significant coefficient flag, (ii) a second metric signal configured to count from zero to a last scanning position of a non-zero coefficient in said 8×8 CABAC residual block, (iii) a third metric signal configured to count a number of non-zero coefficients in said 8×8 CABAC residual block, and (iv) a fourth metric signal configured to control a next coefficient level scanning position, (iii) generate a second scanning position signal based on said first, said second, said third, and said fourth metric signals, wherein said scanning position signal specifies the scanning position of the next coefficient level and (iv) recreate said 4×4 CAVLC residual blocks in an output signal by sub-sampling said second parsed residual blocks based on said second scanning position signals.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER TO 09/05/2018 PREVIOUSLY RECORDED AT REEL: 047230 FRAME: 0133. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047630/0456 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047230/0133 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
MERGER Recorded Oct 19, 2011
From: LSI LOGIC CORPORATION
To: LSI CORPORATION
Reel/Frame 027083/0947 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2007
From: BENZREBA, JAMAL; BANWAIT, HARMINDER; PEARSON, ERIC
To: LSI LOGIC CORPORATION
Reel/Frame 018947/0435 →
Continuity (1)
Related Publication 20080152015A1 · Jun 26, 2008