throbber
11/12/2018
`
`M Coder
`
`Research Topics - Detlev Marpe
`
`
`
`
`
`Fast Adaptive Binary Arithmetic Coding (M Coder)
`
`Overview: A novel design of a family of fast table-based adaptive binary arithmetic coders
`has been designed. This so-called M coder involves the innovative features of a table-based
`interval subdivision in conjunction with a fast and accurate table-based probability estimator
`and a fast bypass coding mode. The computational critical operation of interval subdivision is
`approximated by using a pre-quantization of the range of admissible interval width values
`induced by renormalization. Then, for each quantization interval and for each representative
`probability value, the corresponding product value is pre-calculated and stored with suitable
`precision into a 2-D lookup table. Probability estimation is performed by employing a finite-
`state machine with tabulated transition rules. For approximately uniformly distributed sub-
`sources, an optional bypass of the probability estimator results in an additional speed-up.
`
` A
`
` member of the M-coder family has been adopted as a normative part of the H.264/AVC
`CABAC entropy coding scheme. This M-coder variant in H.264/AVC provides virtually the
`same coding efficiency as a conventional multiplication- and division-based implementation of
`binary arithmetic coding at significantly higher throughput rates corresponding to speed-up
`factors in the range of 1.5-2.5. Compared to the MQ coder (as part of JBIG2 or JPEG2000),
`an increase in throughput of up to 18% can be achieved, depending on the implementation
`platform. At the same time, the M coder obtains average bit rate savings of 2-4 % relative to
`the MQ coder in its native H.264/AVC CABAC environment.
`
`
`Background: The discovery of arithmetic codes using a finite-precision arithmetic,
`independently achieved by RISSANEN and PASCO in 1976, can be considered as the origin of
`practical arithmetic coding. Since that time many researchers have contributed to the
`evolution of arithmetic coding as a purely academic research topic towards a practical coding
`method. The main advantages of arithmetic codes compared to the more popular variable-
`length codes (VLCs) can be summarized as follows.
`Entropy approximation: Arithmetic coding allows to assign a non-integer
`number of bits to each symbol to encode and therefore, it is able to
`generate a code with a compression performance that comes arbitrary close
`to the theoretical lower bound.
`Adaptivity: The usage of relatively simple adaptation mechanisms enables
`an arithmetic coder to adapt to the underlying source statistics.
`Higher-order modeling: Due to a simple interface between arithmetic
`coding and statistical modeling, higher-order statistical redundancies can be
`efficiently removed by the usage of appropriately designed context models.
`
`
`
`
`
`
`
`
`
`
`
`
` Start
` News
` Organisation
` Competences
` Fields of Application
` Alliances & Committees
` Products
` Events
` Staff
` Jobs
` Visitors
` Contact
` HHI Home
`
`However, compared to VLCs, the usage of arithmetic codes, in general, involves much higher
`computational costs due to the inherently sequentially organized operation of recursive
`interval subdivision. Moreover, in an adaptive coding approach, there is the closely related
`task of estimating the symbol probabilities based on previously encoded/decoded symbols,
`which generally results in additional nontrivial computational complexity. Although numerous
`fast variants of adaptive binary arithmetic coding were invented and implemented into
`practical coding schemes, there is an enduring interest in developing more efficient variants of
`arithmetic coding that enable even better or more flexible compromises between coding
`efficiency and implementation cost.
`
`
`
`
`http://iphome.hhi.de/marpe/mcoder.htm
`
`1/4
`
`
`
`Review of the principle of recursive interval subdivision: Suppose that the two possible
`values '0' and '1' of the binary alphabet are discriminated according to their estimated
`probability values, resulting in the least probable symbol (LPS) and the most probable symbol
`
`Unified Patents, Ex. 1009
`
`000001
`
`

`

