Method and device for arithmetic encoding or arithmetic decoding

By employing non-uniform quantization and context class determination to group similar contexts and adapt to dynamic ranges, the method addresses latency and memory challenges in context-based arithmetic coding, achieving efficient compression with reduced latency and memory usage.

KR102990991B1Active Publication Date: 2026-07-15DOLBY INTERNATIONAL AB

Patent Information

Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
DOLBY INTERNATIONAL AB
Filing Date
2010-10-01
Publication Date
2026-07-15

AI Technical Summary

Technical Problem

Existing arithmetic coding technologies face challenges in the field of arithmetic coding technologies have not yet addressed the need to reduce encoding/decoding latency and memory capacity requirements while maintaining effective compression, particularly in context-based arithmetic coding methods like USAC, due to the complexity of managing numerous probability density functions and contexts.

Method used

The method involves using non-uniform quantization of preceding spectral coefficients to determine context classes, grouping similar contexts into a single class, and using these solutions to reduce the number of contexts, and using these solutions to reduce the number of probability density functions, and using a mapping to select appropriate probability density functions for encoding/decoding, with variance estimation and context class determination to adapt to dynamic ranges.

Benefits of technology

This approach reduces encoding/decoding latency and memory requirements while maintaining effective compression by grouping similar contexts and using efficient mapping to select probability density functions, thus optimizing memory usage and processing time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 112025049402505-PAT00001_ABST
    Figure 112025049402505-PAT00001_ABST
Patent Text Reader

Abstract

The present invention proposes a method and apparatus for arithmetic encoding a current spectrum coefficient using a prior spectrum coefficient. The prior spectrum coefficient is already encoded, and both the prior spectrum coefficient and the current spectrum coefficient are contained in one or more quantized spectra obtained from quantizing the time-frequency transformation of a video, audio, or voice signal sample value. The method comprises the steps of processing the prior spectrum coefficient; determining a context class, which is one of at least two different context classes, using the processed prior spectrum coefficient; determining a probability density function using the determined context class and a mapping from at least two different context classes to at least two different probability density functions; and arithmetic encoding the current spectrum coefficient based on the determined probability density function. The step of processing the prior spectrum coefficient includes non-uniformly quantizing the absolute value of the prior spectrum coefficient for use in determining the context class.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to arithmetic encoding and decoding of multimedia data. Background Technology

[0002] Arithmetic coding is a lossless data compression method. Arithmetic coding is based on the probability density function (PDF). To achieve compression effects, the probability density function on which the coding is based must be identical to, or at least similar to, the actual probability density function that the data follows—the closer it is to the actual probability density function, the better.

[0003] When arithmetic coding is based on a suitable probability density function, it achieves significant compression, thereby yielding at least a near-optimal code. Therefore, arithmetic coding is a technique frequently used in audio, speech, or video coding for the encoding and decoding of coefficient sequences, where the coefficients are the quantized time-frequency transforms of video pixel or audio or speech signal sample values ​​in binary representation.

[0004] To further enhance compression, arithmetic coding may be based on a set of probability density functions, wherein the probability density function used to code the current coefficient depends on the context of said current coefficient. That is, depending on the context in which coefficients having the same quantization value appear, different probability density functions may be used to code said same quantization value. The context of a coefficient is defined by the quantization value of a coefficient included in a subsequence of one or more neighboring coefficients adjacent to each coefficient, for example, a subsequence of one or more already encoded or already decoded coefficients that precede adjacent to each coefficient to be encoded or decoded in a sequence. Each of the different possible situations in which a neighbor may be situated defines a different possible context to which each is mapped to the associated probability density function.

[0005] In practice, the aforementioned compression enhancement becomes evident only when the neighbors are sufficiently large. This works well with a multitude of different possible contexts, as well as a corresponding massive number of possible probability density functions or a combinatory explosion of corresponding complex mappings.

[0006] An example of a context-based arithmetic coding method can be found in ISO / IEC JTC1 / SC29 / WG11 N10215 (October 2008, Busan, South Korea), which proposed a reference model for USAC (Unified Speech and Audio Coding). According to this proposal, an already decoded 4-tuple is considered for context.

