Sign In to Follow Application
View All Documents & Correspondence

Efficient Coding Of Transform Coefficients Using Or Suitable For A Combination With Dependent Scalar Quantization

Abstract: Concepts are presented which achieve a more efficient coding of coefficients of a transform block by use of dependent quantization and context adaptive entropy coding or achieve a coding of coefficients of a transform block in a manner which allows a more efficient coding even if a usage of dependent quantization is combined with the usage of context adaptive entropy coding.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
22 March 2021
Publication Number
14/2021
Publication Type
INA
Invention Field
ELECTRONICS
Status
Email
Parent Application
Patent Number
Legal Status
Grant Date
2025-03-10
Renewal Date

Applicants

FRAUNHOFER-GESELLSCHAFT ZUR FÖRDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
Hansastraße 27c 80686 München

Inventors

1. SCHWARZ, Heiko
c/o Fraunhofer-Institut für Nachrichtentechnik, Heinrich-Hertz-Institut, HHI Einsteinufer 37 10587 Berlin
2. WIEGAND, Thomas
c/o Fraunhofer-Institut für Nachrichtentechnik, Heinrich-Hertz-Institut, HHI Einsteinufer 37 10587 Berlin
3. NGUYEN, Phan Hoang Tung
c/o Fraunhofer-Institut für Nachrichtentechnik, Heinrich-Hertz-Institut, HHI Einsteinufer 37 10587 Berlin
4. MARPE, Detlev
c/o Fraunhofer-Institut für Nachrichtentechnik, Heinrich-Hertz-Institut, HHI Einsteinufer 37 10587 Berlin

Specification

Efficient Coding of Transform Coefficients using or suitable for a combination with

Dependent Scalar Quantization

Description

The present application is concerned with coding of transform coefficient levels such as for coding a picture or a video.

In setting a quantization parameter, the encoder has to make a compromise. Rendering the quantization coarse reduces the bitrate, but increases the quantization distortion, and rendering the quantization finer decreases the distortion, but increases the bitrate. It would be favorable to have a concept at hand which increases the coding efficiency for a given domain of available quantization levels. One such possibility is the usage of dependent quantization where the quantization is steadily adapted depending on previously quantized and coded data. However, the dependency in quantization also raises issues, like an increased coding complexity, a reduced information reservoir for performing context modeling as the dependency influences the interrelationship between the data items to be quantized and coded and thus influences the availability of information for context derivation for coding the individual syntax elements.

It would be favorable to have a concept which achieves a more efficient coding of coefficients of a transform block by use of dependent quantization and context adaptive entropy coding or achieves a coding of coefficients of a transform block in a manner which allows a more efficient coding even if a usage of dependent quantization is combined with the usage of context adaptive entropy coding.

It is the object of the present invention to provide such a concept for coding a bock of transform coefficients.

This object is achieved by the subject-matter of the independent claims of the present application.

Advantageous aspects are the subject of dependent claims. Preferred embodiments of the present application are described below with respect to the figures among which:

Fig. 1 shows a block diagram of an exemplary video encoder as an example for a picture encoder which may be embodied to operate in accordance with any of the embodiments described below or to incorporate the functionality according to the embodiments set forth herein.

Fig. 2 shows a block diagram of (a) a transform encoder; and (b) a transform decoder to illustrate a basic approach of block-based transform coding;

Fig.3 shows a histogram of a distribution illustrating a uniform reconstruction quantizer.

Fig. 4 shows a schematic diagram of (a) a transform block subdivided into subblocks and (b) a subblock in order to illustrate an example for scanning of transform coefficient levels, here exemplarily one used in H.265 1 MPEG-H HEVC; in particular, (a) shows a partitioning of a 16x16 transform block into 4x4 subblocks and the coding order of subblocks; (b) shows the coding order of transform coefficient levels inside a 4x4 subblock. The sub-divisioning may exemplarily be used in embodiments of the present application, for the passes of the coefficients in decoding their flags and remainders and for the state transitioning in dequantizing same.

Fig. 5 shows a schematic diagram of a multi-dimensional output space spanned by one axis per transform coefficient, and the location of admissible reconstruction vectors for the simple case of two transform coefficients: (a) Independent scalar quantization; (b) an example for dependent scalar quantization.

Fig. 6 shows a block diagram of a transform decoder using dependent scalar quantization, thereby forming an embodiment of a media decoder according to the present application. Modifications relative to conventional transform coding (with independent scalar quantizers) are derivable by comparison to Fig. 2b. In a corresponding manner, embodiments for encoding a transform block using dependent scalar quantization, may be obtained by modifying the encoder of Fig. 2a likewise.

Fig. 7 a schematic diagram illustrating for an embodiment of dependent quantization two sets of reconstruction levels that are completely determined by a single quantization steps size D. The two available sets of reconstruction levels are highlighted denoted set 0 (top line) and set 1 (bottom line). Examples for quantization indexes that indicate a reconstruction level inside a set are given by the numbers below the circles. The hollow and filled circles indicate two different subsets inside the sets of reconstruction levels; the subsets can be used for determining the set of reconstruction levels for the next transform coefficient in reconstruction order. Both sets include the reconstruction level equal to zero, but are otherwise disjoint; both sets are symmetric around zero.

Fig. 8 shows a pseudo-code illustrating an example for the reconstruction process for transform coefficients, k represents an index that specifies the reconstructio order of the current transform coefficient, the quantization index for the current transform coefficient is denoted by level[k], the quantization step size Ak that applies to the current transform coefficient is denoted by quant_step_size[k], and trec[k] represents the value of the reconstructed transform coefficient tk' . The variable setldfk] specifies the set of reconstruction levels that applies to the current transform coefficient. It is determined based on the preceding transform coefficients in reconstruction order; the possible values of setldfk] are 0 and 1. The variable n specifies the integer factor of the quantization step size; it is given by the chosen set of reconstruction levels (i.e. , the value of setld[k]) and the transmitted quantization index levelfk].

Fig. 9 shows a pseudo-code illustrating an alternative implementation of the pseudo-code in Fig 8 . The main change is that the multiplication with the quantization step is represented using an integer implementation using a scale and a shift parameter. Typically, the shift parameter (represented by shift) is constant for a transform block and only the scale parameter (given by scale[k]) may depend on the location of the transform coefficient. The variable add represents a rounding offset, it is typically set equal to add = (1 «(shift-1)). With Ak being the nominal quantization step for the transform coefficient, the parameters shift and scalefk] are chosen in a way that we have Ak ~ scale[k] · 2~shl^t.

Fig. 10 shows a pseudo-code illustrating an example for the reconstruction process of transform coefficients for a transform block. The array level represents the transmitted transform coefficient levels (quantization indexes) for the transform block and the array tree represent the corresponding reconstructed transform coefficients. The 2d table state_trans_table specifies the state transition table and the table set Id specifies the quantization set that is associated with the states.

Fig. 1 1 shows a schematic diagram illustrating a state transition in dependent scalar quantization as trellis structure. The horizontal exists represents different transform coefficients in reconstruction order. The vertical axis represents the different possible states in the dependent quantization and reconstruction process. The shown connections specify the available paths between the states for different transform coefficients.

Fig. 12a shows a schematic diagram of a transform block for illustration of signaling of the position of the first non-zero quantization index in coding order which his position is illustrated by back filling. In addition to the position of the first non-zero transform coefficients, only bins for the shaded coefficients are transmitted, the white-marked coefficients are inferred to be equal to 0.

Fig. 12b shows a schematic diagram of a transform block and illustrates a template used for selecting probability models. The black square specifies the current scan position and the shaded squares represent the local neighborhood used for deriving the context models.

Fig. 13 shows a pseudo code in accordance with a first embodiment of coding a transform coefficient block;

Fig. 14 shows a schematic diagram illustrating the representation of the quantization indexes of the transform coefficients in accordance with the embodiment of Fig. 13 by recursively bisecting a value domain for the quantization indexes;

Fig. 15 shows a schematic diagram illustrating the various passes in decoding example of Fig. 13, as to how the passes traverse the transform coefficients and which flags or reminders are coded in which pass in accordance with the example of Fig. 13;

Fig. 16 shows a pseudo code for illustrating a second embodiment for coding a transform coefficient block;

Fig. 17 shows a schematic diagram illustrating the representation of coefficient’s quantization indexes in accordance with the embodiments of Fig. 16;

Fig. 18 shows a pseudo code illustrating a third embodiment for coding a transform coefficient block; and

Fig. 19 shows a pseudo code illustrating a fourth embodiment for coding a transform coefficient block.

In the embodiments described below, transform coding is used to transform a set of samples. Dependent quantization is used to quantize the resulting transform coefficients, and an entropy coding of the obtained quantization indexes, namely context-adaptive arithmetic coding, takes place. At the decoder side, the set of reconstructed samples is obtained by corresponding decoding of the quantization indexes and a dependent reconstruction of transform coefficients, so that an inverse transform yields the samples. The samples could be part of a picture or video and may describe a certain picture block. Naturally, other possibilities exist as well. The description of embodiments below is mainly targeted on a lossy coding of blocks of prediction error samples in image and video codecs, but the embodiments can also be applied to other areas of lossy coding. In particular, no restriction to sets of samples that form rectangular blocks exists and there is no restriction to sets of samples that represent prediction error samples (i.e., differences between an original and a prediction signal) either.

All state-of-the-art video codecs, such as the international video coding standards H.264 | MPEG-4 AVC and H.265 | MPEG-H HEVC, follow the basic approach of hybrid video coding. The video pictures are partitioned into blocks, the samples of a block are predicted using intra-picture prediction or inter-prediction, and the samples of the resulting prediction error signal (difference between the original samples and the samples of the prediction signal) are coded using transform coding.

Fig. 1 shows a simplified block diagram of a typical modern video encoder. The video pictures of a video sequence are coded in a certain order, which is referred to as coding order. The coding order of pictures can differ from the capture and display order. For the actual coding, each video picture is partitioned into blocks. A block comprises the samples of a rectangular area of a particular color component. The entity of the blocks of all color components that correspond to the same rectangular area is often referred to as unit. Depending on the purpose of the block partitioning, in H.265 | MPEG-H HEVC, it is distinguished between coding tree blocks (CTBs), coding blocks (CBs), prediction blocks (PBs), and transform blocks (TBs). The associated units are referred to as coding tree units (CTUs), coding units (CUs), prediction units (PUs), and transform units (TUs).

