IP Library Granted Patent US 9,231,616
Granted Patent B2
US 9,231,616 · App. 13/523,818 · Granted Jan 5, 2016

Unified binarization for CABAC/CAVLC entropy coding

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 9,231,616
App. No.
13/523,818
Granted
Jan 5, 2016
Kind
B2
Abstract

Unified binarization for CABAC/CAVLC entropy coding. Scalable entropy coding is implemented in accordance with any desired degree of complexity (e.g., entropy encoding and/or decoding). For example, appropriately implemented context-adaptive variable-length coding (CAVLC) and context-adaptive binary arithmetic coding (CABAC) allow for selective entropy coding in accordance with a number of different degrees of complexity. A given device may operate in accordance with a first level complexity a first time, a second level complexity of the second time, and so on. Appropriate coordination and signaling between an encoder/transmitter device and a decoder/receiver device allows for appropriate coordination along a desired degree of complexity. For example, a variable length binarization module and an arithmetic encoding module may be implemented within an encoder/transmitter device and a corresponding arithmetic decoding module and a variable length bin decoding module may be implemented within a decoder/receiver device allowing for entropy coding along various degrees of complexity.

Claims (62)

1. An apparatus comprising:

an input configured to receive a plurality of syntax elements;

an entropy encoder configured to perform entropy encoding adaptively based on a plurality of complexity operational modes including to perform entropy encoding based on a first of the plurality of complexity operational modes at or during a first time and to perform entropy encoding based on a second of the plurality of complexity operational modes at or during a second time, wherein the second of the plurality of complexity operational modes is less complex than the first of the plurality of complexity operational modes, wherein the entropy encoder including:

a variable length binarization module configured to process the plurality of syntax elements to generate a plurality of context-adaptive binary arithmetic coding (CABAC) bins based on the first of the plurality of complexity operational modes and a plurality of context-adaptive variable-length coding (CAVLC) bits based on the second of the plurality of complexity operational modes; and

an arithmetic encoding module configured to process the plurality of CABAC bins to generate a plurality of CABAC bits based on the first of the plurality of complexity operational modes; and

at least one output configured to output the CABAC bits based on the first of the plurality of complexity operational modes and to output the CAVLC bits based on the second of the plurality of complexity operational modes.

2. The apparatus of claim 1 , wherein the plurality of CABAC bins being the plurality of CAVLC bits.

3. The apparatus of claim 1 further comprising:

a computer, a laptop computer, a high definition (HD) television, a standard definition (SD) television, a handheld media unit, a set top box (STB), or a digital video disc (DVD) player.

4. The apparatus of claim 1 , wherein the apparatus is a first communication device; and further comprising:

a second communication device, in communication with the first communication device via at least one communication channel, including:

at least one additional input configured to receive the plurality of CABAC bits or the plurality of CAVLC bits; and

an entropy decoder including:

an arithmetic decoding module configured to process the plurality of CABAC bits to generate a plurality of estimates of the plurality of CABAC bins based on the first of the plurality of complexity operational modes; and

a variable length bin decoding module configured to process the plurality of CAVLC bits based on the second of the plurality of complexity operational modes and the plurality of CABAC bins based on the first of the plurality of complexity operational modes to generate a plurality of estimates of the plurality of syntax elements, wherein the second communication device is at least one of computer, a laptop computer, a high definition (HD) television, a standard definition (SD) television, a handheld media unit, a set top box (STB), a digital video disc (DVD) player.

5. The apparatus of claim 1 further comprising:

a communication device that is operative within at least one of a satellite communication system, a wireless communication system, a wired communication system, a fiber-optic communication system, or a mobile communication system.

6. An apparatus comprising:

an entropy encoder configured to perform entropy encoding based on a first complexity operational mode of a plurality of complexity operational modes and to perform entropy encoding based on a second complexity operational mode of the plurality of complexity operational modes, wherein the second of the plurality of complexity operational modes is less complex than the first of the plurality of complexity operational modes, wherein the entropy encoder including:

a variable length binarization module configured to process a plurality of syntax elements to generate a plurality of context-adaptive binary arithmetic coding (CABAC) bins based on the first complexity operational mode and a plurality of context-adaptive variable-length coding (CAVLC) bits based on the second complexity operational mode; and

an arithmetic encoding module configured to process the plurality of CABAC bins to generate a plurality of CABAC bits based on the first complexity operational mode.

7. The apparatus of claim 6 , wherein the plurality of CABAC bins being the plurality of CAVLC bits.

8. The apparatus of claim 6 , wherein the entropy encoder is further configured to:

perform entropy encoding adaptively based on any of the plurality of complexity operational modes.

9. The apparatus of claim 6 , wherein the entropy encoder is further configured to:

perform entropy encoding based on the first complexity operational mode at or during a first time; and