[0007] Another example of context-based arithmetic coding related to USAC can be found in ISO / IEC JTC1 / SC29 / WG11 N10847 (July 2009, London, UK).

[0008] To reduce complexity in high-order conditional entropy encoding, U.S. Patent No. 5,298,896 proposes non-uniform quantization of conditioning symbols.

[0009] Corresponding to a massive number of contexts to be processed, there is a massive number of probability density functions, or at least a correspondingly complex mapping from context to probability density functions, that need to be stored, retrieved, and processed. This increases at least one of encoding / decoding latency and memory capacity requirements. The technology sector needs an alternative solution that enables equally effective compression while reducing at least one of encoding / decoding latency and memory capacity requirements.

[0010] To address this need, the present invention proposes an encoding method comprising the features of claim 1, a decoding method comprising the features of claim 2, an arithmetic encoding device comprising the features of claim 13, an arithmetic decoding device comprising the features of claim 14, and a storage medium according to claim 15.

[0011] Features of additional proposed embodiments are specified in dependent claims.

[0012] The arithmetic encoding or decoding method described above uses a preceding spectral coefficient for arithmetic encoding or decoding of a current spectral coefficient, wherein the preceding spectral coefficient is, respectively, already encoded or decoded. Both the preceding spectral coefficient and the current spectral coefficient are contained in one or more quantized spectra obtained from quantizing the time-frequency transformation of a video, audio, or voice signal sample value. The method further comprises the steps of processing the preceding spectral coefficient, determining a context class that is one of at least two different context classes using the processed preceding spectral coefficient, determining a probability density function using the determined context class and a mapping from at least two different context classes to at least two different probability density functions, and, respectively, arithmetic encoding or decoding the current spectral coefficient based on the determined probability density function. The characteristic of this method is that the step of processing the preceding spectrum coefficients includes a step of non-uniformly quantizing the absolute value of the preceding spectrum coefficients.

[0013] Using context classes as an alternative to context to determine the probability density function makes it possible to group two or more different contexts, which yield different but very similar probability density functions, into a single context class that maps to a single probability density function. Grouping is achieved by using the non-uniformly quantized absolute values ​​of the leading spectral coefficients to determine the context class.

[0014] For example, there is an embodiment in which the step of processing the preceding spectrum coefficients includes the step of calculating the sum of the quantized absolute values ​​of the preceding spectrum coefficients to be used to determine the context class. Similarly, there is an embodiment of a corresponding arithmetic encoding device in which the processing means is adapted to calculate the sum of the quantized absolute values ​​of the preceding spectrum coefficients to be used to determine the context class, as well as an embodiment of a corresponding arithmetic encoding device.

[0015] In an additional device embodiment, the processing means is adapted such that the step of processing the preceding spectrum coefficients further comprises: a first quantization in which the absolute value of the preceding spectrum coefficients is quantized according to a first quantization method; a variance calculation in which the variance of the absolute value of the preceding spectrum coefficients quantized according to the first quantization method is obtained; selecting one of at least two different non-linear second quantization methods using the obtained variance; and a second quantization in which the absolute value of the preceding spectrum coefficients quantized according to the first quantization method is further quantized according to the selected non-linear second quantization method. An additional method embodiment includes corresponding steps. The variance calculation may include calculating the sum of the absolute values ​​of the preceding spectrum coefficients quantized according to the first quantization method and comparing the calculated sum with at least one threshold value.

[0016] In a further embodiment, the processing means of each device may be adapted so that a first result or at least a different second result is obtained from the processing step. Subsequently, determining the context class further comprises obtaining a plurality of the preceding spectral coefficients from which the first result is obtained from the processing, and using the plurality of preceding spectral coefficients obtained to determine the context class.

[0017] Each device may include means for receiving at least one of a mode switching signal and a reset signal, wherein the device is adapted to control the determination of a context class using at least one received signal.

[0018] To determine at least two different probability density functions, at least two different probability density functions can be predetermined using a representative data set, and a mapping can be realized using a search table or a hash table. Brief explanation of the drawing