`11/12/2018
`
`M Coder
`(MPS). By keeping track of the value of the MPS (valMPS) and the probability value of the
`LPS, denoted as pLPS, a simple parametrization of the underlying binary alphabet is achieved.
`Based on that setting, an initially given interval (as shown in the figure above), which is
`represented by its lower bound (base) L and its width (range) R is subdivided into two disjoint
`subintervals: one interval of width RLPS = R × pLPS, which is associated with the LPS, and the
`dual interval of width RMPS = R - RLPS, which is assigned to the MPS. Depending on the
`binary value to encode, either identified as the LPS or the MPS, the corresponding subinterval
`is then chosen as the new coding interval. By recursively applying this interval-subdivision
`scheme to each element bj of a given sequence of binary decisions b = (b1, b2, …, bN), the
`encoder finally determines a value cb in the final subinterval [L(N), L(N)+ R(N)) that results after
`the Nth interval subdivision process. The (minimal) binary representation of cb is the arithmetic
`code of the input sequence b. To ensure that finite-precision registers are sufficient to
`
`represent R(j) and L(j) for all j ∈ {1,2, …, N}, a renormalization operation is required, whenever
`
`R(j) falls below a certain limit after one or more interval subdivision process(es). By
`renormalizing R(j), and accordingly L(j), the leading bits of the arithmetic code can be output
`as soon as they are unambiguously identified.
`
`
`On the decoder side, the sequence of encoded binary values can be easily recovered by
`tracking the interval subdivision step-by-step and by comparing the bounds of both
`subintervals to the transmitted binary value of cb representing the final subinterval. Note that
`the width R(N) of the final subinterval is proportional to the product ∏N
`j=1 p(bj) of the individual
`probabilities of the elements bj of the binary sequence, such that for signaling the final
`subinterval, the lower bound of the empirical entropy of the binary sequence given by -log2
`∏N
`j=1 p(bj) = - ∑N
`j=1 log2 p(bj) is approximately achieved.
`
`
`the most critical drawback of a
`From
`the standpoint of computational complexity,
`straightforward implementation of arithmetic coding is the multiplication or even division
`operation required to perform the interval subdivision in integer arithmetic for each symbol to
`encode/decode. Usually, integer multiplications/divisions are quite expensive operations,
`especially when realized in hardware. Therefore, most of the research work in the literature
`dealing with the topic of fast binary arithmetic coding is devoted to the problem of employing a
`suitable approximation of the multiplication R × pLPS for determining RLPS. The published
`work in the literature can be roughly divided into two categories as follows.
`
`
`Prior work on fast binary arithmetic coding: The first category of published work on
`multiplication-free interval subdivision is based on the idea to approximate either the
`estimated probabilities pLPS or the interval width R in such a way that the multiplication can be
`replaced by one or more shifts and adds. Therefore, this class of coders are denoted as the
`shift-and-add coders. Two typical representatives of this class are the shift coder of LANGDON
`and RISSANEN and the CKW scheme of CHEVION et al. While in the former approach pLPS is
`confined to negative integral powers of 2, the latter relies on an approximation of the form ½ +
`
`r, where r ∈ {2-k | k ∈ |N} for the entire range of admissible values for the interval width R. In
`
`general, however, there is a rather strong imbalance between the amount of complexity
`reduction typically achieved by a shift-and-add coder and the observed degradation in coding
`efficiency due to the rough approximations involved.
`
`
`The second and main category of published research work summarizes all binary arithmetic
`coding algorithms that are based on the more radical approach of performing the interval-
`subdivision process by means of
`table-lookup operations only. The most prominent
`representatives of this so-called class of table-driven coders are given by the Q coder
`(PENNEBAKER et al.) and its variants QM and MQ coder, as adopted by JPEG and JPEG2000,
`respectively. Other techniques belonging to this class are the quasi-arithmetic coder (HOWARD
`and VITTER), the Z coder (BOTTOU), and the ELS coder (WITHERS). As a common
`characteristic feature of these table-driven arithmetic coders, a finite-state machine (FSM) is
`employed for estimating binary symbol probabilities.
`
`
`
`
`
`
`Proposed M Coder: The basic idea of the proposed low-complexity approach of interval
`subdivision is to quantize the range of possible interval width values induced by
`renormalization into a small number of K cells [JVT-C061]. To further simplify the calculations
`required to determine quantizer indices, a uniform quantization with K = 2 κ is assumed to be
`performed, resulting in a set Q = {Q0,Q1,…,QK-1} of representative interval widths. Together
`with the representative set of LPS-related probability values of the FSM given by P = {p0,p1,
`…,pN-1}, this quantization enables an approximation of the exact multiplication R × pLPS by
`means of a table of K × N pre-calculated product values {Qk · pn | 0 ≤ k < K; 0 ≤ n < N } in a
`suitably chosen integer precision. The entries of the corresponding 2-D lookup table will be
`
`http://iphome.hhi.de/marpe/mcoder.htm
`
`2/4
`
`Unified Patents, Ex. 1009
`
`000002
`
`

`

`11/12/2018
`
`M Coder
`addressed by the (probability) state index n and the quantization cell index k(R) related to the
`given value of R, as illustrated above. Computation of the quantizer index k(R) is easily
`carried out by a concatenation of a bit-shift and a bit-masking operation, where the latter can
`be interpreted as a modulo operation using the operand K = 2κ, hence the naming 'modulo
`coder' or briefly 'M coder' of the proposed two-parameter family of coders.
`
`
`For a fixed choice of the FSM-based estimator, which means that P and N are selected
`beforehand, the corresponding family of modulo coders can be parameterized by κ. Usually,
`
`only small numbers of κ ∈ {0,1,2,3} are of practical relevance, since the size of the lookup
`
`
`
`table is growing exponentially in κ. Larger values of κ result in a higher accuracy of the
`representation of R, but they require also larger lookup tables. In most practical cases, the
`choice of a suitable κ and the selection of an appropriate probability estimator has to be
`simultaneously optimized. For H.264/AVC the optimal choice of the free parameters κ and N
`was determined under the constraint for the lookup table size of 2κ·N ≤ 256 bytes, where each
`table entry was represented with an 8-bit integer precision. Obviously, the optimization
`process depends on the statistical nature of the given data. For a representative test set of
`video sequences encoded under different coding conditions within the H.264/AVC video
`coder, a configuration of (κ, N) = (2,64) was found to be optimal. This configuration is used for
`the standardized M coder variant of H.264/AVC. Note that the case κ = 0 is conceptually
`equivalent to the Q coder approximation. Hence, the M coder concept can be considered as a
`generalization of the Q coder and its derivatives of QM and MQ coder.
`
`
`Additional speed-up can be obtained by using a bypass of the probability estimation for
`approximately uniformly distributed binary symbols. This kind of sources is often observed in
`transform coders, where, e.g., signs of transform coefficients or least significant bits of
`absolute values of quantized transform coefficients can be assumed to be uniformly
`distributed. Therefore, the M coder contains a simplified interval subdivision in the so-called
`bypass coding mode based on a hard-wired equipartition. In this way, the whole bypass
`encoding/decoding process (including renormalization) can be realized by nothing more than
`a shift, a comparison, and for half of the symbols an additional subtraction.
`
`
`Performance evaluation of the M Coder: In a set of coding experiments, the relative
`performance of the M coder in comparison to the MQ coder and to a conventional binary
`arithmetic coder has been evaluated in the CABAC environment of H.264/AVC. As a first
`remarkable outcome of these experiments, it was observed that in terms of coding efficiency,
`the specific M coder implementation of H.264/AVC achieves virtually the same performance in
`terms of coding efficiency as an implementation of conventional binary arithmetic coding
`based on multiplication and division operations in 16-bit integer arithmetic.
`
`
`This experimental observation can be interpreted as a verification of the following analytical
`study of the approximation effects in the interval subdivision process. As a measure of
`inefficiency caused by the subdivision approximation, the so-called excess codelength or
`relative entropy D(p,p') is given as follows:
`
`D(p,p') = - p log2 p'
`1-p , where p'= Q(R)1-p'
`p - (1-p) log2
` R ·p
`
`
`where p is the actual LPS probability and p' denotes the approximation of the probability p due
`to the quantization Q(R) of the LPS related value of interval width R=RLPS. However, instead
`of evaluating the absolute values of excess codelength D(p,p'), a more meaningful measure is
`obtained by computing the inefficiency D(p,p') relative to the entropy H(p) (as the average
`ideal codelength):
`
`δ(p,p') = D(p,p')
` H(p)
`
`computed for different choices of κ. It turns out that for κ = 1, δmax is equal to 0.047,
`whereas δmax(k = 2) < 0.013 and δmax(κ) < 0.003 for κ ≥ 3. These values, however, represent
`the largest relative increase in codelength that can be expected for the largest possible
`quantization error given by sup |R - Q(R)|.
`
`
`
`
`
`
`To calculate the average relative excess codelength δavg(p,p') = E[δ(p,p')], a distribution must
`be assumed for R. Empirically, an 1 / R distribution has been determined for typical
`sequences of symbols to encode, and based on this empirical distribution the average relative
`excess codelength δavg has been computed for each fixed probability state. As shown in the
`graph above, δavg is less than 0.83% for κ = 1 and less than 0.2% of the ideal codelength for κ
`= 2 (i.e., the H.264/AVC related M coder realization, shown as the magenta colored curve).
`This numerical estimation proves that the loss in coding efficiency due to the table-based
`
`http://iphome.hhi.de/marpe/mcoder.htm
`
`3/4
`
`, where H(p) = -p log2 p - (1-p) log2 (1-p).
`
`
`Under the assumption that the probability p is fixed with values in P = {p0, p1, …, pN-1}, the
`
`worst case relative excess codelength δmax(κ) = max{δ(p,p') | p ∈ P, Q(R) ∈ Q(κ)} can be
`
`Unified Patents, Ex. 1009
`
`000003
`
`

`

`11/12/2018
`
`
`
`M Coder
`interval subdivision is practically negligible, at least in case of a static probability distribution
`and for the choice of κ ≥ 2. By the same kind of analysis it can be shown that the average
`relative excess codelength resulting from a discretization of the probability space is also
`negligible (less than 0.05% of the ideal codelength for N = 64).
`
`
`Related publications:
`
`
`D. Marpe, H. Schwarz, and T. Wiegand: Context-Based Adaptive Binary
`Arithmetic Coding in the H.264 / AVC Video Compression Standard, IEEE
`Transactions on Circuits and Systems for Video Technology, Vol. 13, No. 7, pp. 620-
`[PDF]
`636, July 2003, invited paper.
`
`Errata: On p. 631, left column below Table VI, "max(...)" must be replaced by "min(...)" in the two
`expressions for specifying context index increments for bins related to absolute values of transform
`coefficients.
`
`D. Marpe and T. Wiegand: A Highly Efficient Multiplication-Free Binary
`Arithmetic Coder and Its Application in Video Coding, Proc. IEEE International
`Conference on Image Processing (ICIP 2003), Barcelona, Spain, Sept. 2003.
`[PDF]
`
`
`
`D. Marpe, G. Marten, H. L. Cycon: A Fast Renormalization Technique
`for H.264/MPEG4-AVC Arithmetic Coding, Proc. 51st
`Internationales
`Wissenschaftliches Kolloquium (IWK), Ilmenau University of Technology, Ilmenau,
`[PDF]
`Germany, September 11-15, 2006.
`
`
`
`Related standard contributions (in chronological order, as listed here):
`
`[JVT-C061], [JVT-F040], [JVT-U084]
`
`
`
`
`
`
`Back to Home Page Detlev Marpe
`
`
`
`
`
`
`
`http://iphome.hhi.de/marpe/mcoder.htm
`
`4/4
`
`Unified Patents, Ex. 1009
`
`000004
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket