Multi-bin decoding systems and methods

US10264264B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10264264-B2
Application numberUS-201615275373-A
CountryUS
Kind codeB2
Filing dateSep 24, 2016
Priority dateSep 24, 2016
Publication dateApr 16, 2019
Grant dateApr 16, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods for improving decoding of encoded image data using parallel multi-bin decoding are provided. In one embodiment, multiple context bins per cycle are decoded for a set of syntax elements, by decoupling and/or retiming particular syntax parsing and/or arithmetic decoding tasks of the decoding process.

First claim

Opening claim text (preview).

What is claimed is: 1. An electronic device comprising a video decoding pipeline configured to decode encoded source image data, wherein the video decoding pipeline comprises: one or more syntax finite state machines, configured to control parsing of one or more syntax elements of the encoded source image data; one or more entropy decoding engines, comprising one or more context bin decoders, the one or more context bin decoders configured to arithmetically decode bits of the encoded source image data; wherein the one or more syntax finite state machines comprise: a first sub-finite state machine (first sub-FSM) that assumes a first output from the one or more context bin decoders and computes a first context index update and a first next state in parallel with a current processing operation associated with the one or more context bin decoders; and a second sub-finite state machine (second sub-FSM) that assumes a second output from the one or more context bin decoders and computes a second context index update and a second next state in parallel with the current processing operation associated with the one or more context bin decoders; and wherein, upon completion of the current processing operation associated with the one or more context bin decoders, a selection between the first context index update and the second context index update and between the first next state and the second next state is determined based upon the bits of the encoded source image data that are arithmetically decoded. 2. The electronic device of claim 1 , wherein: the selection between the first context index update and the second context index update is configured to drive a subsequent arithmetic decoding process of the one or more context bin decoders. 3. The electronic device of claim 1 , comprising: a second syntax finite state machine wherein the selection between the first next state and the second next state of a first syntax finite state machine is provided to the second syntax finite state machine. 4. The electronic device of claim 3 , comprising: a third syntax finite state machine wherein the selection between the first next state and the second next state of the second syntax finite state machine is provided to the first syntax finite state machine. 5. The electronic device of claim 4 , wherein: the first syntax finite state machine, the second syntax finite state machine, and the third syntax finite state machine, in conjunction with corresponding first, second, and third context bin decoders, are configured to decode three context bins in parallel. 6. The electronic device of claim 1 , configured to decode multiple context bins per clock cycle. 7. The electronic device of claim 6 , configured to: decode the multiple context bins per clock cycle for only a subset of frequently occurring context adaptive binary arithmetic coded (CABAC) coded syntax elements. 8. The electronic device of claim 7 , wherein the CABAC coded syntax elements comprise: a last_sig_coeff_x_prefix syntax element that specifies a prefix of a column position of a last significant coefficient in a scanning order; a last_sig_coeff_y_prefix syntax element that specifies a prefix of a row position of the last significant coefficient in the scanning order; a coeef_abs_level_greater1_flag syntax element that indicates whether coefficients are greater than 1; and a sig_coeff_flag syntax element that indicates a significance of the coefficients. 9. The electronic device of claim 1 , wherein: at least one of the one or more syntax finite state machines is configured to pre-determine a set of indications used to decode of a string of multi-context-bins of a particular type in a next clock cycle; and a first context bin decoder of the one or more context bin decoders is configured to use the set of indications from a previous clock cycle in a current clock cycle. 10. The electronic device of claim 9 , wherein: the set of indications are pre-stored in one or more flip-flops of first context bin decoder in the current clock cycle. 11. The electronic device of claim 1 , configured to perform a Least Probable Symbol Range Table (rangeTabLps) lookup corresponding to a first bin decoder of the one or more context bin decoders in a previous clock cycle, prior to use in a current clock cycle. 12. A logic circuit for parsing an encoded bitstream, comprising: a syntax finite state machine comprising one or more sub-finite state machines; and an entropy decoding engine comprising a bin decoder configured to operate in parallel with processing operations of the one or more sub-finite state machines respective bin based at least in part on assuming an output of the bin decoder; wherein, for a set of critical syntax elements, the syntax finite state machine and the entropy decoding engine are configured to increase throughput of the logic circuit by processing multiple context adaptive binary arithmetic coded (CABAC)-encoded bins per clock cycle. 13. The logic circuit of claim 12 , comprising: a number C of chained context bin decoders; and a bin command interface, comprising C bins to be decoded and C context indices; wherein the entropy decoding engine is configured to return C bin values to the syntax finite state machine. 14. The logic circuit of claim 13 , wherein: a context buffer is implemented using flip-flops, allowing C read accesses per clock cycle. 15. The logic circuit of claim 13 , wherein the bin command interface comprises separate wires for providing a single-bin context index and a first multi-bin context index. 16. The logic circuit of claim 13 , wherein the number C of chained context bin decoders comprise a first context bin decoder configured to perform a context buffer lookup using a 1-cycle-early version of a state of the syntax finite state machine. 17. A set of context bin decoders of an entropy decoding engine, comprising: a first bin decoder configured to perform a context buffer lookup using a 1-cycle-early version of a state of a syntax finite state machine, wherein the first bin decoder is configured to process the 1-cycle-early version of the state of the syntax finite state machine parallel to one or more processing operations based on an assumed output from the first bin decoder. 18. The set of context bin decoders of claim 17 , wherein a context buffer for the context buffer lookup is implemented using a synchronous memory macro and wherein the context buffer lookup is performed in a previous clock cycle relative to a current clock cycle where a context bin is decoded using the 1-cycle-early version of the state of the syntax finite state machine. 19. The set of context bin decoders of claim 17 , wherein a context buffer for the context buffer lookup is implemented using one or more registers, an asynchronous-read memory macro, or both and wherein the context buffer lookup is performed in a beginning of a current clock cycle where a context bin is decoded using the 1-cycle-early version of the state of the syntax finite state machine. 20. The set of context bin decoders of claim 17 , comprising: a set of replicated bin decoders wherein the set of replicated bin decoders are used to assume each possible renormalization shift amount, enabling other portions of the set of context bin decoders to proceed without waiting for an actual computed renormalization shift amount.

Assignees

Inventors

Classifications

  • H04N19/13Primary

    Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC] · CPC title

  • Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder · CPC title

  • H04N19/91Primary

    Entropy coding, e.g. variable length coding [VLC] or arithmetic coding · CPC title

  • with binary alpha-plane coding for video objects, e.g. context-based arithmetic encoding [CAE] · CPC title

  • characterised by syntax aspects related to video coding, e.g. related to compression standards · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10264264B2 cover?
Systems and methods for improving decoding of encoded image data using parallel multi-bin decoding are provided. In one embodiment, multiple context bins per cycle are decoded for a set of syntax elements, by decoupling and/or retiming particular syntax parsing and/or arithmetic decoding tasks of the decoding process.
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification H04N19/13. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Apr 16 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).