[0019] Exemplary embodiments of the present invention are illustrated in the drawings and are described in more detail in the following description. Exemplary embodiments are described merely to illustrate the invention and are not intended to limit the scope and spirit of the invention as defined in the claims. FIG. 1 is a diagram illustrating an exemplary embodiment of an encoder of the present invention. FIG. 2 is a diagram illustrating an exemplary embodiment of the decoder of the present invention. FIG. 3 is a diagram illustrating a first embodiment of a context classifier that determines a context class. FIG. 4 is a diagram illustrating a second embodiment of a context classifier that determines a context class. FIG. 5(a) is a diagram illustrating, exemplarily, the first neighbor of a preceding spectral bin that precedes a current spectral bin to be encoded or decoded in the frequency domain mode. Figure 5(b) is a diagram illustrating, exemplarily, the second neighbor of a preceding spectrum bin that precedes the current spectrum bin to be encoded or decoded in a weighted linear prediction transform mode. FIG. 6(a) is a diagram illustrating, exemplarily, the third neighbor of a preceding spectrum bin that precedes the current lowest frequency spectral bin to be encoded or decoded in the frequency domain mode. FIG. 6(b) is a diagram illustrating, exemplarily, the fourth neighbor of a preceding spectrum bin that precedes the current second lowest frequency spectral bin to be encoded or decoded in the frequency domain mode. FIG. 7(a) is a diagram illustrating, exemplarily, the fifth neighbor of a preceding spectrum bin that precedes the current lowest frequency spectrum bin to be encoded or decoded in a weighted linear predictive transformation mode. Figure 7(b) is an exemplary diagram showing the sixth neighbor of a preceding spectrum bin that precedes the current second lowest frequency spectrum bin to be encoded or decoded in a weighted linear predictive transform mode. Figure 7(c) is an exemplary diagram showing the seventh neighbor of a preceding spectrum bin that precedes the current third lowest frequency spectrum bin to be encoded or decoded in a weighted linear predictive transform mode. Figure 7(d) is a diagram illustrating the eighth neighbor of a preceding spectrum bin that precedes the current third lowest frequency spectrum bin to be encoded or decoded in a weighted linear predictive transform mode. FIG. 8 is a diagram illustrating, by way of example, neighbors of different spectrum bins to be encoded or decoded, wherein the different spectrum bins are included in the first spectrum to be encoded or decoded after the occurrence of a start or reset signal of encoding / decoding in frequency domain mode. FIG. 9 is a diagram illustrating additional neighbors of different spectrum bins to be encoded or decoded in a weighted linear predictive transformation mode, wherein the different spectrum bins are included in a second spectrum to be encoded or decoded after the occurrence of a start or reset signal of encoding / decoding in the weighted linear predictive transformation mode. Specific details for implementing the invention

[0020] The present invention may be realized on any electronic device comprising a correspondingly adapted processing device. For example, an arithmetic decoding device may be realized in a television, a mobile phone, or a personal computer, an MP3 player, a navigation system, or a car audio system. An arithmetic encoding device may be realized in, to give a few examples, a mobile phone, a personal computer, an active automotive navigation system, a digital still camera, a digital video camera, or a dictaphone.

[0021] The exemplary embodiments described below relate to the encoding and decoding of quantized spectrum bins obtained from the quantization of the time-frequency transformation of multimedia samples.

[0022] The present invention is based on a method in which a previously transmitted quantized spectrum bin, for example, a preceding quantized spectrum bin preceding the current quantized spectrum bin (BIN) in a sequence, is used to determine a probability density function (PDF) to be used for arithmetic encoding and decoding of the current quantized spectrum bin (BIN), respectively.

[0023] The described exemplary arithmetic encoding or arithmetic decoding method and apparatus embodiments each comprise several non-uniform quantization steps or means. While all steps or means each provide maximum coding efficiency, each step or means each alone already realizes the concept of the present invention and provides advantages regarding encoding / decoding delay time and / or memory requirements. Accordingly, the detailed description should be interpreted as describing exemplary embodiments that realize only one of the described steps or means, as well as exemplary embodiments that realize a combination of two or more of the described steps or means.