perform entropy encoding based on the second complexity operational mode at or during a second time.

10. The apparatus of claim 6 , wherein the apparatus is further configured to:

output the CABAC bits when the entropy encoder operates based on the first complexity operational mode; and

output the CAVLC bits when the entropy encoder operates based on the second complexity operational mode.

11. The apparatus of claim 6 further comprising:

at least one input configured to receive at least one of the plurality of CABAC bits or the plurality of CAVLC bits; and

an entropy decoder including:

an arithmetic decoding module configured to process the plurality of CABAC bits to generate a plurality of estimates of the plurality of CABAC bins based on the first complexity operational mode; and

a variable length bin decoding module configured to process the plurality of CAVLC bits based on the second complexity operational mode and the plurality of CABAC bins based on the first complexity operational mode to generate a plurality of estimates of the plurality of syntax elements.

12. The apparatus of claim 6 , wherein the apparatus is a first communication device; and further comprising:

a second communication device, in communication with the first communication device via at least one communication channel, including:

at least one additional input configured to receive the plurality of CABAC bits or the plurality of CAVLC bits; and

an entropy decoder including:

an arithmetic decoding module configured to process the plurality of CABAC bits to generate a plurality of estimates of the plurality of CABAC bins; and

a variable length bin decoding module configured to process the plurality of CAVLC bits based on the second complexity operational mode and the plurality of CABAC bins based on the first complexity operational mode to generate a plurality of estimates of the plurality of syntax elements, wherein the second communication device is at least one of computer, a laptop computer, a high definition (HD) television, a standard definition (SD) television, a handheld media unit, a set top box (STB), or a digital video disc (DVD) player.

13. The apparatus of claim 6 further comprising:

a communication device that is operative within at least one of a satellite communication system, a wireless communication system, a wired communication system, a fiber-optic communication system, or a mobile communication system.

14. A method for execution by an entropy encoder of a communication device, the method comprising:

operating the entropy encoder to perform entropy encoding based on a first complexity operational mode of a plurality of complexity operational modes and performing entropy encoding based on a second complexity operational mode of the plurality of complexity operational modes, wherein the second of the plurality of complexity operational modes is less complex than the first of the plurality of complexity operational modes;

operating a variable length binarization module of the entropy encoder to process a plurality of syntax elements to generate a plurality of context-adaptive binary arithmetic coding (CABAC) bins based on a first complexity operational mode of a plurality of complexity operational modes and a plurality of context-adaptive variable-length coding (CAVLC) bits based on a second complexity operational mode of the plurality of complexity operational modes; and

operating an arithmetic encoding module of the entropy encoder to process the plurality of CABAC bins to generate a plurality of CABAC bits based on the first complexity operational mode.

15. The method of claim 14 , wherein the plurality of CABAC bins being the plurality of CAVLC bits.

16. The method of claim 14 further comprising:

operating the entropy encoder to perform entropy encoding adaptively based on any of the plurality of complexity operational modes.

17. The method of claim 14 further comprising:

operating the entropy encoder to perform entropy encoding based on the first complexity operational mode at or during a first time; and

operating the entropy encoder to perform entropy encoding based on the second complexity operational mode at or during a second time.

18. The method of claim 14 further comprising:

outputting to output the CABAC bits when the entropy encoder operative operates based on the first complexity operational mode; and

outputting the CAVLC bits when the entropy encoder operative operates based on the second complexity operational mode, wherein the second complexity operational mode is less complex than the first complexity operational mode.

19. The method of claim 14 further comprising:

operating an additional communication device, in communication with the communication device via at least one communication channel, by:

receiving the plurality of CABAC bits or the plurality of CAVLC bits;

operating an arithmetic decoding module to process the plurality of CABAC bits to generate a plurality of estimates of the plurality of CABAC bins; and

operating a variable length bin decoding module to process the plurality of CAVLC bits based on the second complexity operational mode and the plurality of CABAC bins based on the first complexity operational mode to generate a plurality of estimates of the plurality of syntax elements, wherein the additional communication device is at least one of computer, a laptop computer, a high definition (HD) television, a standard definition (SD) television, a handheld media unit, a set top box (STB), or a digital video disc (DVD) player.

20. The method of claim 14 , wherein the communication device is operative within at least one of a satellite communication system, a wireless communication system, a wired communication system, a fiber-optic communication system, or a mobile communication system.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 9,385,856 TO 9,385,756 PREVIOUSLY RECORDED AT REEL: 47349 FRAME: 001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 051144/0648 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE PREVIOUSLY RECORDED ON REEL 047229 FRAME 0408. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047349/0001 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047229/0408 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2012
From: HENG, BRIAN; SHEN, BA-ZHONG
To: BROADCOM CORPORATION
Reel/Frame 028379/0856 →