Typically, a video picture is initially partitioned into fixed sized units (i.e. , aligned fixed sized blocks for all color components). In H.265 | MPEG-H HEVC, these fixed sized units are referred to as coding tree units (CTUs). Each CTU can be further split into multiple coding units (CUs). A coding unit is the entity for which a coding mode (for example, intra-or inter-picture coding) is selected. In H.265 [ MPEG-H HEVC, the decomposition of a CTU into one or multiple CUs is specified by a quadtree (QT) syntax and transmitted as part of the bitstream. The CUs of a CTU are processed in the so-called z-scan order. That means, the four blocks that result from a split are processed in raster-scan order; and if any of the blocks is further partitioned, the corresponding four blocks (including the included smaller blocks) are processed before the next block of the higher splitting level is processed.

If a CU is coded in an intra-coding mode, an intra prediction mode for the luma signal and, if the video signal includes chroma components, another intra prediction mode for the chroma signals is transmitted. In ITU-T H.265 | MPEG-H HEVC, if the CU size is equal to the minimum CU size (as signaled in the sequence parameter set), the luma block can also be split into four equally sized blocks, in which case, for each of these blocks, a separate luma intra prediction mode is transmitted. The actual intra prediction and coding is done on the basis of transform blocks. For each transform block of an intra-picture coded CU, a prediction signal is derived using already reconstructed samples of the same color component. The algorithm that is used for generating the prediction signal for the transform block is determined by the transmitted intra prediction mode.

CUs that are coded in inter-picture coding mode can be further split into multiple prediction units (PUs). A prediction unit is the entity of a luma and, for color video, two associated chroma blocks (covering the same picture area), for which a single set of prediction parameters is used. A CU can be coded as a single prediction unit, or it can be split into two non-square (symmetric and asymmetric splittings are supported) or four square prediction units. For each PU, an individual set of motion parameters is transmitted. Each set of motion parameters includes the number of motion hypotheses (one or two in H.265 | MPEG-H HEVC) and, for each motion hypothesis, the reference picture (indicated via a reference picture index into a list of reference pictures) and the associated motion vector. In addition, H.265 | MPEG-H HEVC provides a so-called merged mode, in which the motion parameters are not explicitly transmitted, but derived based on motion parameters of spatial or temporal neighboring blocks. If a CU or PU is coded in merge mode, only an index into a list of motion parameter candidates (this list is derived using motion data of spatial and temporal neighboring blocks) is transmitted. The index completely determines the set of motion parameters used. The prediction signal for inter-coded PUs is formed by motion-compensated prediction. For each motion hypothesis (specified by a reference picture and a motion vector), a prediction signal is formed by a displaced block in the specified reference picture, where the displacement relative to the current PU is specified by the motion vector. The displacement is typically specified with sub-sample accuracy (in H.265 j MPEG-H HEVC, the motion vectors have a precision of a quarter luma sample). For non-integer motion vectors, the prediction signal is generated by interpolating the reconstructed reference picture (typically, using separable FIR filters). The final prediction signal of PUs with multi-hypothesis prediction is formed by a weighted sum of the prediction signal? for the individual motion hypothesis. Typically, the same set of motion parameters is used for luma and chroma blocks of a PU. Even though state-of-the-art video coding standards use translational displacement vectors for specifying the motion of a current area (block of samples) relative to a reference picture, it is also possible to employ higher-order motion models (for example, the affine motion model). In that case, additional motion parameters have to be transmitted for a motion hypothesis.

For both intra-picture and inter-picture coded CUs, the prediction error signal (also called residual signal) is typically transmitted via transform coding. In H.265 | MPEG-H HEVC, the block of luma residual samples of a CU as well as the blocks of chroma residual samples (if present) are partitioned into transform blocks (TBs). The partitioning of a CU into transform block is indicated by a quadtree syntax, which is also referred to as residual quadtree (RQT). The resulting transform blocks are coded using transform coding: A 2d transform is applied to the block of residual samples, the resulting transform coefficients are quantized using independent scalar quantization, and the resulting transform coefficient levels (quantization indexes) are entropy coded. In P and B slices, at the beginning of the CU syntax, a skip_flag is transmitted. If this flag is equal to 1 , it indicates that the corresponding CU consists of a single prediction unit coded in merge mode (i.e., merge_flag is inferred to be equal to 1) and that all transform coefficients are equal to zero (i.e., the reconstruction signal is equal to the prediction signal). In that case, only the mergejdx is transmitted in addition to the skip_flag. If sk!p lag is equal to 0, the prediction mode (inter or intra) is signaled, followed by the syntax features described above.

Since already coded pictures can be used for motion-compensated prediction of blocks in following pictures, the pictures have to be fully reconstructed in the encoder. The reconstructed prediction error signal for a block (obtained by reconstructing the transform coefficients given the quantization indexes and an inverse transform) is added to the corresponding prediction signal and the result is written to a buffer for the current picture. After all blocks of a picture are reconstructed, one or more in-loop filters can be applied (for example, a deblocking filter and a sample adaptive offset filter). The final reconstructed picture is then stored in a decoded picture buffer.

The embodiments described below present a concept for coding a transform coefficient block such as one concerning a prediction error. The concept is applicable for both intrapicture and inter-picture coded blocks. It is also applicable to transform coding of non-rectangular sample regions. In contrast to conventional transform coding, the transform coefficients are not independently quantized. Rather, they are quantized using dependent quantization. According to dependent quantization, the set of available reconstruction levels for a particular transform coefficient depends on the chosen quantization indexes for other transform coefficients.

All major video coding standards (including the state-of-the-art standard H.265 | MPEG-H HEVC) utilize the concept of transform coding for coding blocks of prediction error samples. The prediction error samples of a block represent the differences between the samples of the original signal and the samples of a prediction signal for the block. The prediction signal is either obtained by intra-picture prediction (in which case. the samples of the prediction signal for a current block are derived based on already reconstructed samples of neighboring blocks inside the same picture) or by inter-picture prediction (in which case the samples of the prediction signal are derived based on samples of already reconstructed pictures). The samples of the original prediction error signal are obtained by subtracting the values of the samples of the prediction signal from the samples values of the original signal for the current block.

Transform coding of sample blocks consists of a linear transform, scalar quantization, and entropy coding of the quantization indexes. At the encoder side (see Fig. 2a), an NxM block of original samples is transformed using a linear analysis transform A. The result is an NxM block of transform coefficients. The transform coefficients h represent the original prediction error samples in a different signal space (or different coordinate system). The NxM transform coefficients are quantized using NxM independent scalar quantizers. Each

transform coefficient fc is mapped to a quantization index q^ which is also referred to as transform coefficient level. The obtained quantization indexes qk are entropy coded and written to the bitstream.

At the decoder side, which is depicted in Fig. 2b, the transform coefficient levels qk are decoded from the received bitstream. Each transform coefficient level qk is mapped to a reconstructed transform coefficient t’k. The N*M block of reconstructed samples is obtained by transforming the block of reconstructed transform coefficients using a linear synthesis transform B.

Even though video coding standards only specify the synthesis transform B, it is common practice that the inverse of the synthesis transform B is used as analysis transform A in an encoder, i.e., A = B~1. Moreover, the transforms used in practical video coding systems represent orthogonal transforms (B-1 = BT) or nearly orthogonal transforms. For orthogonal transforms, the mean squared error (MSE) distortion in the signal space is equal to the MSE distortion in the transform domain. The orthogonality has the important advantage that the MSE distortion between an original and reconstructed sample block can be minimized using independent scalar quantizers. Even if the actual quantization process used in an encoder takes dependencies between transform coefficient levels (introduced by the entropy coding description above) into account, the usage of orthogonal transforms significantly simplifies the quantization algorithm.

For typical prediction error signals, the transform has the effect that the signal energy is concentrated in a few transform coefficients. In comparison to the original prediction error samples, the statistical dependencies between the resulting transform coefficients are reduced.

In state-of-the-art video coding standards, a separable discrete cosine transform (type II) or an integer approximation thereof is used. The transform can, however, be easily replaced without modifying other aspects of the transform coding system. Examples for improvements that have been suggested in the literature or in standardization documents include:

• Usage of discrete sine transform (DST) for intra-picture predicted blocks (possibly depending on the intra prediction mode and/or the block size). Note that H.265 |

MPEG-H HEVC already includes a DST for intra-picture predicted 4x4 transform blocks.

• Switched transforms: The encoder selects the actually used transform among a set of pre-defined transforms. The set of available transforms is known by both the encoder and the decoder, so that it can be efficiently signaled using an index into a list of available transforms. The set of available transforms and their ordering in a list can depend on other coding parameters for the block, such as the chosen intra prediction mode. In a special case, the used transform is completely determined by coding parameters such as the intra prediction mode, so that no syntax element for specifying the transform needs to be transmitted.

• Non-separable transforms: The transforms used in encoder and decoder represent non-separable transforms. Note that the concept of switched transforms may include one or more non-separable transforms. Due to complexity reasons, The usage of non-separable transforms can be restricted to certain block sizes.

• Multi-level transforms: The actual transform is composed of two or more transform stages. The first transform stage could consist of a computationally low-complex separable transform. And in the second stage a subset of the resulting transform coefficients is further transformed using a non-separable transform !t comparison to a non-separable transform for the entire transform block, the two-stage approach has the advantage that the more complex non-separable transform is applied to a smaller number of samples. The concept of multi-level transforms can be efficiently combined with the concept of switched transforms.

The transform coefficients are quantized using scalar quantizers. As a result of the quantization, the set of admissible values for the transform coefficients is reduced. In other words, the transform coefficients are mapped to a countable set (in practice, a finite set) of so-called reconstruction levels. The set of reconstruction levels represents a proper subset of the set of possible transform coefficient values. For simplifying the following entropy coding, the admissible reconstruction levels are represented by quantization indexes (also referred to as transform coefficient levels), which are transmitted as part of the bitstream. At the decoder side, the quantization indexes (transform coefficient levels) are mapped to reconstructed transform coefficients. The possible values for the reconstructed transform coefficients correspond to the set of reconstruction levels. At the encoder side, the result of scalar quantization is a block of transform coefficient levels (quantization indexes).

In state-of-the-art video coding standards, uniform reconstruction quantizers (URQs) are used. Their basic design is illustrated in Fig. 3. URQs have the property that the reconstruction levels s are equally spaced. The distance D between two neighboring reconstruction levels is referred to as quantization step size. One of the reconstruction levels is equal to 0. Hence, the complete set of available reconstruction levels is uniquely specified by the quantization step size D. The decoder mapping of quantization indexes q to reconstructed transform coefficients t’ is, in principle, given by the simple formula

t' = q A.

In this context, the term“independent scalar quantization” refers to the property that, given the quantization index q for any transform coefficient, the associated reconstructed transform coefficient t’ can be determined independently of all quantization indexes for the other transform coefficients.

Since video decoders typically utilize integer arithmetic with standard precision (e.g., 32 bits), the actual formula used in the standard can slightly differ from the simple multiplication. When neglecting the clipping to the supported dynamic range for the transform coefficients, the reconstructed transform coefficients in H.265 | MPEG-H HEVC are obtained by

t' = scale q + (l « (shift— 1)) » shift,

where the operators
and“»” represent bit shifts to the left and right, respectively. When we ignore the integer arithmetic, the quantization step size D corresponds to the term

D = scale 2 shlft.

Older video coding standards, such as H.262 | MPEG-2 Video, also specify modified URQs for which the distances between the reconstruction level zero and the first non-zero reconstruction levels are increased relative to the nominal quantization step size (e.g., to three halves of the nominal quantization step size D).

The quantization step size (or the scale and shift parameters) for a transform coefficient is determined by two factors:

• Quantization parameter QP: The quantization step size can typically be modified on a block basis. For that purpose, video coding standards provide a predefined set of quantization step sizes. The used quantization step size (or, equivalently the parameters“scale” and“shift” introduced above) is indicated using an index into the predefined list of quantization step sizes. The index is called quantization parameter (QP). In H.265 | MPEG-H HEVC, the relationship between QP and the quantization step size is approximately given by

Of

D « const · 2 6 .

A slice QP is typically transmitted in the slice header. In general, it is possible to modify the quantization parameter QP on the basis of blocks. For that purpose, a DQP (delta quantization parameter) can be transmitted. The used quantization parameter is determined by the transmitted DQP and a predicted QP value, which is derived using the QPs of already coded (typically neighboring) blocks.

• Quantization weighting matrix: Video coding standards often provide the possibility to use different quantization step sizes for individual transform coefficients. This is achieved by specifying so-called quantization weighting matrices w, which can be selected by the encoder, typically on a sequence or picture level, and are transmitted as part of the bitstream. A quantization weighting matrix w has the same size as the corresponding block of transform coefficients. The quantization step size Aik for a transform coefficient tik is given by

Aik— wik ' Ablock

where Ablock denotes the quantization step size (indicated by the block quantization parameter QP) for the considered block, i and k represent the coordinates specifying the current transform coefficient inside the transform block, and wik represents the corresponding entry in the quantization weighting matrix w.

The main intention of quantization weighting matrices is to provide a possibility for introducing the quantization noise in a perceptual meaningful way. By using appropriate weighting matrices, the spatial contrast sensitivity of human vision can be exploited for achieving a better trade-off between bit rate and subjective reconstruction quality.

Nonetheless, many encoders use a so-called flat quantization matrix (which can be

;

efficiently transmitted using high-level syntax elements). In this case,/ the same quantization step size D is used for all transform coefficients in a block. The quantization step size is then completely specified by the quantization parameter QP.

The block of transform coefficient levels (quantization indexes for the transform coefficients) are entropy coded (i.e., it is transmitted in a lossless manner as part of the bitstream). Since the linear transform can only reduce linear dependencies, the entropy coding for the transform coefficient levels is typically designed in a way that remaining non-linear dependencies between transform coefficient levels in a block can be exploited for an efficient coding. Well known examples are the run-level coding in MPEG-2 Video, the run-level-last coding in H.263 and MPEG-4 Visual, the context-adaptive variable length coding (CAVLC) in H.264 | MPEG-4 AVC, and context-based adaptive binary arithmetic coding (CABAC) in H.264 j MPEG-4 AVC and H.265 | MPEG-H HEVC.

The CABAC specified in the state-of-the-art video coding standard H.265 | MPEG-H HEVC follows a generic concept that can be applied for a large variety of transform block sizes. Transform blocks that are larger than 4x4 samples are partitioned into 4x4 subblocks. The partitioning is illustrated in Fig. 4a and b for the example of a' 16x16 transform block. The coding order of the 4x4 subblocks, shown in Fig. 4a, as well as the coding order of the transform coefficient levels inside a subblock, shown in Fig. 4b, are, in general, specified by the reverse diagonal scan shown in the figures. For certain intrapicture predicted blocks, a horizontal or vertical scan pattern is used (depending on the actual intra prediction mode). The coding order always starts with high-frequency locations.

In H.265 | MPEG-H HEVC, the transform coefficient levels are transmitted on the basis of 4x4 subblocks. The lossless coding of transform coefficient levels includes the following steps:

A syntax element coded_block_flag is transmitted, which signals whether there are any non-zero transform coefficient levels in the transform block. If coded_block_flag is equal to 0, no further data are coded for the transform block. The x and y coordinates of the first non-zero transform coefficient level in coding order (e.g., the block-wise reverse diagonal scan order illustrated in Fig. 4) are transmitted. The transmission of the coordinates is split into a prefix and suffix part. The standard uses the syntax elements last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, and last_sig_coeff_x_suffix.

Starting with the 4x4 subblock that contains the first non-zero transform coefficient level in coding order, the 4x4 subblocks are processed in coding order, where the coding of a subblock includes the following main steps:

a. A syntax element coded_sub_block_flag is transmitted, which indicates whether the subblock contains any non-zero transform coefficient levels. For the first and last 4x4 subblock (i.e. , the subblocks that contain the first non-zero transform coefficient level or the DC level), this flag is not transmitted but inferred to be equal to one.

b. For all transform coefficient levels inside a subblock with coded_sub_bloek_flag equal to one, the syntax element significant_coeff_flag indicates whether the corresponding transform coefficient level is not equal to zero. This flag is only transmitted if its value cannot be inferred based on already transmitted data. In particular, the flag is not transmitted for the first significant scan position (specified by the transmitted x and y coordinates) and it is not transmitted for the DC coefficient if the DC coefficient is located in a different subblock than the first non-zero coefficient (in coding order) and all other significant_coeff_flags for the last subblock are equal to zero.

c. For the first eight transform coefficient levels with significant_coeff_flag equal to one (if any), the flag coeff_abs_level_greater1_flag is transmitted.

f

It indicates whether the absolute value of the transform coefficient level is greater than one.

d. For the first transform coefficient level with coeff_abs Jevel_greater1 _flag equal to one (if any), the flag coeff_a bs J e vel_g reate r2_f I ag is transmitted, it indicates whether the absolute value of the transform coefficient level is greater than two.

e. For all levels with significant_coeff_flag equal to one (an exception is described below), the syntax element coeff_sign_flag is transmitted, which specifies the sign of the transform coefficient level.

f. For all transform coefficient levels for which the absolute value is not already completely specified by the values of significant_coeff_flag, coeff_abs Jevel_greater1 _flag and coeff_abs_level_greater2_flag (the absolute value is completely specified if any of the transmitted flags is equal to zero), the remainder of the absolute value is transmitted using the multi-level syntax element coeff_abs_level_remaining.

In H.265 | MPEG-H HEVC, all syntax elements are coded using context-based adaptive binary arithmetic coding (CABAC). All non-binary syntax elements are first mapped onto a series of binary decisions, which are also referred to as bins. The resulting bin sequence is coded using binary arithmetic coding. For that purpose, each bin is associated with a probability model (binary probability mass function), which is also referred to as a context. For most bins, the context represents an adaptive probability model, which means that the associated binary probability mass function is updated based on the actually coded bin values. Conditional probabilities can be exploited by switching the contexts for certain bins based on already transmitted data. CABAC also includes a so-called bypass mode, in which the fixed probability mass function (0.5, 0.5) is used.

The context that is chosen for the coding of the coded_sub_block_fIag depends on the values of coded_sub_block_flag for already coded neighboring subblocks. The context for the significant_coeff_flag is selected based on the scan position (x and y coordinate) inside a subblock, the size of the transform block, and the values of coded_sub_block_flag in neighboring subblocks. For the flags coeff_abs_level_greater1_flag and coeff_abs_level_greater2_flag, the context selection depends on whether the current subblock includes the DC coefficient and whether any coeff_abs_level_greater1_flag equal to one has been transmitted for the neighboring subblocks. For the coeff_abs_level_greater1_flag, it further depends on the number and the values of the already coded coeff_a bs Je ve l_g reater 1 _f I ag’ s for the subblock.

The signs coeff_sign_flag and the remainder of the absolute values coeff_abs_level_remaining are coded in the bypass mode of the binary arithmetic coder. For mapping coeff_abs_level_remaining onto a sequence of bins (binary decisions), an

adaptive binarization scheme is used. The binarization is controlled by a single parameter, which is adapted based on already coded values for the subblock.

H.265 | MPEG-H HEVC also includes a so-called sign data hiding mode, in which (under certain conditions) the transmission of the sign for that last non-zero level inside a subblock is omitted. Instead, the sign for this level is embedded in the parity of the sum of the absolute values for the levels of the corresponding subblock. Note that the encoder has to consider this aspect in determining appropriate transform coefficient levels.

Video coding standards only specify the bitstream syntax and the reconstruction process. If we consider transform coding for a given block of original prediction error samples and given quantization step sizes, the encoder has a lot a freedom. Given the quantization indexes qk for a transform block, the entropy coding has to follow a uniquely defined algorithm for writing the data to the bitstream (i.e., constructing the arithmetic codeword). But the encoder algorithm for obtaining the quantization indexes qk given an original block of prediction error samples is out of the scope of video coding standards. Furthermore, the encoder has the freedom to select a quantization parameter QP on a block basis. For the following description, we assume that the quantization parameter QP and the quantization weighting matrix are given. Hence, the quantization step size for each transform coefficient is known. We further assume that the encoder performs an analysis transform that is the inverse (or a very close approximation of the inverse) of the specified synthesis transform for obtaining original transform coefficients tk. Even under these conditions, the encoder has the freedom to select a quantizer index qk for each original transform coefficient tk. Since the selection of transform coefficient levels determines both the distortion (or reconstruction/approximation quality) and the bit rate, the quantization algorithm used has a substantial impact on the rate-distortion performance of the produced bitstream.

The simplest quantization method rounds the original transform coefficients tk to the nearest reconstruction levels. For the typically used URQs, the corresponding quantization index qk can be determined according to

Jtkl i

¾— sSn(¾) Ak 2J*

where sgn() is the sign function and the operator H returns the largest integer that is smaller or equal to its argument. This quantization methods guarantees that the MSE distortion

is minimized, but it completely ignores the bit rate that is required for transmitting the resulting transform coefficient levels qk. Typically, better results are obtained if the rounding is biased towards zero:

¾ sgn

The best result in rate-distortion sense is obtained if the quantization process minimizes a Lagrangian function D + - R, where D represent the distortion (e.g., MSE distortion) of the transform block, R specifies the number of bits that are required for transmitting the transform coefficient levels of the block, and A is a Lagrange multiplier.

QP

For codecs that use the relationship D « const · 2 e between QP and quantization step size (such as H.264 | MPEG-4 AVC or H.265 | MPEG-H HEVC), the following relationship between the Lagrange multiplier X and the block quantization parameter QP is often used

QP

X = cx · D2 = c2 · 2 3 ,

where cx and c2 represent constant factors for a slice or picture.

Quantization algorithms that aim to minimize a Lagrange function D + X - R of distortion and rate are also referred to as rate-distortion optimized quantization (RDOQ). If we measure the distortion using the MSE or a weighted MSE, the quantization indexes qk for a transform block should be determined in a way so that the following cost measure is minimized:

At this, the transform coefficient index k specifies the coding order (or scanning order) of transform coefficient levels. The term ?(¾ I¾-i, ¾_2. ) represents the number of bits (or an estimate thereof) that are required for transmitting the quantization index qk. The condition illustrates that (due to the usage of combined or conditional probabilities) the number of bits for a particular transform coefficient level qk typically depends on the chosen values for preceding transform coefficient levels ¾_1, ¾_2, etc. in coding order. The factors ak in the equation above can be used for weighting the contribution of the individual transform coefficients, e.g., for modelling the contrast sensitivity of human vision. In the following, we generally assume that all weightings factor ak are equal to 1 (but the algorithm can be straightforwardly modified in a way that different weighting factors can be taken into account).

For the transform coefficient coding in H.265 | MPEG-H HEVC, an accurate computation of the rate terms is very complicated, since most binary decisions are coded using adaptive probability models. But if we neglect some aspects of the probability model selection and ignore that the probability models are adapted inside a transform block, it is possible to design an RDOQ algorithm with reasonable complexity. The RDOQ algorithm implemented in the reference software for H.265 ( MPEG-H HEVC consists of the following basic processing steps:

1. For each scanning position k, a transform coefficient level qk is selected by minimizing the Lagrangian cost Dk(qk
l Rk(.qk) under the assumption that the level is not inferred to be equal to zero. Dk(qk ) denotes the (weighted) squared error ¾(¾) = ¾ · (tk - Ak qk)2 and Rk(qk ) represents an estimate of the number of bits required for transmitting qk.

2. The flags coded_sub_block_flag for the 4x4 subblocks are determined by comparing the Lagrangian costs for the following two cases: (a) The transform coefficient levels selected in step 1 are used; (b) The syntax element coded_sub_block_fIag is set equal to zero and, thus, all transform coefficient levels of the 4x4 subblock are set equal to zero.

3. The location of the first non-zero transform coefficient levels is determined by comparing the Lagrangian costs that are obtained by choosing one of the non-zero transform coefficient levels (after step 1 ) as first non-zero transform coefficient levels in coding order (the preceding transform coefficient levels are set equal to zero).

4. The coded_biock_flag is determined by comparing the Lagrangian costs for the sequence of transform coefficient levels obtained after step 1 and the case that all transform coefficient levels inside the transform block are set equal to zero.

A modified concept for transform coding is that the transform coefficients are not independently quantized and reconstructed. Instead, the admissible reconstruction levels for a transform coefficient depend on the selected quantization indexes for the preceding transform coefficients in reconstruction order. The concept of dependent scalar quantization is combined with a modified entropy coding, in which the probability model selection (or, alternatively, the codeword table selection) for a transform coefficient depends on the set of admissible reconstruction levels.

The advantage of the dependent quantization of transform coefficients is that the admissible reconstruction vectors are denser packed in the A/~dimensional signal space (where N denotes the number of samples or transform coefficients in a transform block). The reconstruction vectors for a transform block refer to the ordered reconstructed transform coefficients (or, alternatively, the ordered reconstructed samples) of a transform block. This effect is illustrated in Fig. 5a and b for the simplest case of two transform coefficients. Fig. 5a shows the admissible reconstruction vectors (which represent points in the 2d plane) for independent scalar quantization. As it can be seen, the set of admissible values for the second transform coefficient t does not depend on the chosen value for the first reconstructed transform coefficient t0' . Fig. 5b shows an example for dependent scalar quantization. Note that, in contrast to independent scalar quantization, the selectable reconstruction values for the second transform coefficient t[ depend on the chosen reconstruction level for the first transform coefficient t0' . In the example of Fig. 5b, there are two different sets of available reconstruction levels for the second transform coefficient t (illustrated by different colors). If the quantization index for the first transform coefficient tQ' is even (... ,-2,0,2,...), any reconstruction level of the first set (blue points) can be selected for the second transform coefficient t[. And if the quantization index for the first transform coefficient t0' is odd (... ,-3,-1 ,1 ,3, ...), any reconstruction level of the second set (red points) can be selected for the second transform coefficient t . In the example, the reconstruction levels for the first and second set are shifted by half the quantization step size (any reconstruction level of the second set is located between two reconstruction levels of the first set).

The dependent scalar quantization of transform coefficients has the effect that, for a given average number of reconstruction vectors per /V-dimensional unit volume, the expectation value of the distance between a given input vector of transform coefficients and the nearest available reconstruction vector is reduced. As a consequence, the average distortion between the input vector of transform coefficients and the vector reconstructed transform coefficients can be reduced for a given average number of bits. In vector quantization, this effect is referred to as space-filling gain. Using dependent scalar quantization for transform blocks, a major part of the potential space-filling gain for highdimensional vector quantization can be exploited. And, in contrast to vector quantization, the implementation complexity of the reconstruction process (or decoding process) is comparable to that of conventional transform coding with independent scalar quantizers.

A block diagram of a transform decoder with dependent scalar quantization is illustrated in Fig. 6. The main change pertains to the dependent quantization leading to the arrows pointing from top to bottom. As indicated by these vertical arrows, the reconstructed transform coefficient tk' , with reconstruction order index k > 0 does not only depend on the associated quantization index qk, but also on the quantization indexes q0, qt, -- , qk~i for preceding transform coefficients in reconstruction order. Note that in dependent quantization, the reconstruction order of transform coefficients has to be uniquely defined. The performance of the overall transform codec can be improved if the knowledge about the set of reconstruction levels associated with a quantization index qk is also exploited in the entropy coding. That means, it is advantageous to switch contexts (probability models) or codeword tables based on the set of reconstruction levels that applies to a transform coefficient.

As in conventional transform coding, transform encoding in accordance with embodiments outlined herein involve, besides an analysis transform, a quantization algorithm and entropy coding. As analysis transform typically the inverse of the synthesis transform (or a close approximation of the inverse) is used, and the entropy coding is usually uniquely specified given the entropy decoding process. But, similar as in conventional transform coding, there is a lot of freedom for selecting the quantization indexes given the original transform coefficients.

Dependent quantization of transform coefficients refers to a concept in which the set of available reconstruction levels for a transform coefficient depends on the chosen

quantization indexes for preceding transform coefficients in reconstruction order (inside the same transform block).

Multiple sets of reconstruction levels are pre-defined and, based on the quantization indexes for preceding transform coefficients in coding order, one of the predefined sets is selected for reconstructing the current transform coefficient.

The set of admissible reconstruction levels for a current transform coefficient is selected (based on the quantization indexes for preceding transform coefficients in cdding order) among a collection (two or more sets) of pre-defined sets of reconstruction levels. The values of the reconstruction levels of the sets of reconstruction levels are parameterized by a block-based quantization parameter. The block-based quantization parameter (QP) determines a quantization step size D and all reconstruction levels (in all sets of reconstruction levels) represent integer multiples of the quantization step size D. The quantization step size Ak for a particular transform coefficient tk (with k indicating the reconstruction order) may not be solely determined by the block quantization parameter QP, but it is also possible that the quantization step size Ak for a particular transform coefficient tk is determined by a quantization weighting matrix and the block quantization parameter. Typically, the quantization step size Ak for a transform coefficient tk is given by the product of the weighting factor wk for the transform coefficient tk (specified by the quantization weighting matrix) and the block quantization step size Ablock (specified by the block quantization parameter),

In an embodiment, the dependent scalar quantization for transform coefficients uses exactly two different sets of reconstruction levels. And all reconstruction levels of the two sets for a transform coefficient tk represent integer multiples of the quantization step size Ak for this transform coefficient (which is, at least partly, determined by a block-based quantization parameter). Note that the quantization step size Ak just represents a scaling factor for the admissible reconstruction values in both sets. Except of a possible individual quantization step size Ak for the different transform coefficients tk inside a transform block (and, thus, an individual scaling factor), the same two sets of reconstruction levels are used for all transform coefficients.

A preferred configuration for the two sets of reconstruction levels is shown in Fig. 7. The reconstruction levels that are contained in the first quantization set (labeled as set 0 in the figure) represent the even integer multiples of the quantization step size. The second quantization set (labeled as set 1 in the figure) contains all odd integer multiples of the quantization step size and additionally the reconstruction level equal to zero. Note that both reconstruction sets are symmetric about zero. The reconstruction level equal to zero is contained in both reconstruction sets, otherwise the reconstruction sets are disjoint. The union of both reconstruction sets contains all integer multiples of the quantization step size.

The reconstruction levels that the encoder selects among the admissible reconstruction levels have to be indicated, or transmitted, inside the bitstream. As in conventional independent scalar quantization, this can be achieved using so-called quantization indexes, which are also referred to as transform coefficient levels. Quantization indexes (or transform coefficient levels) are integer numbers that uniquely identify the available reconstruction levels inside a quantization set (i.e., inside a set of reconstruction levels). The quantization indexes are sent to the decoder as part of the bitstream (using any entropy coding technique). At the decoder side, the reconstructed transform coefficients can be uniquely calculated based on a current set of reconstruction levels (which is determined by the preceding quantization indexes in coding/reconstruction order) and the transmitted quantization index for the current transform coefficient.

The reconstruction levels in Fig. 7 are labeled with an associated quantization index (the quantization indexes are given by the numbers below the circles that represent the reconstruction levels). The quantization index equal to 0 is assigned to the reconstruction level equal to 0. The quantization index equal to 1 is assigned to the smallest reconstruction level greater than 0, the quantization index equal to 2 is assigned to the next reconstruction level greater than 0 (i.e., the second smallest reconstruction level greater than 0), etc. Or, in other words, the reconstruction levels greater than 0 are labeled with integer numbers greater than 0 (i.e., with 1 , 2, 3, etc.) in increasing order of their values. Similarly, the quantization index -1 is assigned to the largest reconstruction level smaller than 0, the quantization index -2 is assigned to the next (i.e.,. the second largest) reconstruction level smaller than 0, etc. Or, in other words, the reconstruction levels smaller than 0 are labeled with integer numbers less than 0 (i.e., -1, -2, -3, etc.) in decreasing order of their values.

The usage of reconstruction levels that represent Ihteger multiples of a quantization step sizes allow computationally low complex algorithms for the reconstruction of transform coefficients at the decoder side. This is illustrated based on the preferred example of Fig. 7 in the following. The first quantization set includes all even integer multiples of the quantization step size and the second quantization set includes all odd integer multiples of the quantization step size plus the reconstruction level equal to 0 (which is ^contained in both quantization sets). The reconstruction process for a transform coefficient could be implemented similar to the algorithm specified in the pseudo-code of Fig. 8.

In the pseudo-code of Fig. 8, level [k] denotes the quantization index that is transmitted for a transform coefficient tk and setld[k] (being equal to 0 or 1) specifies the identifier of the current set of reconstruction levels (it is determined based on preceding quantization indexes in reconstruction order as will be described in more detail below). The variable n represents the integer multiple of the quantization step size given by the quantization index levelfk] and the set identifier setldfk]. If the transform coefficient is coded using the first set of reconstruction levels (setld[k] == 0), which contains the even integer multiples of the quantization step size Ak, the variable n is two times the transmitted quantization index. If the transform coefficient is coded using the second set of reconstruction levels (setld[k] == 1), we have the following three cases: (a) if level[k] is equal to 0, n is also equal to 0; (b) if level[k] is greater than 0, n is equal to two times the quantization index level[k] minus 1 ; and (c) if levei[k] is less than 0, n is equal to two times the quantization index level[k] plus 1. This can be specified using the sign function

( 1 : x > 0

sign(x) = 1 0 ; x = 0 .

(-1 ; X < 0

Then, if the second quantization set is used, the variable n is equal to two times the quantization index level[k] minus the sign function sign(level[k]) of the quantization index. Once the variable n (specifying the integer factor of the quantization step size) is determined, the reconstructed transform coefficient tk' is obtained by multiplying n with the quantization step size Ak.

As mentioned above, instead of an exact multiplication with the quantization step size Ak, the reconstructed transform coefficient tk' can be obtained by an integer approximation. This is illustrated in the pseudo-code in Fig. 8. Here, the variable shift represents a bit shift to the right. Its value typically depends only on the quantization parameter for the block (but it is also possible that the shift parameter can be changed for different transform coefficients inside a block). The variable scale[k] represents a scaling factor for the transform coefficient tfe; in addition to the block quantization parameter, it can, for example, depend on the corresponding entry of the quantization weighting matrix. The variable add specifies a rounding offset, it is typically set equal to add = (1 «(shift-1)). It should be noted that the integer arithmetic specified in the pseudo-code of Fig. 8 (last line) is, with exception of the rounding, equivalent to a multiplication with a quantization step size Ak, given by

Ak = scale [/c] · 2 shlft.

Another (purely cosmetic) change in Fig. 9 relative to Fig. 8 is that the switch between the two sets of reconstruction levels is implemented using the ternary if-then-else operator ( a ? b : c ), which is known from programming languages such as the C programming language.

Besides the selection of the sets of reconstruction levels discussed above, another task in dependent scalar quantization in transform coding is the algorithm used for switching between the defined quantization sets (sets of reconstruction levels). The used algorithm determines the “packing density" that can be achieved in the A/-dimensional space of transform coefficients (and, thus, also in the A/-dimensional space of reconstructed samples). A higher packing density eventually results in an increased coding efficiency.

In a preferred embodiment, the transition between the quantization sets (set 0 and set 1 ) is determined by a state variable. For the first transform coefficient in reconstruction order, the state variable is set equal to a pre-defined value. Typically, the pre-defined value is equal to 0. The state variable for the following transform coefficients in coding order are determined by an update process. The state for a particular transform coefficient only depends on the state for the previous transform coefficient in reconstruction order and the value of the previous transform coefficient.

The state variable may have four possible values (0, 1 , 2, 3). On the one hand, the state variable specifies the quantization set that is used for the current transform coefficient. The quantization set 0 is used if and only if the state variable is equal to 0 or 1 , and the quantization set 1 is used if and only if the state variable is equal to 2 or 3. On the other hand, the state variable also specifies the possible transitions between the quantization sets.

The state for a particular transform coefficient may, for instance, only depend on the state for the previous transform coefficient in reconstruction order and a binary function of the value of the previous transform coefficient level. The binary function is referred to as path in the following. In a particularly preferred embodiment, the following state transition table is used, where “path” refers to the said binary function of the previous transform coefficient level in reconstruction order.

Table 1: Preferred example of a state transition table for a configuration with 4 states.

The path may be given by the parity of the quantization index. With level[ k ] being the transform coefficient level, it can be determined according to

path = ( level [ k ] & 1 ),

where the operator & represents a bit-wise“and" in two-complement integer arithmetic. The path can also represent other binary functions of level[ k]. As an example, it can specify whether a transform coefficient level is equal or not equal to 0:

level[ k ] == 0

level[ k ] ¹ 0 '

The concept of state transition for the dependent scalar quantization allows low-complexity implementations for the reconstruction of transform coefficients in· a decoder.

A preferred example for the reconstruction process of transform coefficients of a single transform block is shown in Fig. 10 using C-style pseudo-code.

In the pseudo-code of Fig. 10, the index k specifies the reconstruction order of transform coefficients. It should be noted that, in the example code, the index k decreases in reconstruction order. The last transform coefficient has the index equal to k = 0. The first index kstart specifies the reconstruction index (or, more accurately, the inverse reconstruction index) of the first reconstructed transform coefficient. The variable kstart may be set equal to the number of transform coefficients in the transform block minus 1 , or it may be set equal to the index of the first non-zero quantization index (for example, if the location of the first non-zero quantization index is transmitted in the applied entropy coding method) in coding/reconstruction order. In the latter case, all preceding transform coefficients (with indexes k > kstart) are inferred to be equal to 0. The reconstruction process for each single transform coefficient is the same as in the example of Fig. 9. As for the example in Fig. 9, the quantization indexes are represent by level[k] and the associated reconstructed transform are represented by trec[k]. The state variable is represented by state. The 1d table setld[] specifies the quantization sets that are associated with the different values of the state variable and the 2d table state_trans_table[][] specifies the state transition given the current state (first argument) and the path (second argument). As an example, the path could be given by the parity of the quantization index (using the bit-wise and operator &), but other concepts are possible. As a further example, the path could specified whether the transform coefficient is equal or unequal to zero. Examples, in C-style syntax, for the tables are as follows (these tables are identical to Table 1 shown above).

set Id [4] = { 0, 0, 1 , 1 }

state_trans_table[4][2] = { {0,2}, {2,0}, {1 ,3}, {3, 1} }

Instead of using a table state_trans_table[][] for determining the next state, an arithmetic operation yielding the same result can be used. Similarly, the table setld[] could also be implemented using an arithmetic operation. Or the combination of the table look-up using the 1 d table setldQ and the sign function could be implemented using an arithmetic operation.

The main aspect of dependent scalar quantization is that there are different sets of admissible reconstruction levels (also called quantization sets) for the transform coefficients. The quantization set for a current transform coefficient is determined based on the values of the quantization index for preceding transform coefficients. If we consider the example in Fig. 7 and compare the two quantization sets, it is obvious that the distance between the reconstruction level equal to zero and the neighboring reconstruction levels is larger in set 0 than in set 1. Hence, the probability that a quantization index is equal to 0 is larger if set 0 is used and it is smaller if set 1 is used. This effect may be exploited in the entropy coding by switching probability models based on the quantization sets or, more generally, states that are used for a current quantization index.

Note that for a suitable switching of codeword tables or probability models, the path (binary function of the quantization index) of all preceding quantization indexes must be known when entropy decoding a current quantization index (or a corresponding binary decision of a current quantization index).

The quantization indexes may be coded using binary arithmetic coding similar to H.264 | MPEG-4 AVC or H.265 | MPEG-H HEVC. For that purpose, the non-binary quantization indexes are first mapped onto a series of binary decisions (which are commonly referred to as bins).

In the following, various examples are described as to how, i.e. at which order and using which contexts, to binarize and arithmetically encode the quantization indexes resulting from the dependent quantization. Here, the quantization indexes are transmitted as absolute value and, for absolute values greater than 0, a sign. While the sign is transmitted as single bin, there are many possibilities for mapping the absolute values onto a series of binary decisions which manifest themselves in the examples described below. The following description focusses on the coding order and the binarization scheme first and presents various examples therefore. Thereinafter, different examples for context modeling are described. The latter may combined with the former embodiments relating the coding order and binarization schemes , but the former embodiments are not restricted to the latter examples.

Example 1 :

The following binary and non-binary syntax elements are transmitted:

• sig__flag: specifies whether the absolute value of the transform coefficient level is greater than 0;

• if sigjlag is equal to 1 , gt1_fiag: specifies whether the absolute value of the transform coefficient level is greater than 1 ;

• if gt1_flag is equal to 1 , gt2_flag: specifies whether the absolute value of the transform coefficient level is greater than 1 ;

• if gt2_flag is equal to 1 , remainder: Non-binary syntax element specifying the remainder of the absolute level. This syntax element is transmitted in bypass mode of the arithmetic coding engine, for example, using a Golomb-Rice code.

Not present syntax elements are inferred to be equal to 0. At the decoder side the absolute value of the transform coefficient levels is reconstructed as follows:

absLevel = sig_flag + gt1_flag + gt2_flag + remainder

Additional gtX_flag’s may be transmitted or the gt2_flag may be omitted, or both the gt1_flag and gt2_flag may be omitted. The sig_flag and the gtx_f lag's are coded using adaptive context models.

Example 2:

The following binary and non-binary syntax elements are transmitted:

• sig_flag: specifies whether the absolute value of the transform coefficient level is greater than 0;

• if sig_flag is equal to 1 , gt1_flag: specifies whether the absolute value of the transform coefficient level is greater than 1 ;

• if gt1_flag is equal to 1 , then:

o par_flag: specifies the parity of the remainder (i.e. , absolute value - 2) of the absolute value of the transform coefficient level;

o remainder: Non-binary syntax element specifying the remainder (i.e., (absolute value - 2 - par_flag) / 2) of the absolute level. This syntax element is transmitted in bypass mode of the arithmetic coding engine, for example, using a Golomb rice code.

Not present syntax elements are inferred to be equal to 0. At the decoder side the absolute value of the transform coefficient levels is reconstructed as follows:

absLevel = sig_flag + gt1_flag + par_flag + 2 * remainder

Additional gtX_flag’s may be transmitted or the gt1_flag may be omitted. As an example, instead of the remainder above, a gt2_flag (specifying whether the absolute value is greater than 3) and (if gt2_flag is equal to 1) a modified remainder (i.e., (absolute value - 3 - par_flag) / 2) could be transmitted. Then, the absolute value would be constructed according to

absLevel = sig_flag + gt1_flag + par_flag + 2 * ( gt2_flag + remainder )

The sig_f!ag, the gtX_flag’s and the par_flag are coded using adaptive context models.

Example 3:

The following binary and non-binary syntax elements are transmitted:

• sig_flag: specifies whether the absolute value of the transform coefficient level is greater than 0;

• if sig_flag is equal to 1 , then

o parjflag: specifies the parity of the remainder (i.e., absolute value - 1) of the absolute value of the transform coefficient level;

o gt1_flag: specifies whether the remainder (i.e., (absolute value - 1 - par_flag) / 2) of the absolute value of the transform coefficient level is greater than 0;

• if gt1_flag is equal to 1 , gt2_flag: specifies whether the remainder (i.e., (absolute value - 1 - parjlag) / 2) of the absolute value of the transform coefficient level is greater than 1 ;

• if gt2Jlag is equal to 1, remainder: Non-binary syntax element specifying the remainder (i.e., (absolute value - 1 - par_f!ag) / 2 - 2) of the absolute level. This syntax element is transmitted in bypass mode of the arithmetic coding engine, for example, using a Golomb rice code.

Not present syntax elements are inferred to be equal to 0. At the decoder side the absolute value of the transform coefficient levels is reconstructed as follows:

absLevel = sig_flag + parjlag + 2 * (gt1 Jlag + gt2Jlag + remainder)

Additional gtX Iag’s may be transmitted or the gt2Jlag may be omitted. The sig lag, the gtx lag’s and the parjlag are coded using adaptive context models.

Further binarizations are possible.

As to context modelling, the following examples are provided in order to illustrate the mutual implications between binarization, bin/coefficient ordering and context derivation. In a particular example, the syntax for transmitting the quantization indexes of a transform block includes a bin that specifies whether the quantization index is equal to zero or whether it is not equal to 0 (sigjlag introduced above). The probability model that is used for coding this bin may be selected among a set of two or more probability models. The selection of the probability model used depends on the current state variable (the state variables implies the used quantization set). At this, different sets of probability models may be used for all possible values of the state variable, or the possible values of the state variable can be clustered into two or more clusters, and different sets of probability models may be used for each cluster (e.g., a first set of probability models for state 0 and 1 , a second set of probability models for state 2 and a third set of probability models for state 3; or alternatively, a first set of probability models for state 0 and 1 , and a second set of probability models for states 2 and 3).

It is also possible that the chosen probability models for other binary syntax elements (e.g., gt1_flag or par_flag) also depend on the value of the current state variable.

It is advantageous if the dependent quantization of transform coefficients is combined with an entropy coding, in which the selection of a probability model for one or more bins of the binary representation of the quantization indexes (which are also referred to as quantization levels) depends on the state variable for the current quantization index. The state variable is given by the quantization indexes (or a subset of the bins representing the quantization indexes) for the preceding transform coefficients in coding and reconstruction order.

In particular, advantageously, the described selection of probability models is combined with one or more of the following entropy coding aspects:

• The transmission of a flag for the transform block, which specifies whether any of the quantization indexes for the transform block is not equal to zero or whether all quantization indexes for the transform block are equal to zero.

• The partitioning of the coefficients of a transform block (at least, for transform blocks that exceed a pre-defined size given by the dimensions of the block or the number of contained samples) into multiple subblocks. This is exemplarily shown for a transform block 10 in Fig. 12a, where the block’s coefficients 12 are subdivided into subblocks 14, here exemplarily of size 4x4 coefficients. If a transform block is partitioned into multiple subblocks 14, then for one or more of the subblocks a flag is transmitted (unless it is inferred based on already transmitted syntax elements) that specifies whether the subblock contains any non-zero quantization indexes. The subblocks may also be used for specifying the

coding order of bins. For example, the coding of bins can be split into subblocks 14, so that all bins of a subblock are coded before any bin of the next subblock 14 is transmitted. But the bins for a particular subblock 14 can be coded in multiple passes over the transform coefficients inside this subblock. For example, all bins specifying the absolute values of the quantization indexes for the subblock may be coded before any sign bin is coded. The bins for the absolute values can also be split into multiple passes, as discussed above.

• The transmission of the location of the first non-zero in coding order. The location is illustrated in Fig. 12a by being shown in bold. It can be transmitted as x and y coordinates specifying a position in the 2d array of transform coefficients, it can be transmitted as an index into the scan order, or it can be transmitted by any other means. As illustrated in Fig. 12a, the transmitted location of the first non-zero quantization index (or transform coefficient) in coding order specifies that all transform coefficients 12 that precede the identified coefficient in coding order (marked white in Fig. 12a) are inferred to be equal to zero. Further data are only transmitted for the coefficient at the specified location (marked black/bold in Fig. 12a), i.e. the first one in coding order, and the coefficients that follow this coefficient in coding order (marked hatched in Fig. 12a). The example in Fig. 12a shows a 16x16 transform block 10 with 4x4 subblocks 14; the used coding order is the subblock-wise diagonal scan specified in H.265 | MPEG-H HEVC. It should be noted that the coding for the quantization index at the specified location (first nonzero coefficient in coding order) may be slightly modified. For example, if the binarization for the absolute values of the quantization indexes comprises a bin that specifies whether a quantization index is not equal to 0, this bin is not send for the quantization index at the specified location (it is already know that the coefficient is not equal to 0), instead the bin is inferred to be equal to 1.

• The binarization for the absolute values of the quantization indexes includes an adaptively coded bin that specifies whether the quantization index is unequal to 0. The probability model (as referred to a context) used for coding this bin is selected among a set of candidate probability models. The selected candidate probability model may not only be determined by the state variable for the current quantization index, but, in addition, it may also be determined by already transmitted quantization indexes for the transform block. In a preferred embodiment, the state variable determines a subset (also called context set) of the available probability models and the values of already coded quantization indexes determine the used probability model inside this subset (context set).

In a preferred embodiment, the used probability model inside a context set is determined based on the values of the already coded quantization indexes in a local neighborhood 52 of a current transform coefficient 50, i.e. a coefficient one of whose bins is currently encoded/decoded so that the context for same needs to be determined. An example for such a local neighborhood 52 is shown in Fig. 12b. In the figure, the current transform coefficient 50 is marked black and the local neighborhood 52 is marked shaded. In the following, some example measures are listed that can be derived based on the values of the quantization indexes of neighboring coefficients 51 within the local neighborhood 52 and can, then, be used for selecting a probability model of the pre-determined context set.

Furthermore, other data available to the decoder can be used (explicitly or in combination with the measures listed above) for deriving the probability model inside the pre-determined context set. Such data include:

o The position of the current transform coefficient (x coordinate, y coordinate, number of the diagonal, or any combination thereof),

o The size of the current block (vertical size, horizontal size, number of samples, or any combination thereof),

o The aspect ratio of the current transform block.

• The binarization for the absolute values of the quantization indexes includes an adaptively coded bin that specifies whether the absolute value of the quantization index is greater than 1. The probability model (as referred to a context) used for coding this bin is selected among a set of candidate probability models. The selected probability model is determined by already transmitted quantization indexes for the transform block. For selecting the probability model, any of the methods described above (for the bin specifying whether a quantization index is unequal to 0) can be used.

As already noted above, the coding order of the bins of the binarizations of the quantization indices of the coefficients 12 has an impact onto the efficiency of the coding of the block 10. For example, the probability model chosen for at least one of the binary decisions (bins), typically the sig_flag, depends on the value of the current state variable. And since the state variable is determined by the binary function path() of the preceding transform coefficient levels, the coding order of bins has to be arranged in a way that when coding the sig_flag (or, more generally, the binary syntax element for which the probability model depends on the state variable) for a current transform coefficient, that path for all preceding transform coefficients is known.

For example, all bins that specify the absolute value of a quantization index may be consecutively coded. That means, all bins (for the absolute values) of all preceding quantization indexes in coding/reconstruction order are coded before the first bin of a current quantization index. The sign bins may or may not be coded in a separate second pass over the transform coefficients (that may actually depend on the used quantization sets). The sign bins for a subblock may be coded after the bins for the absolute values of the subblock, but before any bins for the next subblock.

In another example, only a subset of the bins that specify the absolute value of a quantization index are consecutively coded in a first pass over the transform coefficients. But these bins uniquely specify the state variable. The remaining bins are coded in one or more additional passes over the transform coefficients. If we assume that the path is specified by the parity of the quantization index, a parity bin is included in the first pass over the transform coefficients. The remaining bins can be transmitted in one or more additional passes. In other embodiments of the invention, similar concepts are used. For example, the number of unary bins can be modified or even adapted based on already transmitted symbol. The different passes can be used on the basis of subblocks, in which case the bins for a subblock are coded in multiple passes, but all bins of a subblock are transmitted before any bin of the next subblock is transmitted.

In the following, some examples are listed for coding the binary decisions in multiple passes:

Example A:

This example uses the binarization of Example 3 above and the path is given by the parity.

• pass 1 : sig_flag, par_flag, gt1_flag

• pass 2: gt2_flag

• pass 3: remainder

• pass 4: sign bits

Example B:

This example uses the binarization of Example 3 above and the path is given by the parity.

• pass 1 : sig_flag, par_flag

• pass 2: gt1_flag

• pass 3: gt2_flag

• pass 4: remainder

• pass 5: sign bits

Example C:

This example uses the binarization of Example 1 above and the path specifies whether the absolute value is greater than 0.

• pass 1 : sig_flag

• pass 2: gt1_flag

• pass 3: gt2_flag

• pass 4: remainder

• pass 5: sign bits

Example D;

This example uses the binarization of Example 2 above and the path is given by the parity.

• pass 1 : sig_flag, gt1_flag, par_flag

• pass 2: remainder

• pass 3: sign bits

Example E:

This example uses the binarization of Example 2 above with an additional gt2_flag; and the path is given by the parity.

• pass 1 : sig_flag, gtl lag, par lag, gt2_flag

• pass 2: remainder

• pass 3: sign bits

As a slight modification of this example, the gt2_flag can also be transmitted in a separate pass.

Further coding orders or combinations are binarizations and coding orders are possible.

For enabling high-throughput decoder implementations, it is preferable to keep the number of context-coded bins (also referred to as regular coded bins) as low as possible (while not degrading performance). This can be achieved (similar to HEVC) by limiting the maximum number of certain bins. The remaining information is coded using the bypass mode of the arithmetic coding engine.

The methods of reducing the maximum number of context-coded bins described hereinafter may be combined with the one or more of the following aspects which were already presented above:

• Multiple sets of reconstruction levels for the quantization of transform coefficients.

In particular, two sets: The first set includes all even integer multiples of the quantization step size; and the second set includes all odd integer multiples of the quantization step size and the zero.

(at least for a part of the transform coefficients inside a transform block)

• The chosen set of reconstruction levels depends on a state variable. The state variable is set equal to 0 for the first coefficient in reconstruction order. For all other coefficients, the following applies. The value of the state variable for a current transform coefficient is determined by the value of the state variable for the preceding transform coefficient level and a binary function (path) of the value of the preceding transform coefficient level.

• The transform coefficient levels are binarized and the bins are entropy coded using binary arithmetic coding. The binarization includes a sig_flag, which specifies whether the transform coefficient level is unequal to zero or not. This flag is coded using an adaptive probability model, where the chosen probability model depends on the value of the state variable for the current transform coefficient (and, potentially, other parameter).

In the following, multiple embodiments for reducing the number of context-coded bins for dependent scalar quantization are described. For these embodiments, the worst case decoding complexity is restricted on the basis of subblocks. Typically, as in HEVC, a larger transform block is split into 4x4 subblocks and the following applies: '

• The syntax for a transform block includes a syntax element (for example, a coded_block_flag) which specifies whether there are any non-zero transform coefficient levels in the transform block. If coded_block_flag is equal to 0, all transform coefficient levels are equal to 0, and no further data is transmitted for the transform block; otherwise (coded_block_flag is equal to 1 ), the following applies;

• the x and y coordinate of the first significant transform coefficient in scanning order is transmitted (this is sometimes referred as last significant coefficient, since the actual scanning order specifies a scanning from high-frequency to low frequency components);

• the scanning of transform coefficients proceeds on the basis of subblocks (typically, 4x4 subblocks); all transform coefficient levels of a subblock are coded before any transform coefficient level of any other subblock is coded; the subblocks are processed in a pre-defined scanning order, starting with the subblock that contains the first significant coefficient in scanning order and ending with the subblock that contains the DC coefficient;

• the syntax includes a coded_subblock_flag, which indicates whether the subblock contains any non-zero transform coefficient levels; for the first and last subblock in scanning order (i.e., the subblock that contains the first significant coefficient in scanning order and the subblock that contains the DC coefficient), this flag is not transmitted, but inferred to be equal to 1 ; when the coded_subblock_flag is transmitted, it is typically transmitted at the start of a subblock;

• for each subblock with coded_subblock_flag equal to 1 , the transform coefficient levels are transmitted in multiple scan passes over the scanning positions of a subblock;

The following embodiments apply to the coding of transform coefficient levels for subblocks with coded_subblock_flag equal to 1. However, the embodiments are not restricted to this case. It is also possible to apply the embodiments to complete transform blocks (without the subblock structure). In this context, it is also possible to use the subblock structure (as described above), but apply the restriction of worst-case complexity (as described below) to complete transform blocks (instead of applying restricting it to the subblocks individually).

Embodiment 1

In the first embodiment, the transform coefficient levels are coded in multiple scan passes.

It has the following properties:

• the state machine for dependent quantization is driven by the parity of transform coefficient levels, i.e., the binary function path( level) returns the parity of its argument;

• the probability models for the sig_flag’s in the first pass are selected based on the corresponding values of the state variable (and, optionally, other parameters available to the decoder, see above);

First pass: In the first pass over the scanning positions, the following context-coded bins are transmitted:

• sigJFlag indicating whether the transform coefficient is not equal to 0; the sig_flag is not transmitted if it can be inferred to be equal to 1 (that is, for example, the case for the first significant scan position in the transform block (the one explicitly signaled by x and y coordinates).

Claims

, Apparatus for decoding a block (10) of transform coefficients, configured to

decode from a data stream

in a sequence of passes (60) which scan transform coefficient locations (12) of the block (10) along a scan order (62),

using context-adaptive binary arithmetic decoding,

flags each of which is out of a set of one or more flag types (92, 96, 98, 104) and

using a variable length code,

remainder values,

so that each flag and each remainder value is decoded for a currently scanned transform coefficient location (50), respectively, and

so that for each transform coefficient location of a coded set of transform coefficient locations, at least one of the one or more flags and one remainder value is decoded sequentially so as to continuously restrict an initial value domain (90) within which an absolute value of a quantization index for a currently scanned transform coefficient location lies to merely include the absolute value of the quantization index for the currently scanned transform coefficient location , wherein each flag restricts a value domain of the absolute value of the quantization index for the currently scanned transform coefficient location to a first subportion or second subportion into which the value domain of the absolute value of the quantization index for the currently scanned transform coefficient location is bi-split, and, if a remainder value is decoded for the current scanned transform coefficient location, the remainder value uniquely indicates an absolute value of the quantization index for the currently scanned transform coefficient location out of the value domain if for the currently scanned transform coefficient location at least one flag is decoded, or out of the initial value domain (90) if for the currently scanned transform coefficient location no flag is decoded,

wherein the apparatus is configured to

sequentially dequantize, using a state transitioning along the scan order by selecting (72), for a current transform coefficient location, a set of reconstruction levels out of a plurality (73) of reconstruction level sets uniquely based on a state which the state transitioning assumes for the current transform coefficient location, and dequantizing (74) the quantization index onto a reconstruction level onto which the quantization index points in the set of reconstruction levels, and

updating (76) the state of the state transitioning assumed for the current transform coefficient location for a transform coefficient location following the current transform coefficient in the scan order depending on the quantization index of the current transform coefficient location.

2. Apparatus of claim 1 , configured to perform the state transitioning transitions between four distinct states.

3. Apparatus of claim 1 or 2, configured to, in updating the state of the state transitioning, perform the updating by deciding between a first successor state (84i) and a second successor state (842) depending on a binary function (86) applied onto the quantization index (80) of the current transform coefficient location, wherein the first successor state and the second successor state depend on the state for the current transform coefficient location.

4. Apparatus of any of claims 1 to 3, wherein the binary function yields the parity or the zeroness.

5. Apparatus of any of claims 1 to 4, configured to

parametrize the plurality (50) of reconstruction level sets (52) by way of a predetermined quantization step size and derive information on the predetermined quantization step size from the data stream.

6. Apparatus of any of claims 1 to 5, wherein each of the plurality (50) of reconstruction level sets (52) consists of integer multiples of a predetermined quantization step size which is constant for the plurality (50) of reconstruction level sets (52) for a current transform coefficient location.

7. Apparatus of any of claims 1 to 6, wherein the number of reconstruction level sets (52) of the plurality (50) of reconstruction level sets (52) is two and the plurality of reconstruction level sets comprises

a first reconstruction level set comprising zero and even multiples of a predetermined quantization step size, and

a second reconstruction level set comprising zero and odd multiples of the predetermined quantization step size.

8. Apparatus of any of claim 1 to 7,

wherein the decoder is configured to

in a first pass of the sequence of passes,

decode from the data stream flags of a predetermined first flag type (92) and flags of a predetermined second flag type (96) in a manner so that flags restricting the value domain of absolute values of quantization indexes for first transform coefficient locations are decoded before flags restricting the value domain of absolute values of quantization indexes for second transform coefficient locations following the first transform coefficient locations in scan order (62), wherein the decoding of the flags of the predetermined second flag type is performed up to and including a predetermined transform coefficient location (112) for which in the first pass (6O1) a predetermined abort criterion is, along the scan order (62), fulfilled a v

first time and the decoding of the flags of the predetermined first flag type (92) Is performed in scan order (62) beyond the predetermined transform coefficient location (112), the flags of the predetermined first flag type (92) being indicative of the quantization index of the currently scanned transform coefficient is zero or not.

9. Apparatus of claim 8, wherein the flags of the predetermined second flag type (96) are indicative of the parity of the quantization index for the currently scanned transform coefficient.

10. Apparatus of any of claims 8 and 9, configured to decode in the first pass (6O1) the flags of the second predetermined flag type (96) exclusively for transform coefficient locations for which, and after, the flags of the first predetermined flag type (92) indicating that the quantization index of the currently scanned transform coefficient is non-zero.

1 1 . Apparatus of claim 8, wherein the predetermined abort criterion relates to whether the number of flags decoded in the first pass (6O1) exceeds a predetermined threshold.

12. Apparatus of any of the preceding claims 8 - 11 configured to decode in the first pass (6O1) also flags of a third predetermined flag type (98) being indicative of the quantization index for the currently scanned transform coefficient location assuming, in terms of absolute value, a smallest value in the value domain or not.

13. Apparatus of claim 12, configured to decode in the first pass (6O1) the flags of the third predetermined flag type exclusively for transform coefficient locations for which, and after, the flags of the first predetermined flag type (92) indicating that the quantization index for the currently scanned transform coefficient is non-zero.

14. Apparatus of claim 13, configured to decode in the first pass (60i), for transform coefficient locations for which, and after, the flags of the first predetermined flag type (92) indicate that the quantization index for the currently scanned transform coefficient location is non-zero, the flags of the third predetermined flag type (98) after the flags of the second predetermined flag type (96).

15. Apparatus of claim 13, configured to decode in the first pass (60i), for transform coefficient locations for which, and after, the flags of the first predetermined flag type (92) indicate that the quantization index for the currently scanned transform coefficient location is non-zero, the flags of the second predetermined flag type (96) exclusively for transform coefficient locations for which the flags of the third predetermined flag type (98) indicate a greatness greater than one.

16. Apparatus of any of the preceding claims 8 - 15, configured to decode in a second pass (6O2), following the first pass (6O1), also flags of a fourth predetermined flag type (104) being indicative of the quantization index for the currently scanned transform coefficient location assuming, in terms of absolute value, a smallest value in the value domain or not as restricted by flags decoded in the first pass (6O1).

17. Apparatus of claim 16, configured to decode in one or more additional passes, following the second pass, the remainder values.

18. Apparatus of any of the preceding claims 8 - 17, configured to decode in one or more passes (603, 6Q4), following the first pass, the remainder values.

19. Apparatus of any of the preceding claims 8 - 18, configured to decode in a last pass (60s) signs of non-zero transform coefficients.

20. Apparatus of any of the preceding claims 8 -19,

wherein the apparatus is configured to

in the state transitioning, perform the update of the state of the state transitioning depending on

if the current transform coefficient location precedes in scan order the predetermined transform coefficient location (112) or is equal to the predetermined transform coefficient location (1 12),

the flag of the second flag type (96) of the current transform coefficient location,

if the current transform coefficient location follows in scan order the predetermined transform coefficient location (1 12),

the flag of the first flag type (92) of the current transform coefficient location,

in the context-adaptive entropy decoding, determine a context for decoding a flag of the predetermined first flag type for the currently scanned transform coefficient, for all of the transform coefficient locations preceding, including and following the predetermined transform coefficient location (112), depending on the state which the state transitioning assumes for the currently scanned transform coefficient location.

21. Apparatus of any of the preceding claims 8 - 19,

wherein the apparatus is configured to

in the context-adaptive entropy decoding, determine a context for decoding a flag of the predetermined first flag type (92) for the currently scanned transform coefficient location, for the transform coefficient locations preceding and including the predetermined transform coefficient location (1 12), depending on the state which the state transitioning assumes for the currently scanned transform coefficient location, and for the transform coefficient locations following the predetermined transform coefficient location (1 12), independent from the state which the state transitioning assumes for the currently scanned transform coefficient location.

22. Apparatus of any of the preceding claims 8 - 19,

wherein the decoder is configured to

in the context-adaptive entropy decoding, determine a context for decoding a flag of the predetermined first flag type (92) for the currently scanned transform coefficient location, for all of the transform coefficient locations preceding, including and following the predetermined transform coefficient location (112), depending on the state which the state transitioning assumes for the currently scanned transform coefficient location, in the state transitioning, perform the update of the state of the state transitioning assumed for the current transform coefficient location for a transform coefficient location following the respective transform coefficient location in the scan order depending on the flag of the first flag type (92) of the current transform coefficient location.

23. Apparatus for decoding a block of transform coefficients, configured to

decode from the data stream

in a sequence of passes (6O1 - 60s) which scan the transform coefficient locations along a scan order,

using context-adaptive binary arithmetic decoding,

flags each of which is out of a set of one or more flag types (92, 96, 98, 104) and

using a variable length code (the bins of the variable-length codewords are decoded in a non-adaptive bypass-mode of a binary arithmetic decoder),

remainder values,

so that each flag and each remainder value is decoded for a currently scanned transform coefficient location (50), respectively, and

so that for each transform coefficient location of a coded set of transform coefficient locations, at least one of the one or more flags and one remainder value is decoded sequentially so as to continuously restrict an initial value domain (90) within which an absolute value of a quantization index for a currently scanned transform coefficient location (50) lies to merely include the absolute value of the quantization index for the currently scanned transform coefficient location, wherein each flag restricts a value domain of the absolute value of the quantization index for the currently scanned

transform coefficient location to a first subportion or second subportion into which the value domain of the absolute value of the quantization index for the currently scanned transform coefficient location is bi-split and, if a remainder value is decoded for the current scanned transform coefficient location, the remainder value uniquely indicates an absolute value of the quantization index for the currently scanned transform coefficient location out of the value domain if for the currently scanned transform coefficient location at least one flag is decoded, or out of the initial value domain if for the currently scanned transform coefficient location no flag is decoded,

wherein the apparatus is configured to

in a first pass (6O1) of the sequence of passes,

decode from the data stream flags of a predetermined first flag type (92) up to (and including) a predetermined transform coefficient location (1 12) for which in the first pass (6O1) a predetermined abort criterion is, along the scan order (62), fulfilled a first time, the flags of the predetermined first flag type (92) being indicative of whether the quantization index for the currently scanned transform coefficient location (50) is zero or not,

decode the flags only for transform coefficient locations up to (and including) the predetermined transform coefficient location (1 12), and decode for each of the coded set of transform coefficient j

locations from (and excluding) the predetermined transform coefficient location (1 12) onwards in scan order (62), in a further pass (603,4) of the sequence of passes, one of the remainder values so that the latter uniquely indicates the absolute value of the quantization index for the respective transform coefficient locations out of the initial value domain (90).

24. Apparatus of claim 23, wherein the decoder is configured to

sequentially dequantize, using a state transitioning along the scan order by selecting (72), for a current transform coefficient location, a set of reconstruction levels out of a plurality (73) of reconstruction level sets uniquely based on a state which the state transitioning assumes for the current transform coefficient location, and dequantizing (74) the quantization index onto a reconstruction level onto which the quantization index points in the set of reconstruction levels, and

updating (76) the state of the state transitioning assumed for the current transform coefficient location for a transform coefficient location following the current transform coefficient in the scan order depending on the quantization index of the current transform coefficient location.

25. Apparatus of claim 24, configured to perform the state transitioning transitions between four distinct states.

26. Apparatus of claim 24 or 25, configured to, in updating the state of the state transitioning, perform the updating by deciding between a first successor state (84i) and a second successor state (842) depending on a binary function (86) applied onto the quantization index (80) of the current transform coefficient location, wherein the first successor state and the second successor state depend on the state for the current transform coefficient location.

27. Apparatus of any of claims 24 to 26, wherein the binary function yields the parity or the zeroness.

28. Apparatus of any of claims 24 to 27, configured to

parametrize the plurality (50) of reconstruction level sets (52) by way of a predetermined quantization step size and derive information on the predetermined quantization step size from the data stream.

29. Apparatus of any of claims 24 to 28, wherein each of the plurality (50) of reconstruction level sets (52) consists of integer multiples of a predetermined quantization step size which is constant for the plurality (50) of reconstruction level sets (52) for a current transform coefficient location.

30. Apparatus of any of claims 24 to 29, wherein the number of reconstruction level sets (52) of the plurality (50) of reconstruction level sets (52) is two and the plurality of reconstruction level sets comprises

a first reconstruction level set comprising zero and even multiples of a predetermined quantization step size, and

a second reconstruction level set comprising zero and odd multiples of the predetermined quantization step size.

31. Apparatus of any of claims 23 to 30, wherein the predetermined abort criterion relates to whether the number of flags decoded in the first pass (6O1) exceeds a predetermined threshold.

32. Apparatus of any of the preceding claims 23 to 31 , configured to decode in the first pass (6O1) also flags of a third predetermined flag type (98) being indicative of the quantization index for the currently scanned transform coefficient location assuming, in terms of absolute value, a smallest value in the value domain or not.

33. Apparatus of claim 32, configured to decode in the first pass (6O1) the flags of the third predetermined flag type exclusively for transform coefficient locations for which, and after, the flags of the first predetermined flag type (92) indicating that the quantization index for the currently scanned transform coefficient is non-zero.

34. Apparatus of claim 33, configured to decode in the first pass (6O1), for transform coefficient locations for which, and after, the flags of the first predetermined· flag type (92) indicate that the quantization index for the currently scanned transform coefficient location is non-zero, the flags of the third predetermined flag type (98) after the flags of a second predetermined flag type (96), where the flags of the second predetermined flag type indicate the parity of the current scanned transform coefficient.

35. Apparatus of claim 33, configured to decode in the first pass (60i), for transform coefficient locations for which, and after, the flags of the first predetermined flag type (92) indicate that the quantization index for the currently scanned transform coefficient location is non-zero, the flags of the second predetermined flag type (96) indicating the parity of the current scanned transform coefficient, exclusively for transform coefficient locations for which the flags of the third predetermined flag type (98) indicate a greatness greater than one.

36. Apparatus of any of the preceding claims 23 - 35, configured to decode in a second pass (6O2), following the first pass (6O1), also flags of a fourth predetermined flag type (104) being indicative of the quantization index for the currently scanned transform coefficient location assuming, in terms of absolute value, a smallest value in the value domain or not as restricted by flags decoded in the first pass (6O1).

37. Apparatus of any of the previous claims, configured to decode bins of the variable length code in a non-adaptive bypass-mode.

38. Apparatus of any of claims 1 to 37, configured to

select the variable length code, out of a pre-defined set of variable length codes, for decoding the remainder value for the currently scanned transform coefficient location differently depending on whether the currently scanned transform coefficient location precedes or is the predetermined transform coefficient location, or follows the predetermined transform coefficient location in scan order.

39. Apparatus of any of claims 1 to 38, configured to

select the variable length code, out of a pre-defined set of variable length codes, for decoding the remainder value for the currently scanned transform coefficient location

by incrementally changing the parameter that indicates the selected variable length code upon the quantization index of a preceding transform coefficient location fulfilling a predetermined criterion, and/or

depending on the quantization indexes of transform coefficient locations in a neighborhood of the currently scanned transform coefficient location,

if the currently scanned transform coefficient location precedes the predetermined transform coefficient location (1 12) or equal to the predetermined transform coefficient location (112).

40. Apparatus of any of claims 1 to 39, configured to

select the variable length code, out of a pre-define parameterized set of variable length codes, for decoding the remainder value for the currently scanned transform coefficient location

depending on the quantization indexes of transform coefficient locations in a neighborhood of the currently scanned transform coefficient location, and depending on the state which the state transitioning assumes for the currently scanned transform coefficient location,

if the currently scanned transform coefficient location follows the predetermined transform coefficient location in scan order.

41. Apparatus of any of claims 23 to 40,

wherein the decoder is configured to

sequentially dequantize using a state transitioning along the scan order by selecting, for a current transform coefficient location, a set of reconstruction levels out of a plurality of reconstruction level sets uniquely based on a state which the state transitioning assumes for the current transform coefficient location, and dequantizing the quantization index onto a reconstruction level onto which the quantization index points in the set of reconstruction levels, and updating the state of the state transitioning assumed for the current transform coefficient location for a transform coefficient location following the current transform coefficient location in the scan order depending on the quantization index for the current transform coefficient location.

42. Apparatus of any of claims 1 to 41 , configured to

perform the decoding so that

for each of the set of one or more flag types,

decode the flags of the respective flag type in one of the sequence of passes.

43. Apparatus of any of the preceding claims, wherein the variable length code is chosen out of a pre-defined set of variable length code, where a single parameter uniquely identifies one variable length code.

44. Apparatus of claim 43, wherein the pre-defined set of variable length codes is a set of Golomb-Rice codes.

45. Apparatus of any of the preceding claims, wherein

the apparatus is configured to select the variable length code, out of a pre-defined set of variable length codes, for decoding the remainder value for the currently scanned transform coefficient location

by incrementally changing the parameter that indicates the selected variable length code upon the quantization index of a preceding transform coefficient location fulfilling a predetermined criterion, and/or

depending on the quantization indexes of transform coefficient locations in a neighborhood of the currently scanned transform coefficient location.

46. Apparatus of any of the preceding claims, configured to

determine the coded set of transform coefficient locations as extending, along the san order, between the location of a first non-zero quantization index (64) in scan order, and a predefined transform coefficient location (66), and

locate the location of the first non-zero quantization index based on the data stream.

47. Apparatus of any of the preceding claims, configured to

decode from the data stream for each non-zero quantization index a sign bit using an equiprobability bypass mode.

48. Apparatus of any of the preceding claims, configured to

decode, using context-adaptive entropy decoding, the flags of the first flag type (92) for a predetermined transform coefficient location by selecting a context depending on

the coefficient position of the predetermined transform coefficient,

49. Apparatus of any of the preceding claims, configured to

decode, using context-adaptive entropy decoding, the flag ^ of the first predetermined flag type (92) for a predetermined transform coefficient location by

determining a local activity based on a set of flags decoded prior to the flag of predetermined flag type (92) of the predetermined transform coefficient location for a set of neighboring transform coefficient locations within a local template (52) around the predetermined transform coefficient location (50), and

selecting a context depending on the local activity.

50. Apparatus of claim 49, wherein

the set of flags comprises the flag of the predetermined first flag type (92), the flag of the predetermined second flag type (96) and the flag of the predetermined third flag type (98) decoded for the set of neighboring transform coefficient locations, and the apparatus is configured to compute the activity based on a sum over an

addend for each of the neighboring transform coefficient locations, the addends indicating a minimally assumed absolute value of the quantization index or a minimally assumed absolute reconstruction level for the neighboring transform coefficient locations determined based on the flag of the predetermined first flag type (92), the flag of the predetermined second flag type (96) and the flag of the predetermined third flag type (98) decoded for the neighboring transform coefficient locations.

51. Apparatus of any of the preceding claims,

wherein the decoder is configured to

sequentially dequantize, using a state transitioning along the scan order by selecting, for each transform coefficient location, a set of reconstruction levels out of a plurality of reconstruction level sets uniquely based on a state which the state transitioning assumes for the respective transform coefficient location, and dequantizing the quantization index onto a reconstruction level onto which the quantization index points in the set of reconstruction levels, and updating the state of the state transitioning assumed for a current transform coefficient location for a transform coefficient location following the current transform coefficient in the scan order depending on the quantization index of the current transform coefficient location,

decode, using context-adaptive entropy decoding, the flag of the first predetermined flag type for a predetermined transform coefficient location by selecting a context depending on

the state which the state transitioning assumes for the predetermined transform coefficient location, and/or

the set of reconstruction levels selected for the predetermined transform coefficient location.

52. Apparatus of any of the preceding claims, configured to

decode, using context-adaptive entropy decoding, the flags of the second flag type (92) for a predetermined transform coefficient location by selecting a context depending on

a coefficient position of the predetermined transform coefficient.

53. Apparatus of any of the preceding claims, configured to

decode, using context-adaptive entropy decoding, the flag of the second predetermined flag type (96) for a predetermined transform coefficient location by

determining a local activity based on a set of flags decoded prior to the flag of the second predetermined flag type of the predetermined transform coefficient location for a set of neighboring transform coefficient locations within a local template (52) around the predetermined transform coefficient location, and/or a number of transform coefficient locations within the local template (52) around the predetermined transform coefficient location, the quantization index of which is not zero, and

selecting a context depending on the local activity and/or the number of non-zero quantization indexes.

54. Apparatus of claim 53, configured to select the context depending on a difference between the local activity and the number of non-zero quantization indexes.

55. Apparatus of claim 52 or 53, wherein

the set of flags comprises the flag of the predetermined first flag type (92), the flag of the predetermined second flag type (96) and the flag of the predetermined third flag type (98) decoded for the set of neighboring transform coefficient locations, and the apparatus is configured to compute the activity based on a sum over an addend for each of the neighboring transform coefficient locations, the addends indicating a minimally assumed absolute value of the quantization index or a minimally assumed absolute reconstruction level for the neighboring transform coefficient locations (51 ) determined based on the flag of the predetermined first flag type (92), the flag of the predetermined second flag type (96) and the flag of the predetermined third flag type (98) decoded for the neighboring transform coefficient locations.

56 Apparatus of any of the preceding claims, configured to

decode, using context-adaptive entropy decoding, a flag of the third predetermined flag type (98) for a predetermined transform coefficient location by selecting a context depending on

a coefficient position of the predetermined transform coefficient.

57. Apparatus of any of the preceding claims, configured to

decode, using context-adaptive entropy decoding, the flag of the third predetermined flag type (98) for a predetermined transform coefficient location by

determining a local activity based on a set of flags decoded prior to the flag of the third predetermined flag type of the predetermined transform coefficient for a set of neighboring transform coefficient locations within a local template around the predetermined transform coefficient location, and/or a number of transform coefficient locations within the local template around the predetermined transform coefficient location, the quantization index of which is not zero, and

selecting a context depending on the local activity and/or the number of non-zero quantization indexes.

58. Apparatus of claim 57, configured to select the context depending on a difference between the local activity and the number of non-zero quantization indexes.

59. Apparatus of claim 57 or 58, wherein

the set of flags comprises the flag of the predetermined first flag type, the flag of the predetermined second flag type and the flag of the predetermined third flag type decoded for the set of neighboring transform coefficient locations, and the apparatus is configured to compute the activity based on a sum over an addend for each of the neighboring transform coefficient locations, the addends indicating a minimally assumed absolute value for the quantization index or a minimally assumed absolute reconstruction level for the neighboring transform coefficient locations determined based on the flag of the predetermined first flag type, the flag of the predetermined second flag type and the flag of the predetermined third flag type decoded for the neighboring transform coefficient locations.

60. Decoder for decoding a transform coefficient block (10), configured to

decode, for each of at least a set of the subblocks (14) into which the transform coefficient block (10) is partitioned, a subblock greatness flag indicative of whether the respective subblock (14) contains any transform coefficient (12) the absolute value of the quantization index of which is greater than a predetermined non-zero threshold, and

decode transform coefficients of the transform coefficient block

within each subblock (14) for which the subblock greatness flag indicates that there is at least one transform coefficient the absolute value of the quantization index of which is greater than the predetermined non-zero threshold,

by sequentially decoding for each of the transform coefficients within the respective subblock

a sequence of one or more flags recursively bi-partitioning a value domain of the respective transform coefficient into two partitions and indicating in which of the two partitions a quantization index of the respective transform coefficient lies, with stopping decoding the sequence as soon as the value domain comprises merely one value or values being equal in absolute sense, and

If the value domain still comprises more than one value differing in the absolute sense, a remainder value indicative of the absolute value of the quantization index of the respective transform coefficient in the value domain, and

within each subblock for which the subblock greatness flag indicates that there is no transform coefficient the absolute value of the quantization index of which is greater than the predetermined non-zero threshold,

by sequentially decoding for each of the transform coefficients within the respective subblock

the sequence of the one or more flags with stopping decoding the sequence as soon as the value domain comprises, only one value not exceeding the non-zero threshold, merely one value, or merely values being equal in absolute sense.

61 . Apparatus of claim 60, wherein

a first flag of the sequence of flags is a significance flag indicative of whether the transform coefficient for which the first flag is decoded is zero or not.

62. Apparatus of claim 61 , wherein

the predetermined non-zero threshold is one, and

the apparatus is configured to

within each subblock for which the subbiock greatness flag indicates that there is no transform coefficient the absolute value of the quantization index of which is greater than one,

sequentially decode for each of the transform coefficients within the respective subblock

the first flag.

63. Apparatus of any of the preceding claims 60 - 62, configured to

decode, for each of at least a further set of the subblocks into which the transform coefficient block is partitioned, a further subblock greatness flag indicative of whether the respective subblock contains any transform coefficient unequal to zero, and

determine the set of subblocks for which the first subblock greatness flag is decoded to consist of the subblocks for which the further subblock greatness flag indicates that same comprises at least one transform coefficient unequal to zero, and

infer that transform coefficients of the transform coefficient block

within each subblock for which the further subblock greatness flag indicates that there is no non-zero transform coefficient,

are all zero.

64. Apparatus for encoding a block (10) of transform coefficients, configured to

encode into a data stream

in a sequence of passes (60) which scan transform coefficient locations (12) of the block (10) along a scan order (62),

using context-adaptive binary arithmetic encoding,

flags each of which is out of a set of one or more flag types (92, 96, 98, 104) and

using a variable length code ,

remainder values,

so that each flag and each remainder value is encoded for a currently scanned transform coefficient location (50), respectively, and

so that for each transform coefficient location of a coded set of transform coefficient locations, at least one of the one or more flags and one remainder value is encoded sequentially so as to continuously restrict an initial value domain (90) within which an absolute value of a quantization index for a currently scanned transform coefficient location lies to merely include the absolute value of the quantization index for the currently scanned transform coefficient location, wherein each flag restricts a value domain of the absolute value of the quantization index for the currently scanned transform coefficient location to a first subportion or second subportion into which the value domain of the absolute value of the quantization index for the currently scanned transform coefficient location is bi-split, and, if a remainder value is encoded for the current scanned transform coefficient location, the remainder value uniquely indicates an absolute value of the quantization index for the currently scanned transform coefficient location out of the value domain if for the currently scanned transform coefficient location at least one flag is encoded, or out of the initial value domain (90) if for the currently scanned transform coefficient location no flag is encoded,

wherein the apparatus is configured to

sequentially quantize, using a state transitioning along the scan order by selecting (72), for a current transform coefficient location, a set of reconstruction levels out of a plurality (73) of reconstruction level sets uniquely based on a state which the state transitioning assumes for the current transform coefficient location, and quantizing (74) the transform coefficient for the current transform coefficient location onto a quantization index, which uniquely indicates a reconstruction level out of the selected set of reconstruction levels, and

updating (76) the state of the state transitioning assumed for the current transform coefficient location a transform coefficient location following the current transform coefficient in the scan order

depending on the quantization index of the current transform coefficient location.

65. Apparatus of claim 64, configured to perform the state transitioning transitions between four distinct states.

66. Apparatus of claim 63 or 65, configured to, in updating the state of the state transitioning, perform the updating by deciding between a first successor state (84i) and a second successor state (842) depending on a binary function (86) applied onto the quantization index (80) of the current transform coefficient location, wherein the first successor state and the second successor state depend on the state for the current transform coefficient location.

67. Apparatus of any of claims 63 - 66, wherein the binary function yields the parity or the zeroness.

68. Apparatus of any of claims 63 - 67, configured to

parametrize the plurality (50) of reconstruction level sets (52) by way of a predetermined quantization step size and insert information on the predetermined quantization step size into the data stream.

69. Apparatus of any of claims 63 - 68, wherein each of the plurality (50) of reconstruction level sets (52) consists of integer multiples of a predetermined quantization step size which is constant for the plurality (50) of reconstruction level sets (52) for a current transform coefficient location.

70. Apparatus of any of claims 63 - 69, wherein the number of reconstruction level sets (52) of the plurality (50) of reconstruction level sets (52) is two and the plurality of reconstruction level sets comprises

a first reconstruction level set comprising zero and even multiples of a predetermined quantization step size, and

a second reconstruction level set comprising zero and odd multiples of the predetermined quantization step size.

71. Apparatus of any of the preceding claims 64 - 70,

wherein the encoder is configured to

in a first pass of the sequence of passes,

encode into the data stream flags of a predetermined first flag type and flags of a predetermined second flag type in a manner so that flags restricting the value domain of absolute values of quantization indexes for first transform coefficient locations are encoded before flags restricting the value domain of absolute values of quantization indexes for second transform coefficient locations following the first transform coefficient locations in scan order (62),, wherein the encoding of the flags of the predetermined second flag type is performed up to and including a predetermined transform coefficient location (112) for which in the first pass (6O1) a predetermined abort criterion is, along the scan order (62), fulfilled a first time and the encoding of the flags of the predetermined first flag type (92) is performed in scan order (62) beyond the predetermined transform coefficient location (112), the flags of the predetermined first flag type (92) being indicative of the quantization index of the currently scanned transform coefficient is zero or not.

72. Apparatus of claim 71 , wherein the flags of the predetermined second flag type (96) are indicative of the parity of the quantization index for the currently scanned transform coefficient.

73. Apparatus of any of the preceding claims 71 - 72, configured to encode in the first pass (60i) the flags of the second predetermined flag type (96) exclusively for transform coefficient locations for which, and after, the flags of the first predetermined flag type (92) indicating that the quantization index of the currently scanned transform coefficient is nonzero.

74. Apparatus of claim 71 , wherein the predetermined abort criterion relates to whether the number of flags encoded in the first pass (6O1) exceeds a predetermined threshold.

75. Apparatus of any of the preceding claims 71 - 74, configured to encode in the first pass (6O1) also flags of a third predetermined flag type (98) being indicative of the quantization index for the currently scanned transform coefficient location assuming, in terms of absolute value, a smallest value in the value domain or not.

76. Apparatus of claim 75, configured to encode in the first pass (6O1) the flags of the third predetermined flag type exclusively for transform coefficient locations for which, and after, the flags of the first predetermined flag type (92) indicating that the quantization index for the currently scanned transform coefficient is non-zero.

77. Apparatus of claim 76, configured to encode in the first pass (60i), for transform coefficient locations for which, and after, the flags of the first predetermined flag type (92) indicates that the quantization index for the currently scanned transform coefficient location is non-zero, the flags of the third predetermined flag type (98) after the flags of the second predetermined flag type (96).

78. Apparatus of claim 76, configured to encode in the first pass (6O1), for transform coefficient locations for which, and after, the flags of the first predetermined flag type (92) indicates that the quantization index for the currently scanned transform coefficient location is non-zero, the flags of the second predetermined flag type (96) exclusively for transform coefficient locations for which the flags of the third predetermined flag type (98) indicate a greatness greater than one.

79. Apparatus of any of the preceding claims 71 - 78, configured to encode in a second pass (602), following the first pass (60i), also flags of a fourth predetermined flag type (104) being indicative of the quantization index for the currently scanned transform coefficient location assuming, in terms of absolute value, a smallest value in the value domain or not as restricted by flags encoded in the first pass (6O1).

80. Apparatus of claim 79, configured to encode in one or more additional passes, following the second pass, the remainder values.

81. Apparatus of any of the preceding claims 71 - 78, configured to encode in one or more passes (6Q3, 604), following the first pass, the remainder values.

82. Apparatus of any of the preceding claims 71 - 81 , configured to encode in a last pass signs (60s) of non-zero transform coefficients.

83. Apparatus of any of the preceding claims 71 - 82,

wherein the encoder is configured to

in the state transitioning, perform the update of the state of the state transitioning depending on

if the current transform coefficient location precedes in scan order the predetermined transform coefficient location (112) or is equal to the predetermined transform coefficient location (1 12),,

the flag of the second flag type (96) of the current transform coefficient location,

if the current transform coefficient location follows in scan order the predetermined transform coefficient location (1 12),

the flag of the first flag type (92) of the current transform coefficient,

in the context-adaptive entropy encoding, determine a context for encoding a flag of the predetermined first flag type for the currently scanned transform coefficient, for all of the transform coefficient locations preceding, including and following the predetermined transform coefficient location (112), depending on the state which the state transitioning assumes for the currently scanned transform coefficient location.

84 Apparatus of any of the preceding claims 71 - 82,

wherein the encoder is configured to

in the context-adaptive entropy encoding, determine a context for encoding a flag of the predetermined first flag type (92) for the currently scanned transform coefficient location, for the transform coefficient locations preceding and including the predetermined transform coefficient location (1 12), depending on the state which the state transitioning assumes for the currently scanned transform coefficient location, and for the transform coefficient locations following the predetermined transform coefficient location (112), independent from the state which the state transitioning assumes for the currently scanned transform coefficient location.

85. Apparatus of any of the preceding claims 71- 82,

wherein the encoder is configured to

in the context-adaptive entropy encoding, determine a context for encoding a flag of the predetermined first flag type (92) for the currently scanned transform coefficient location, for all of the transform coefficient locations preceding, including and following the predetermined transform coefficient location (112), depending on the state which the state transitioning assumes for the currently scanned transform coefficient location,

in the state transitioning, perform the update of the state of the state transitioning assumed for the current transform coefficient location for a transform coefficient location following the respective transform coefficient location in the scan order depending on the flag of the first flag type (92) of the current transform coefficient location.

86. Apparatus for encoding a block of transform coefficients, configured to

encode into the data stream

in a sequence of passes (6O1 - 60s) which scan the transform coefficient locations along a scan order,

using context-adaptive binary arithmetic encoding,

flags each of which is out of a set of one or more flag types (92, 96, 98, 104) and

using a variable length code,

remainder values,

so that each flag and each remainder value is encoded for a currently scanned transform coefficient location (50), respectively, and

so that for each transform coefficient location of a coded set of transform coefficient locations, at least one of the one or more flags and one remainder value (is encoded sequentially so as to continuously restrict an initial value domain (90) within which an absolute value of a quantization index for a currently scanned transform coefficient location (50) lies to merely include the absolute value of the quantization index for the currently scanned transform coefficient location, wherein each flag restricts a value domain of the absolute value of the quantization index for the currently scanned transform coefficient location to a first subportion or second subportion into which the value domain of the absolute value of the quantization index for the currently scanned transform coefficient location is bi-split and, if a remainder value is encoded for the current scanned transform coefficient location, the remainder value uniquely indicates an absolute value of the quantization index for the currently scanned transform coefficient location out of the value domain if for the currently scanned transform coefficient location at least one flag is encoded, or out of the initial value domain if for the currently scanned transform coefficient location no flag is encoded, wherein the apparatus is configured to

in a first pass (6O1) of the sequence of passes,

encode into the data stream flags of a predetermined first flag type (92) up to a predetermined transform coefficient location (112) for which in the first pass (6O1) a predetermined abort criterion is, along the scan order (62), fulfilled a first time, the flags of the predetermined first flag type (92) being indicative of whether the quantization index for the currently scanned transform coefficient location (50) is zero or not,

encode the flags only for transform coefficient locations up to (and including) the predetermined transform coefficient location (1 12), and encode for each of the coded set of transform coefficient locations from the predetermined transform coefficient location (1 12) onwards in scan order (62), in a further pass (603,4) of the sequence of passes, one of the remainder values so that the latter uniquely indicates the absolute value of the quantization index for the respective transform coefficient locations out of the initial value domain (90).

87. Apparatus of claim 86, wherein the apparatus is configured to

sequentially dequantize, using a state transitioning along the scan order by selecting (72), for a current transform coefficient location, a set of reconstruction levels out of a plurality (73) of reconstruction level sets uniquely based on a state which the state transitioning assumes for the current transform coefficient location, and dequantizing (74) the quantization index onto a reconstruction level onto which the quantization index points in the set of reconstruction levels, and

updating (76) the state of the state transitioning assumed for the current transform coefficient location for a transform coefficient location following the current transform coefficient in the scan order depending on the quantization index of the current transform coefficient location.

88. Apparatus of claim 87, configured to perform the state transitioning transitions between four distinct states.

89. Apparatus of claim 87 or 88, configured to, in updating the state of the state transitioning, perform the updating by deciding between a first successor state (84i) and a second successor state (842) depending on a binary function (86) applied onto the quantization index (80) of the current transform coefficient location, wherein the first successor state and the second successor state depend on the state for the current transform coefficient location.

90. Apparatus of any of claims 87 to 89, wherein the binary function yields the parity or the zeroness.

91. Apparatus of any of claims 87 to90, configured to

parametrize the plurality (50) of reconstruction level sets (52) by way of a predetermined quantization step size and derive information on the predetermined quantization step size from the data stream.

92. Apparatus of any of claims 87 to91 , wherein each of the plurality (50) of reconstruction level sets (52) consists of integer multiples of a predetermined quantization step size which is constant for the plurality (50) of reconstruction level sets (52) for a current transform coefficient location.

93. Apparatus of any of claims 87 to 92, wherein the number of reconstruction level sets (52) of the plurality (50) of reconstruction level sets (52) is two and the plurality of reconstruction level sets comprises

a first reconstruction level set comprising zero and even multiples of a predetermined quantization step size, and

a second reconstruction level set comprising zero and odd multiples of the predetermined quantization step size.

94. Apparatus of claim 86, wherein the predetermined abort criterion relates to whether the number of flags encoded in the first pass (6O1) exceeds a predetermined threshold.

95. Apparatus of any of the preceding claims 86 to 94 configured to encode in the first pass (6O1) also flags of a third predetermined flag type (98) being indicative of the

quantization index for the currently scanned transform coefficient location assuming, in terms of absolute value, a smallest value in the value domain or not.

96. Apparatus of claim 95, configured to encode in the first pass (6O1) the flags of the third predetermined flag type exclusively for transform coefficient locations for which, and after, the flags of the first predetermined flag type (92) indicating that the quantization index for the currently scanned transform coefficient is non-zero.

97. Apparatus of claim 96, configured to encode in the first pass (60i), for transform coefficient locations for which, and after, the flags of the first predetermined flag type (92) indicate that the quantization index for the currently scanned transform coefficient location is non-zero, the flags of the third predetermined flag type (98) after the flags of a second predetermined flag type (96), where the flags of the second predetermined flag type indicate the parity of the current scanned transform coefficient.

98. Apparatus of claim 96, configured to encode in the first pass (60i), for transform coefficient locations for which, and after, the flags of the first predetermined flag type (92) indicate that the quantization index for the currently scanned transform coefficient location is non-zero, the flags of the second predetermined flag type (96) indicating the parity of the current scanned transform coefficient, exclusively for transform coefficient locations for which the flags of the third predetermined flag type (98) indicate a greatness greater than one.

99. Apparatus of any of the preceding claims 86 - 98, configured to encode in a second pass (602), following the first pass (6O1), also flags of a fourth predetermined flag type (104) being indicative of the quantization index for the currently scanned transform coefficient location assuming, in terms of absolute value, a smallest value in the value domain or not as restricted by flags encoded in the first pass (60i).

100. Apparatus of any of the previous claims, configured to encode bins of the variable length code in a non-adaptive bypass-mode.

101. Apparatus of claim 86 or 94, configured to

select the variable length code, out of a pre-define parameterized set of variable length codes, for encoding the remainder value for the currently scanned transform coefficient location differently depending on whether the currently scanned transform coefficient location precedes or is the predetermined transform

coefficient location, or follows the predetermined transform coefficient location in scan order.

102. Apparatus of any of claims 86 or 94 or 101 , configured to

select the variable length code, out of a pre-define parameterized set of variable length codes, for encoding the remainder value for the currently scanned transform coefficient location

by incrementally changing the parameter that indicates the selected variable length code upon the quantization index of a preceding transform coefficient location fulfilling a predetermined criterion, and/or

depending on the quantization indexes of transform coefficient locations in a neighborhood of the currently scanned transform coefficient location,

if the currently scanned transform coefficient location precedes the predetermined transform coefficient location (1 2) or equal to the predetermined transform coefficient location (112).

103. Apparatus of claim 86 or 94 or 101 or 102, configured to

select the variable length code, out of a pre-define parameterized set of variable length codes, for encoding the remainder value for the currently scanned transform coefficient location

depending on the quantization indexes of transform coefficient locations in a neighborhood of the currently scanned transform coefficient location, and depending on the state which the state transitioning assumes for the currently scanned transform coefficient location,

if the currently scanned transform coefficient location follows the predetermined transform coefficient location in scan order.

104. Apparatus of any of claims 86 to 103,

wherein the apparatus is configured to

sequentially quantize using a state transitioning along the scan order by selecting, for a current transform coefficient location, a set of reconstruction levels out of a plurality of reconstruction level sets uniquely based on a state which the state transitioning assumes for the current transform coefficient location, and quantizing the transform coefficient for the current transform coefficient location onto a quantization index, which uniquely indicates a reconstruction level out of the selected set of reconstruction levels, and

updating the state of the state transitioning assumed for a current transform coefficient location a transform coefficient location following the current transform coefficient location in the scan order depending on the quantization index for the current transform coefficient location.

105. Apparatus of any of claims 64 - 85 or 86 - 104, configured to

perform the encoding so that

for each of the set of one or more flag types,

encode the flags of the respective flag type in one of the sequence of passes.

106. Apparatus of any of the preceding claims, wherein the variable length code is chosen out of a pre-defined parameterized set of variable length code, where a single parameter uniquely identifies one variable length code.

107. Apparatus of claim 106, wherein the pre-defined set of variable length codes is a set of Golomb-Rice codes.

108. Apparatus of any of the preceding claims, wherein

the apparatus is configured to select the variable length code, out of a pre-defined set of variable length codes, for encoding the remainder value for the currently scanned transform coefficient location

by incrementally changing the parameter that indicates the selected variable length code upon the quantization index of a preceding transform coefficient location fulfilling a predetermined criterion, and/or

depending on the quantization indexes of transform coefficient locations in a neighborhood of the currently scanned transform coefficient location.

109. Apparatus of any of the preceding claims, configured to

determine the coded set of transform coefficient locations as extending, along the san order, between the location of a first non-zero quantization index (64) in scan order, and a predefined transform coefficient location (66), and

encode the location of the first non-zero quantization index into the data stream.

110. Apparatus of any of the preceding claims, configured to

encode into the data stream for each non-zero quantization index a sign bit using an equiprobabilty bypass mode.

1 1 1. Apparatus of any of the preceding claims, configured to

encode, using context-adaptive entropy encoding, the flags of the first flag type (92) for a predetermined transform coefficient location by selecting a context depending on

the coefficient position of the predetermined transform coefficient.

1 12. Apparatus of any of the preceding claims, configured to

encode, using context-adaptive entropy encoding, the flag of the first predetermined flag type (92) for a predetermined transform coefficient location by

determining a local activity based on a set of flags encoded prior to the flag of predetermined flag type (92) of the predetermined transform coefficient location for a set of neighboring transform coefficient locations within a local template (52) around the predetermined transform coefficient location (50), and

selecting a context depending on the local activity.

1 13. Apparatus of claim 1 12, wherein

the set of flags comprises the flag of the predetermined first flag type (92), the flag of the predetermined second flag type (96) and the flag of the predetermined third flag type (98) encoded for the set of neighboring transform coefficient locations, and the apparatus is configured to compute the activity based on a sum over an addend for each of the neighboring transform coefficient locations, the addends indicating a minimally assumed absolute value of the quantization index or a minimally assumed absolute reconstruction level for the neighboring transform coefficient locations determined based on the flag of the predetermined first flag type (92), the flag of the predetermined second flag type (96) and the flag of the predetermined third flag type (98) encoded for the neighboring transform coefficient locations.

1 14. Apparatus of any of the preceding claims,

wherein the encoder is configured to

sequentially quantize, using a state transitioning along the sc^n order by selecting, for each transform coefficient location, a set of reconstruction levels out of a plurality of reconstruction level sets uniquely based on a state which the state transitioning assumes for the respective transform coefficient location, and quantizing the transform coefficient for the current transform coefficient location onto a quantization index, which uniquely indicates a reconstruction level out of the selected set of reconstruction levels, and

updating the state of the state transitioning assumed for a current transform coefficient location a transform coefficient location following the current transform coefficient in the scan order depending on the quantization index of the current transform coefficient location,

encode, using context-adaptive entropy encoding, the flag of the first predetermined flag type for a predetermined transform coefficient location by selecting a context depending on

the state which the state transitioning assumes for the predetermined transform coefficient location, and/or

the set of reconstruction levels selected for the predetermined transform coefficient location.

1 15. Apparatus of any of the preceding claims, configured to

encode, using context-adaptive entropy encoding, the flags of the second flag type (92) for a predetermined transform coefficient location by selecting a context depending on

a coefficient position of the predetermined transform coefficient.

1 16. Apparatus of any of the preceding claims, configured to

encode, using context-adaptive entropy encoding, the flag of the second predetermined flag type (96) for a predetermined transform coefficient location by

determining a local activity based on a set of flags encoded prior to the flag of the second predetermined flag type of the predetermined transform coefficient location for a set of neighboring transform coefficient locations within a local template (52) around the predetermined transform coefficient location, and/or a number of transform coefficient locations within the local template (52) around the predetermined transform coefficient location, the quantization index of which is not zero, and

selecting a context depending on the local activity and/or the number of non-zero quantization indexes,

1 17. Apparatus of claim 116, configured to select the context depending on a difference between the local activity and the number of non-zero quantization indexes.

1 18. Apparatus of claim 1 15 or 1 16, wherein

the set of flags comprises the flag of the predetermined first flag type (92), the flag of the predetermined second flag type (96) and the flag of the predetermined third flag type (98) encoded for the set of neighboring transform coefficient locations, and the apparatus is configured to compute the activity based on a sum over an addend for each of the neighboring transform coefficient locations, the addends indicating a minimally assumed absolute value of the quantization index or a minimally assumed absolute reconstruction level for the neighboring transform coefficient locations (51) determined based on the flag of the predetermined first flag type (92), the flag of the predetermined second flag type (96) and the flag of the predetermined third flag type (98) encoded for the neighboring transform coefficient locations.

1 19. Apparatus of any of the preceding claims, configured to

encode, using context-adaptive entropy encoding, a flag of the third predetermined flag type (98) for a predetermined transform coefficient location by selecting a context depending on

a coefficient position of the predetermined transform coefficient.

120. Apparatus of any of the preceding claims, configured to

encode, using context-adaptive entropy encoding, the flag of the third predetermined flag type (98) for a predetermined transform coefficient location by

determining a local activity based on a set of flags encoded prior to the flag of the third predetermined flag type of the predetermined transform coefficient for a set of neighboring transform coefficient locations within a local template around the predetermined transform coefficient location, and/or a number of transform coefficient locations within the local template around the predetermined transform coefficient location, the quantization index of which is not zero, and

selecting a context depending on the local activity and/or the number of non-zero quantization indexes.

121. Apparatus of claim 120, configured to select the context depending on a difference between the local activity and the number of non-zero quantization indexes.

122. Apparatus of claim 1 19 or 120, wherein

the set of flags comprises the flag of the predetermined first flag type, the flag of the predetermined second flag type and the flag of the predetermined third flag type encoded for the set of neighboring transform coefficient locations, and the apparatus is configured to compute the activity based on a sum over an addend for each of the neighboring transform coefficient locations, the addends indicating a minimally assumed absolute value for the quantization index or a minimally assumed absolute reconstruction level for the neighboring transform coefficient locations determined based on the flag of the predetermined first flag type, the flag of the predetermined second flag type and the flag of the predetermined third flag type encoded for the neighboring transform coefficient locations.

123. Encoder for encoding a transform coefficient block (10), configured to

encode, for each of at least a set of the subblocks (14) into which the transform coefficient block (10) is partitioned, a subblock greatness flag indicative of whether the respective subblock (14) contains any transform coefficient (12) the absolute value of the quantization index of which is greater than a predetermined non-zero threshold, and

encode transform coefficients of the transform coefficient block

within each subblock (14) for which the subblock greatness flag indicates that there is at least one transform coefficient the absolute value of the quantization index of which is greater than the predetermined non-zero threshold,’

by sequentially encoding for each of the transform coefficients within the respective subblock

a sequence of one or more flags recursively bi-partitioning a value domain of the respective transform coefficient into two partitions and indicating in which of the two partitions a quantization index of the respective transform coefficient lies, with stopping encoding the sequence as soon as the value domain comprises merely one value or values being equal in absolute sense, and

If the value domain still comprises more than one value differing in the absolute sense, a remainder value indicative of the absolute value of the quantization index of the respective transform coefficient in the value domain, and

within each subblock for which the subblock greatness flag indicates that there is no transform coefficient the absolute value of the quantization index of which is greater than the predetermined non-zero threshold,

by sequentially encoding for each of the transform coefficients within the respective subblock

the sequence of the one or more flags with stopping encoding the sequence as soon as the value domain comprises, only one value not exceeding the non-zero threshold, merely one value, or merely values being equal in absolute sense.

124. Apparatus of claim 123, wherein

a first flag of the sequence of flags is a significance flag indicative of whether the transform coefficient for which the first flag is encoded is zero or not.

125. Apparatus of claim 124, wherein

the predetermined non-zero threshold is one, and

the apparatus is configured to

within each subblock for which the subblock greatness flag indicates that there is no transform coefficient the absolute value of the quantization index of which is greater than one,

by sequentially encoding for each of the transform coefficients within the respective subblock

the first flag.

126. Apparatus of any of the preceding claims 123 - 125, configured to

encode, for each of at least a further set of the subblocks into which the transform coefficient block is partitioned, a further subblock greatness flag indicative of whether the respective subblock contains any transform coefficient unequal to zero, and

determine the set of subblocks for which the first subblock greatness flag is encoded to consist of the subblocks for which the further subblock greatness flag indicates that same comprises at least one transform coefficient unequal to zero, and

so that a decoder may infer that transform coefficients of the transform coefficient block within each subblock for which the further subblock greatness flag indicates that there is no non-zero transform coefficient,

are all zero.

127, Method for decoding a block (10) of transform coefficients, comprising

decoding from a data stream

in a sequence of passes (60) which scan transform coefficient locations (12) of the block (10) along a scan order (62),

using context-adaptive binary arithmetic decoding,

flags each of which is out of a set of one or more flag types (92, 96, 98, 104) and

using a variable length code,

remainder values,

so that each flag and each remainder value is decoded for a currently scanned transform coefficient location (50), respectively, and

so that for each transform coefficient location of a coded set of transform coefficient locations, at least one of the one or more flags and one remainder value is decoded sequentially so as to continuously restrict an initial value domain (90) within which an

absolute value of a quantization index for a currently scanned transform coefficient location lies to merely include the absolute value of the quantization index for the currently scanned transform coefficient location , wherein each flag restricts a value domain of the absolute value of the quantization index for the currently scanned transform coefficient location to a first subportion or second subportion into which the value domain of the absolute value of the quantization index for the currently scanned transform coefficient location is bi-split, and, if a remainder value is decoded for the current scanned transform coefficient location, the remainder value uniquely indicates an absolute value of the quantization index for the currently scanned transform coefficient location out of the value domain if for the currently scanned transform coefficient location at least one flag is decoded, or out of the initial value domain (90) if for the currently scanned transform coefficient location no flag is decoded,

wherein the method comprises

sequentially dequantize, using a state transitioning along the scan order by selecting (72), for a current transform coefficient location, a set of reconstruction levels out of a plurality (73) of reconstruction level sets uniquely based on a state which the state transitioning assumes for the current transform coefficient location, and dequantizing (74) the quantization index onto a reconstruction level onto which the quantization index points in the set of reconstruction levels, and

updating (76) the state of the state transitioning assumed for the current transform coefficient location for a transform coefficient location following the current transform coefficient in the scan order depending on the quantization index of the current transform coefficient location.

128. Method for decoding a block of transform coefficients, comprising

decode from the data stream

in a sequence of passes (6O1 - 60s) which scan the transform coefficient locations along a scan order,

using context-adaptive binary arithmetic decoding,

flags each of which is out of a set of one or more flag types (92, 96, 98, 104) and

using a variable length code (the bins of the variable-length codewords are decoded in a non-adaptive bypass-mode of a binary arithmetic decoder),

remainder values,

so that each flag and each remainder value is decoded for a currently scanned transform coefficient location (50), respectively, and

so that for each transform coefficient location of a coded set of transform coefficient locations, at least one of the one or more flags and one remainder value is decoded sequentially so as to continuously restrict an initial value domain (90) within which an absolute value of a quantization index for a currently scanned transform coefficient location (50) lies to merely include the absolute value of the quantization index for the currently scanned transform coefficient location, wherein each flag restricts a value domain of the absolute value of the quantization index for the currently scanned transform coefficient location to a first subportion or second subportion into which the value domain of the absolute value of the quantization index for the currently scanned transform coefficient location is bi-split and, if a remainder value is decoded for the current scanned transform coefficient location, the remainder value uniquely indicates an absolute value of the quantization index for the currently scanned transform coefficient location out of the value domain if for the currently scanned transform coefficient location at least one flag is decoded, or out of the initial value domain if for the currently scanned transform coefficient location no flag is decoded,

wherein the method comprises

in a first pass (6O1) of the sequence of passes,

decode from the data stream flags of a predetermined first flag type (92) up to (and including) a predetermined transform coefficient location (112) for which in the first pass (6O1) a predetermined abort criterion is, along the scan order (62), fulfilled a first time, the flags of the predetermined first flag type (92) being indicative of whether the quantization index for the currently scanned transform coefficient location (50) is zero or not,

decode the flags only for transform coefficient locations up to (and including) the predetermined transform coefficient location (1 12), and decode for each of the coded set of transform coefficient locations from (and excluding) the predetermined transform coefficient location (1 12) onwards in scan order (62), in a further pass (603,4) of the sequence of passes, one of the remainder values so that the latter uniquely indicates the absolute value of the quantization index for the respective transform coefficient locations out of the initial value domain (90).

129. Method for decoding a transform coefficient block (10), comprising

decode, for each of at least a set of the subblocks (14) into which the transform coefficient block (10) is partitioned, a subblock greatness flag indicative of whether the respective subblock (14) contains any transform coefficient (12) the absolute value of the quantization index of which is greater than a predetermined non-zero threshold, and

decode transform coefficients of the transform coefficient block

within each subblock (14) for which the subblock greatness flag indicates that there is at least one transform coefficient the absolute value of the quantization index of which is greater than the predetermined non-zero threshold,

by sequentially decoding for each of the transform coefficients within the respective subblock

a sequence of one or more flags recursively bi-partitioning a value domain of the respective transform coefficient into two partitions and indicating in which of the two partitions a quantization index of the respective transform coefficient lies, with stopping decoding the sequence as soon as the value domain comprises merely one value or values being equal in absolute sense, and

If the value domain still comprises more than one value differing in the absolute sense, a remainder value indicative of the absolute value of the quantization index of the respective transform coefficient in the value domain, and

within each subblock for which the subblock greatness flag indicates that there is no transform coefficient the absolute value of the quantization index of which is greater than the predetermined non-zero threshold,

by sequentially decoding for each of the transform coefficients within the respective subblock

the sequence of the one or more flags with stopping decoding the sequence as soon as the value domain comprises, only one value not exceeding the non-zero threshold, merely one value, or merely values being equal in absolute sense.

Method for encoding a block (10) of transform coefficients, comprising

encode into a data stream

in a sequence of passes (60) which scan transform coefficient locations (12) of the block (10) along a scan order (62),

using context-adaptive binary arithmetic encoding,

flags each of which is out of a set of one or more flag types (92, 96, 98, 104) and

using a variable length code ,

remainder values,

so that each flag and each remainder value is encoded for a currently scanned transform coefficient location (50), respectively, and

so that for each transform coefficient location of a coded set of transform coefficient locations, at least one of the one or more flags and one remainder value is encoded sequentially so as to continuously restrict an initial value domain (90) within which an absolute value of a quantization index for a currently scanned transform coefficient location lies to merely include the absolute value of the quantization index for the currently scanned transform coefficient location, wherein each flag restricts a value domain of the absolute value of the quantization index for the currently scanned transform coefficient location to a first subportion or second subportion into which the value domain of the absolute value of the quantization index for the currently scanned transform coefficient location is bi-split, and, if a remainder value is encoded for the current scanned transform coefficient location, the remainder value uniquely indicates an absolute value of the quantization index for the currently scanned transform coefficient location out of the value domain if for the currently scanned transform coefficient location at least one flag is encoded, or out of the initial value domain (90) if for the currently scanned transform coefficient location no flag is encoded,

wherein the method comprising

sequentially quantize, using a state transitioning along the scan order by selecting (72), for a current transform coefficient location, a set of reconstruction levels out of a plurality (73) of reconstruction level sets uniquely based on a state which the state transitioning assumes for the current transform coefficient location, and quantizing (74) the transform coefficient for the current transform coefficient location onto a quantization index, which uniquely indicates a reconstruction level out of the selected set of reconstruction levels, and

updating (76) the state of the state transitioning assumed for the current transform coefficient location a transform coefficient location following the current transform coefficient in the scan order depending on the quantization index of the current transform coefficient location.

131. Method for encoding a block of transform coefficients, comprising

encode into the data stream

in a sequence of passes (6O1 - 60s) which scan the transform coefficient locations along a scan order,

using context-adaptive binary arithmetic encoding,

flags each of which is out of a set of one or more flag types (92, 96, 98, 104) and

using a variable length code,

remainder values,

so that each flag and each remainder value is encoded for a currently scanned transform coefficient location (50), respectively, and

so that for each transform coefficient location of a coded set of transform coefficient locations, at least one of the one or more flags and one remainder value (is encoded sequentially so as to continuously restrict an initial value domain (90) within which an absolute value of a quantization index for a currently scanned transform coefficient location (50) lies to merely include the absolute value of the quantization index for the currently scanned transform coefficient location, wherein each flag restricts a value domain of the absolute value of the quantization index for the currently scanned transform coefficient location to a first subportion or second subportion into which the value domain of the absolute value of the quantization index for the currently scanned transform coefficient location is bi-split and, if a remainder value Is encoded for the current scanned transform coefficient location, the remainder value uniquely indicates an absolute value of the quantization index for the currently scanned transform coefficient location out of the value domain if for the currently scanned transform coefficient location at least one flag is encoded, or out of the initial value domain if for the currently scanned transform coefficient location no flag is encoded,

wherein the method comprising

in a first pass (6O1) of the sequence of passes,

encode into the data stream flags of a predetermined first flag type (92) up to a predetermined transform coefficient location (1 12) for which in the first pass (6O1) a predetermined abort criterion is, along the scan order (62), fulfilled a first time, the flags of the predetermined first flag type (92) being indicative of whether the quantization index for the currently scanned transform coefficient location (50) is zero or not,

encode the flags only for transform coefficient locations up to (and including) the predetermined transform coefficient location (112), and encode for each of the coded set of transform coefficient locations from the predetermined transform coefficient location (112) onwards in scan order (62), in a further pass (603,4) of the sequence of passes, one of the remainder values so that the latter uniquely indicates the absolute value of the quantization index for the respective transform coefficient locations out of the initial value domain (90).

132. Method for encoding a transform coefficient block (10), comprising

encode, for each of at least a set of the subblocks (14) into which the transform coefficient block (10) is partitioned, a subblock greatness flag indicative of whether the respective subblock (14) contains any transform coefficient (12) the absolute value of the quantization index of which is greater than a predetermined non-zero threshold, and

encode transform coefficients of the transform coefficient block

within each subbiock (14) for which the subblock greatness flag indicates that there is at least one transform coefficient the absolute value of the quantization index of which is greater than the predetermined non-zero threshold,

by sequentially encoding for each of the transform coefficients within the respective subblock

a sequence of one or more flags recursively bi-partitioning a value domain of the respective transform coefficient into two partitions and indicating in which of the two partitions a quantization index of the respective transform coefficient lies, with stopping encoding the sequence as soon as the value domain comprises merely one value or values being equal in absolute sense, and

If the value domain still comprises more than one value differing in the absolute sense, a remainder value indicative of the absolute value of the quantization index of the respective transform coefficient in the value domain, and

within each subblock for which the subblock greatness flag indicates that there is no transform coefficient the absolute value of the quantization index of which is greater than the predetermined non-zero threshold,

by sequentially encoding for each of the transform coefficients within the respective subblock

the sequence of the one or more flags with stopping encoding the sequence as soon as the value domain comprises, only one value not exceeding the non-zero threshold, merely one value, or merely values being equal in absolute sense.

133. Data stream encoded by a method according to any of claims 130 to 132.

134. Computer program having a program code for performing, when running on a computer, a method according to any of claims 127 to 132.

Documents

Application Documents

# Name Date
1 202137012256-STATEMENT OF UNDERTAKING (FORM 3) [22-03-2021(online)].pdf 2021-03-22
2 202137012256-FORM 1 [22-03-2021(online)].pdf 2021-03-22
3 202137012256-FIGURE OF ABSTRACT [22-03-2021(online)].pdf 2021-03-22
4 202137012256-DRAWINGS [22-03-2021(online)].pdf 2021-03-22
5 202137012256-DECLARATION OF INVENTORSHIP (FORM 5) [22-03-2021(online)].pdf 2021-03-22
6 202137012256-COMPLETE SPECIFICATION [22-03-2021(online)].pdf 2021-03-22
7 202137012256-MARKED COPIES OF AMENDEMENTS [25-03-2021(online)].pdf 2021-03-25
8 202137012256-FORM 13 [25-03-2021(online)].pdf 2021-03-25
9 202137012256-AMMENDED DOCUMENTS [25-03-2021(online)].pdf 2021-03-25
10 202137012256-FORM 18 [10-04-2021(online)].pdf 2021-04-10
11 202137012256-Proof of Right [22-05-2021(online)].pdf 2021-05-22
12 202137012256-FORM-26 [02-06-2021(online)].pdf 2021-06-02
13 202137012256-MARKED COPIES OF AMENDEMENTS [03-06-2021(online)].pdf 2021-06-03
14 202137012256-FORM 13 [03-06-2021(online)].pdf 2021-06-03
15 202137012256-AMMENDED DOCUMENTS [03-06-2021(online)].pdf 2021-06-03
16 202137012256-Information under section 8(2) [24-08-2021(online)].pdf 2021-08-24
17 202137012256.pdf 2021-10-18
18 202137012256-FER.pdf 2022-02-11
19 202137012256-Response to office action [21-02-2022(online)].pdf 2022-02-21
20 202137012256-POA [02-04-2022(online)].pdf 2022-04-02
21 202137012256-FORM 13 [02-04-2022(online)].pdf 2022-04-02
22 202137012256-AMENDED DOCUMENTS [02-04-2022(online)].pdf 2022-04-02
23 202137012256-FORM 4(ii) [02-08-2022(online)].pdf 2022-08-02
24 202137012256-Information under section 8(2) [11-08-2022(online)].pdf 2022-08-11
25 202137012256-FORM 3 [22-08-2022(online)].pdf 2022-08-22
26 202137012256-OTHERS [11-11-2022(online)].pdf 2022-11-11
27 202137012256-FER_SER_REPLY [11-11-2022(online)].pdf 2022-11-11
28 202137012256-DRAWING [11-11-2022(online)].pdf 2022-11-11
29 202137012256-COMPLETE SPECIFICATION [11-11-2022(online)].pdf 2022-11-11
30 202137012256-CLAIMS [11-11-2022(online)].pdf 2022-11-11
31 202137012256-ABSTRACT [11-11-2022(online)].pdf 2022-11-11
32 202137012256-FORM 3 [13-02-2023(online)].pdf 2023-02-13
33 202137012256-FORM 3 [29-04-2023(online)].pdf 2023-04-29
34 202137012256-FORM 3 [20-10-2023(online)].pdf 2023-10-20
35 202137012256-US(14)-HearingNotice-(HearingDate-12-02-2025).pdf 2025-01-30
36 202137012256-Correspondence to notify the Controller [07-02-2025(online)].pdf 2025-02-07
37 202137012256-FORM-26 [11-02-2025(online)].pdf 2025-02-11
38 202137012256-Written submissions and relevant documents [19-02-2025(online)].pdf 2025-02-19
39 202137012256-PatentCertificate10-03-2025.pdf 2025-03-10
40 202137012256-IntimationOfGrant10-03-2025.pdf 2025-03-10

Search Strategy

1 searchstrategyE_10-02-2022.pdf
2 JVET-J0014-v4E_10-02-2022.pdf

ERegister / Renewals

3rd: 18 Mar 2025

From 24/09/2021 - To 24/09/2022

4th: 18 Mar 2025

From 24/09/2022 - To 24/09/2023

5th: 18 Mar 2025

From 24/09/2023 - To 24/09/2024

6th: 18 Mar 2025

From 24/09/2024 - To 24/09/2025

7th: 18 Mar 2025

From 24/09/2025 - To 24/09/2026