[0024] A first step, which may but does not need to be included in an exemplary embodiment of the method, is a transformation step in which which general transformation mode is to be used is determined. For example, in the USAC Noiseless Coding Scheme, the general transformation mode may be a Frequency Domain (FD) mode or a Weighted Linear Prediction Transform (wLPT) mode. Each general mode may use different neighborhoods, that is, different sets of already encoded or decoded spectrum bins, to determine the PDF.

[0025] Subsequently, the context of the current spectrum bin (BIN) can be determined in the context generation module (COCL). From the determined context, a context class is determined by classifying the context, wherein, prior to classification, the context is preferably processed by non-uniform quantization (NUQ1) of the spectrum bin of the context (not necessarily). Classification may include estimating the variance (VES) of the context and comparing the variance to at least one threshold value. Alternatively, the variance estimate is obtained directly from the context. The variance estimate is then used to control additional quantization (NUQ2), preferably non-linear (not necessarily).

[0026] In the encoding process exemplarily illustrated in Fig. 1, a probability density function (PDF) suitable for encoding the currently quantized spectrum bin (BIN) is determined. For this purpose, only information already known to the decoder side can be used. That is, only the encoded or decoded preceding quantized spectrum bin can be used. This is done in the context classifier block (COCL). There, the selected preceding spectrum bin defines the neighbors (NBH) used to determine the actual context class. The context class can be indicated by a context class number. The context class number is used to retrieve the corresponding PDF from the PDF memory (MEM1) through a mapping (MAP), for example, through a search table or a hash table. The determination of the context class may rely on a general mode switch (GMS) that enables the use of different neighbors depending on the selected mode. As previously mentioned, in the case of USAC, there may be two general modes (FD mode and wLPT mode). When a general mode switch (GMS) is implemented on the encoder side, the mode change signal or the current general signal must be included in the bitstream so that the decoder also recognizes it. For example, in the reference model for USAC (Unified Speech and Audio Coding) proposed by ISO / IEC JTC1 / SC29 / WG11 N10847 (July 2009, London, UK), there are WD Table 4.4 core_mode and Table 4.5 core_mode0 / 1 proposed for general mode transmission.

[0027] After the determination of a PDF suitable for encoding the current quantized spectrum bin (BIN) by the arithmetic encoder (AEC), the current quantized spectrum bin (BIN) is input into neighbor memory (MEM2), that is, the current bin (BIN) becomes the preceding bin. The preceding spectrum bin contained in neighbor memory (MEM2) can be used to code the next spectrum bin (BIN) in the block (COCL). While storing the current spectrum bin (BIN), or before or after, the current bin (BIN) is arithmetic encoded by the arithmetic encoder (AEC). The output of the arithmetic encoding (AEC) is stored in a bit buffer (BUF) or written directly to a bitstream.

[0028] The contents of the bitstream or buffer (BUF) can be transmitted or broadcast, for example, via cable or satellite. Alternatively, the arithmetic-encoded spectrum bin can be recorded on a storage medium such as a DVD, hard disk, or Blu-ray disc. PDF-memory (MEM1) and neighbor memory (MEM2) can be realized in a single physical memory.

[0029] A reset switch (RS) can sometimes allow encoding or decoding to be restarted in a dedicated frame (a dedicated frame is called a decoding entry point) where encoding and decoding can begin without knowing the preceding spectrum. When the reset switch (RS) is implemented on the encoder side, a reset signal must be included in the bitstream so that the decoder also knows. For example, in the reference model for USAC (Unified Speech and Audio Coding) proposed by ISO / IEC JTC1 / SC29 / WG11 N10847 (July 2009, London, UK), there is an arith_reset_flag in WD Table 4.10 and Table 4.14.

[0030] A corresponding neighborhood-based decoding scheme is exemplarily illustrated in FIG. 2. It includes a block similar to the encoding scheme. The determination of the PDF to be used for arithmetic decoding is the same as in the encoding scheme to ensure that the determined PDF is the same in both the encoder and the decoder. Arithmetic decoding receives bits from a bit buffer (BUF) or directly receives a bitstream and decodes the currently quantized spectrum bin (BIN) using the determined PDF. Afterward, the decoded quantized spectrum bin is input into the neighborhood memory (MEM2) of the context class number determination block (COCL) and can then be used to decode the spectrum bin.

[0031] FIG. 3 illustrates in detail a first embodiment of a context classifier (COCL) that determines a context class.

[0032] Before storing the currently quantized spectrum bin (BIN) in spectrum memory (MEM2), it can be non-uniformly quantized in block (NUQ1). This has two advantages: first, it enables more efficient storage of quantized bins, which are typically 16-bit signed integer values; second, it reduces the number of values ​​that each quantized bin can take. This can drastically reduce the number of possible context classes in the context class determination process in block (CLASS). Furthermore, as in context class determination, the sign of the quantized bin can be ignored, and the calculation of the absolute value can be included in the non-uniform quantization block (NUQ1). An exemplary non-uniform quantization that can be performed by block (NUQ1) is shown in Table 1. In this example, after non-uniform quantization, three different values ​​are possible for each bin. However, generally, the only constraint on non-uniform quantization is that it reduces the number of values ​​that a bin can take.

[0033] An exemplary non-uniform quantization step including the calculation of absolute values Absolute value of quantized spectrum bins 0 1 2 3 4 5 6 7 8 >8 Non-uniform quantization 0 1 2

[0034] Non-uniformly quantized / mapped spectrum bins are stored in spectrum memory (MEM2). Depending on the selected general mode selection (GMS), selected neighbors (NBH) of the spectrum bins are selected to determine the context class (CLASS) for each bin to be coded.

[0035] Figure 5(a) illustrates a first exemplary neighbor (NBH) of a spectrum bin (BIN) to be encoded or decoded.

[0036] In this example, only the spectrum bins of the actual or current spectrum (frame) and the spectrum bins of one preceding spectrum (frame) define the neighbors (NBH). Of course, it is possible to use spectrum bins from two or more preceding spectra as part of the neighbors, which results in higher complexity but can also ultimately provide higher coding efficiency. It should be noted that from the actual spectrum, only already transmitted bins can be used to define the neighbors (NBH), because they must also be accessible to the decoder. Here, of course, in the following example, the transmission order of the spectrum bins from lower frequencies to higher frequencies is assumed.

[0037] The selected neighbor (NBH) is then used as input in the context class determination block (COCL). Below, the general idea and simplified version supporting context class determination are first described, followed by a specific implementation.

[0038] The general idea underlying context class determination is to enable a reliable estimation of the variance of the bin to be coded. This predicted variance can then be used to obtain an estimate of the PDF of the bin to be coded. For variance estimation, it is not necessary to evaluate the sign of neighboring bins. Therefore, the sign can be ignored during the quantization step before being stored in the spectral memory (MEM2). A very simple context class determination can be as follows: The neighborhoods (NBH) of a spectral bin (BIN) can be as in Fig. 5(a) and consist of 7 spectral bins. For example, if the non-uniform quantization shown in the table is used, each bin can have 3 values. This result 3 7 = 2187 possible context classes are obtained.

[0039] To further reduce the number of possible context classes, the relative position of each bean in the neighborhood (NBH) may be ignored. Thus, only the number of beans having values ​​of 0, 1, or 2 is counted, where, of course, the sum of the number of 0-beans, 1-beans, and 2-beans is equal to the total number of beans in the neighborhood. For a neighborhood (NBH) containing n beans, each of which can have one of three different values, 0.5* (n 2 There are 3*n+2 context classes. For example, there are 36 possible context classes in a neighborhood of 7 beans, and 28 possible context classes in a neighborhood of 6 beans.

[0040] Context class determination, which is more complex but still quite simple, takes into account that, as shown in the study, spectral bins of the preceding spectrum at the same frequency (spectral bins indicated by dashed circles in Figs. 5(a), 5(b), 6(a), 6(b), 7(a), 7(b), 7(c), 8, and 9) are particularly important. For other neighboring bins (indicated by horizontal striped circles in each figure), their relative positions are less important. Therefore, while bins at the same frequency in the preceding spectrum are explicitly used for context class determination, for the remaining six bins, only the number of 0-bins, 1-bins, and 2-bins is counted. As a result, 3 x 28 = 84 possible context classes are obtained. Experiments have shown that this context classification is very efficient for FD modes.

[0041] Context class determination can be extended by variance estimation (VES) controlling second non-uniform quantization (NUQ2). This allows the context class occurrence (COCL) to better adapt to a higher dynamic range of predicted variance of the bin to be coded. A corresponding block diagram of the extended context class determination is illustrated exemplarily in FIG. 4.

[0042] In the example illustrated in Fig. 4, non-uniform quantization is separated into two stages, the preceding stage providing finer quantization (block NUQ1) and the subsequent stage providing more approximate quantization (block NUQ2). This enables the quantization to adapt, for example, to the variance of neighbors. The variance of neighbors is estimated in the variance estimation block (VES), where the variance estimation is based on the preceding finer quantization of bins in the neighbor (NBH) in block (NUQ1). The variance estimation does not need to be precise and can be very approximate. For example, it is sufficient for a USAC application to determine whether the sum of the absolute values ​​of bins in the neighbor (NBH) after the finer quantization satisfies or exceeds a variance threshold; that is, a transition between high and low variance is sufficient.

[0043] Two-stage non-uniform quantization can be as shown in Table 2. In this example, the low dispersion mode corresponds to the one-stage quantization shown in Table 2.

[0044] Absolute value of quantized spectrum bins 0 1 2 3 4 5 6 7 8 >8 Finer quantization level 1 (6 values) 0 1 2 3 4 5 More approximate quantization step 2 (low variance) (3 values) 0 1 2 More approximate quantization level 2 (high variance) (3 values) 0 1 2

[0045] Table 2 shows an exemplary 2-step non-uniform quantization, where the second or subsequent step quantizes differently depending on whether the variance is estimated to be high or low.

[0046] The final context class determination in the block (CLASS) is the same as in the simplified version of Fig. 3. It is possible to use different context class determinations depending on the distribution mode. In addition, it is possible to use three or more distribution modes, and as a result, of course, there is an increase in the number of context classes and an increase in complexity.

[0047] For the first bin in the spectrum, neighbors such as those shown in FIG. 5(a) or FIG. 5(b) are not applicable because there are no lower frequency bins for the first bin, or not all of them exist. For each of these special cases, its own neighbors can be defined. In further embodiments, non-existent bins are filled with a predetermined value. For the exemplary neighbors given in FIG. 5(a), the defined neighbors for the first bin to be transmitted in the spectrum are shown in FIG. 6(a) and FIG. 6(b). The idea is to extend the neighbors to higher frequency bins to enable the use of the same context class determination function as for the rest of the spectrum. This also means that the same context class and, ultimately, the same PDF can be used. If the size of the neighbors is merely reduced (which, of course, is also optional), this would not be possible.

[0048] A reset typically occurs before a new spectrum is encoded. As previously mentioned, this is necessary to enable dedicated entry points for decoding. For example, if the decoding process starts from a specific frame / spectrum, it must actually start from the point of the last reset to successfully decode the preceding frame up to the desired starting spectrum. This implies that the more resets occur, the more entry points for decoding exist. However, coding efficiency is lower in the spectrum following the reset.

[0049] After the reset occurs, there are no preceding spectra available for the neighborhood definition. This means that only the preceding spectrum bins of the actual spectrum can be used in the neighborhood. However, the general procedure may not change, and the same "tool" may be used. Again, the first bin must be handled differently, as already explained in the previous section.

[0050] In FIG. 8, an exemplary reset neighborhood definition is illustrated. This definition can be used for a reset in the USAC's FD mode.

[0051] The number of additional context classes, as illustrated in the example of Fig. 8 (using quantization of the table by 6 values ​​when the last 3 possible quantized values ​​or values ​​after quantization step 1 are used), is as follows: processing for the first bin adds 1 context class, the second bin adds 6 context classes (values ​​after quantization step 1 is used), the third bin adds 6 context classes, and the fourth bin adds 10 context classes. Additionally, when considering two (low and high) dispersion modes, the number of these context classes is nearly doubled (only for the first bin where no information is available) (for the second bin, the value for the bin after quantization step 1 is used is not doubled).

[0052] In this example, 1 + 6 + 2x6 + 2x10 = 39 additional context classes are obtained to handle this result reset.

[0053] The mapping block (MAP) receives the context classification determined by the block (COCL), such as the determined context class number, and selects the corresponding PDF from the PDF memory (MEM1). At this stage, it is possible to further reduce the amount of memory required by using a single PDF for two or more context classes. That is, context classes with similar PDFs can use a combined PDF. These PDFs can be predefined during the training phase using a sufficiently large representative dataset. This training may include an optimization step in which context classes corresponding to similar PDFs are identified and the corresponding PDFs are merged. Depending on the statistics of the data, a significantly smaller number of PDFs can be obtained as a result that need to be stored in memory. In an exemplary experimental version for USAC, mapping from 822 context classes to 64 PDFs was successfully applied.

[0054] The implementation of this mapping function (MAP) can be a simple table search when the number of context classes is not very large. When the number becomes larger, a hash table search may be applied for efficiency.

[0055] As previously mentioned, the General Mode Switch (GMS) enables switching between the Frequency Domain Mode (FD) and the Weighted Linear Predictive Transform (wLPT) mode. Depending on the mode, different neighbors may be used. The exemplary neighbors shown in FIGS. 5(a), 6(a), 6(b), and FIGS. 8 were found to be sufficiently large for the FD mode in experiments. However, for the wLPT mode, larger neighbors shown exemplarily in FIGS. 5(b), 7(a), 7(b), 7(c), and FIGS. 9 were found to be beneficial.

[0056] That is, an exemplary reset process in wLPT mode is shown in FIG. 9. Exemplary neighbors in wLPT mode for the lowest, second lowest, third lowest, and fourth lowest bins in the spectrum are shown in FIG. 7 (a), FIG. 7 (b), FIG. 7 (c), and FIG. 7 (d), respectively. And, exemplary neighbors in wLPT mode for all other bins in the spectrum are shown in FIG. 5 (b).

[0057] The number of context classes obtained from the exemplary neighbors shown in FIG. 5(b) is 3 x 91 = 273 context classes. Factor 3 is obtained from the special processing of one bin at the same frequency as that currently to be encoded or currently to be decoded. From the equation given above, for the remaining 12 bins in the neighborhood, there are 0.5 * ((12 * 12) + 3 * 12 + 2) = 91 combinations of bins having values ​​of 2, 1, or 0. In an embodiment where context classes are distinguished based on whether the variance of the neighbors satisfies or exceeds a threshold, the 273 context classes are doubled.

[0058] The exemplary reset processing shown in Fig. 9 can also add multiple context classes.

[0059] In an exemplary tested example that yielded good results in the experiment, there are 822 possible context classes classified in Table 3 below.

[0060] Classified possible context classes of the MPEG USAC CE proposal mode Low dispersion mode High dispersion mode FD mode 84 84 FD mode after reset 39 wLPT mode 273 273 wLPT mode after reset 69

[0061] In the tested exemplary embodiment, these 822 possible context classes are mapped to 64 PDFs. This mapping is determined during the training phase, as previously described.

[0062] The resulting 64 PDFs must be stored in a ROM table, for example, with 16-bit accuracy in the case of a fixed-point arithmetic coder. Another advantage of the proposed method is shown here: In the current working draft version of the USAC standardization mentioned in the background section, quadruples (vectors containing four spectral bins) are combined coded using a single codeword. As a result, a very large codebook is obtained even if the dynamic range of each component in the vector is very small (e.g., each component has values ​​[-4, ..., 3] -> 8 4 (= can have 4096 possible different vectors). However, Scala's coding enables a high dynamic range for each bin using a very small codebook. The codebook used in the tested exemplary example has 32 entries and an Esc-codeword (in this case, the bin's value is outside this range) providing a dynamic range for bins from -15 to +15. This means that only 64 x 32 16-bit values ​​need to be stored in the ROM table.

[0063] In summary, a method for arithmetic encoding a current spectrum coefficient using a preceding spectrum coefficient is described, wherein the preceding spectrum coefficient is already encoded and both the preceding spectrum coefficient and the current spectrum coefficient are contained in one or more quantized spectra obtained from quantizing the time-frequency transformation of a video, audio, or voice signal sample value. In one embodiment, the method comprises the steps of processing a preceding spectrum coefficient, determining a context class that is one of at least two different context classes using the processed preceding spectrum coefficient, determining a probability density function using the determined context class and a mapping from at least two different context classes to at least two different probability density functions, and arithmetic encoding a current spectrum coefficient based on the determined probability density function, wherein the step of processing the preceding spectrum coefficient includes the step of non-uniformly quantizing the preceding spectrum coefficient.

[0064] In another exemplary embodiment, an apparatus for arithmetic encoding a current spectral coefficient using a prior spectral coefficient that has already been encoded includes a processing means, a first means for determining a context class, a memory for storing at least two different probability density functions, a second means for retrieving a probability density, and an arithmetic encoder.

[0065] Subsequently, the processing means is adapted to process by non-uniformly quantizing the already encoded preceding spectral coefficients, and the first means is adapted to determine a context class, which is one of at least two different context classes, using the processing result. Memory stores at least two different probability density functions and mappings from at least two different context classes to at least two different probability density functions—this mapping enables the retrieval of a probability density function corresponding to the determined context class. The second means is adapted to retrieve a probability density corresponding to the determined context class from memory, and the arithmetic encoder is adapted to arithmetic-encode the current spectral coefficients based on the retrieved probability density function.

[0066] There is another corresponding exemplary embodiment of a device that arithmetic decodes a current spectral coefficient using a prior spectral coefficient that has already been decoded, the device comprising a processing means, a first means for determining a context class, a memory for storing at least two different probability density functions, a second means for retrieving a probability density, and an arithmetic decoder.

[0067] Subsequently, the processing means is adapted to process the already decoded preceding spectral coefficients by non-uniform quantization, and the first means is adapted to determine a context class that is one of at least two different context classes using the processing result. Memory stores at least two different probability density functions and mappings from at least two different context classes to at least two different probability density functions—this mapping enables the retrieval of a probability density function corresponding to the determined context class. The second means is adapted to retrieve a probability density corresponding to the determined context class from memory, and the arithmetic decoder is adapted to arithmetic decode the current spectral coefficients based on the retrieved probability density function.

Claims

Claim 1 A method for arithmetic decoding a current spectral coefficient, comprising: processing preceding spectral coefficients; determining a context state based on the processed preceding spectral coefficients, wherein the context state is determined from at least two different context states, the context state is based on the sum of the quantized absolute values ​​of the preceding spectral coefficients, and the determination of the context state is based on using at least one of a reset signal and a mode switching signal; mapping from the at least two different context states to at least two different probability density functions and determining a probability density function based on the determined context state, wherein the mapping is based on a search table or a hash table; and a step of arithmetic decoding the current spectral coefficient based on the determined probability density function. Claim 2 A device for arithmetic decoding current spectrum coefficients, comprising: a processor configured to process preceding spectrum coefficients; a context classifier configured to determine a context state based on said processed preceding spectrum coefficients, said context state being determined from at least two different context states, said context state being based on the sum of the quantized absolute values ​​of said preceding spectrum coefficients, and said determination of the context state being based on using at least one of a reset signal and a mode switching signal; a probability density module configured to determine a probability density function, said probability density module being adapted to determine said probability density function using a mapping from said at least two different context states to at least two different probability density functions and said determined context state, said mapping being based on a search table or a hash table; and an arithmetic decoder configured to arithmetic decode the current spectrum coefficients based on said determined probability density function.