Low-delay sample array encoding
Patent Information
- Application Number
- ES2024166609T
- Authority / Receiving Office
- ES · ES
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2012-07-16
- Filing Date
- 2012-07-16
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2032-07-16
Smart Images

Figure 00000028_0000 
Figure 00000029_0000 
Figure 00000029_0001
Abstract
Description
Low-delay sample array encoding This application relates to the encoding of sample arrays, such as image or video encoding. Parallelizing the encoder and decoder is crucial due to the increased processing requirements of the HEVC standard, as well as the anticipated rise in video resolution. Multi-core architectures are being implemented in a wide variety of modern electronic devices. Therefore, efficient methods are needed to enable the use of multi-core architectures. LCU encoding and decoding are performed using frame scanning, whereby the CABAC probability is adapted to the specific characteristics of each image. There are spatial dependencies between adjacent LCUs. Each LCU (largest coding unit) depends on its adjacent LCUs to the left, top, top left, and top right due to various components, such as motion vector, prediction, intraprediction, and others. Because parallelization is enabled during decoding, these dependencies typically need to be broken, or are broken, in current applications of the technique. Several parallelization concepts, specifically wavefront processing, have been proposed. The motivation for further study is to develop techniques that reduce coding efficiency loss and, therefore, reduce the bitstream load for parallelization approaches at the encoder and decoder. Furthermore, low-latency processing was not possible with the available techniques. The document D1 FÃ CR R LIX HENRY ET AL: "Wavefront Parallel Processing", 96. MPEG MEETING; 21-3-2011-25-3-2011; GENEVA; (MOTION PICTURE EXPERT GROUP OR ISO / IEC JTC1 / SC29 / WG11), no. m19714, March 19, 2011 (2011-03-19), discloses wavefront processing. Therefore, the object of the present invention is to provide a coding concept for sample arrays that allows for less delay with lower penalties, in comparison, in coding efficiency. This objective is achieved through the content of the attached independent claims. If the entropy coding of a current portion of a predetermined entropy segment is based not only on the respective probability estimates of the predetermined entropy segment adapted using the previously coded portion of the predetermined entropy segment, but also on probability estimates used in the entropy coding of a spatially adjacent, preceding entropy segment in the order of entropy segments, the probability estimates used in the entropy coding are more closely matched to the actual symbolic statistics, thus reducing the decrease in coding efficiency normally caused by low-latency concepts. Temporal interrelationships can be further or alternatively exploited. For example, the dependence of probability estimates used in entropy coding on a spatially adjacent, preceding entropy segment in the sequence of entropy segments may involve initializing the probability estimates at the beginning of the entropy coding of that predetermined segment. Typically, the probability estimates are initialized to values adapted to symbolic statistics of a representative mixture of sample array material. To avoid the transmission of the initial values for the probability estimates, these are known by convention to both the encoder and the decoder.However, such predefined initialization values are, of course, simply a compromise between the bit rate of additional information, on the one hand, and encoding efficiency, on the other, since such initialization values naturally deviate—to a greater or lesser degree—from the actual sample statistics of the sample array material currently being encoded. Probability adaptation during the encoding of an entropy segment adapts the probability estimates to the actual symbolic statistics.This process is accelerated by initializing the probability estimates at the beginning of the entropy coding of the current / default entropy segment using already adapted probability estimates from the spatially adjacent, preceding entropy segment in the order of entropy segments mentioned above. This is because these latter values have already been, to some extent, adapted to the actual symbolic statistics of the sample array currently in question. Low-latency coding may be possible, however, by using, when initializing the probability estimates for the default / current entropy segments, the probability estimate used in the adjacent part of those segments, instead of manifesting at the end of the entropy coding of the preceding entropy segment. With this measure, wavefront processing remains possible. Furthermore, the aforementioned dependence of probability estimates used in entropy coding on the spatially adjacent entropy segment, preceding it in the entropy segment order, can imply the adaptation process of adjusting the probability estimates used when encoding the current / default entropy segment itself. Probability estimate adaptation involves using the newly encoded portion—that is, the newly encoded symbol(s)—to adapt the current state of the probability estimates to the actual symbolic statistics. With this measure, the initialized probability estimates are adapted to the actual symbolic statistics at a certain rate.This adaptation rate increases when performing the aforementioned adaptation probability estimate, based not only on the currently encoded symbol of the current / default entropy segment, but also on the probability estimates that manifest in an adjacent portion of the spatially adjacent, preceding entropy segment in the entropy segment order. Again, by selecting the spatial adjacency of the current portion of the current entropy segment and the adjacent portion of the preceding entropy segment, appropriate wavefront processing is still possible.The benefit of coupling the probability estimation adaptation along the current entropy segment with the probability adaptation of the preceding entropy segment is the increased rate at which adaptation to actual symbolic statistics takes place, since the number of symbols traversed in the current and previous entropy segments contributes to the adaptation, rather than simply the symbols in the current entropy segment. Advantageous implementations of embodiments of the present invention are the subject of the dependent claims. In addition, preferred embodiments are described with respect to the figures, among which Figure 1 shows a block diagram of an example encoder; Figure 2 shows a schematic diagram of segmenting an image into segments and segmented parts (e.g., blocks or encoding units) along with the encoding orders defined between them; Figure 3 shows a flowchart of the functionality of an example encoder like the one in Figure 1; Figure 4 shows a schematic diagram to explain the functionality of an example encoder like the one in Figure 1; Figure 5 shows a schematic diagram for a parallel operational implementation of an encoder and a decoder; Figure 6 shows a block diagram of an example decoder; Figure 7 shows a flowchart of the functionality of an example decoder like the one in Figure 6; Figure 8 shows a schematic diagram for an example bitstream resulting from the encoding scheme of Figures 1 to 6; Figure 9 schematically shows an example of how to calculate the probability using other LCUs; Figure 10 shows a graph illustrating the RD results for Intra (4 wires) compared to HM3.0; Figure 11 shows a graph showing the RD results for Low Delay (1 wire), compared to HM3.0; Figure 12 shows a graph illustrating the RD results for Random Access (1 thread), compared to HM3.0; Figure 13 shows a graph displaying the RD results for Low Delay (4 wires), compared to HM3.0; Figure 14 schematically illustrates, as an example, the possible combinations of entropy segments. Figure 15 schematically illustrates, as an example, a possible signaling of an entropy segment. Figure 16 schematically illustrates, as an example, the encoding, segmentation, interleaving, and decoding of entropy segment data through fragments. Figure 17 schematically illustrates, as an example, a possible combination of squares; Figure 18 schematically illustrates, as an example, a possible use of juxtaposed information; Figure 19 schematically shows the possibility of a wavefront that runs obliquely in the spacetime spanned by matrices of consecutive samples; and Figure 20 schematically shows another example of subdividing entropy segments into fragments. To facilitate understanding of the measures described below for achieving low latency with less penalty to encoding efficiency, the encoder in Figure 1 is first described in more general terms without preliminarily analyzing the beneficial concepts of embodiments of the present application and how they can be integrated into the embodiment of Figure 1. It should be mentioned, however, that the structure shown in Figure 1 serves merely as an illustrative environment in which the embodiments of the present application can be used. Generalizations and alternatives for the encoders and decoders according to the embodiments of the present invention are also briefly described. Figure 1 shows an encoder for encoding a sample array 10 resulting in an entropy-encoded data stream 20. As shown in Figure 1, the sample array 10 can be one of a sequence 30 of sample arrays and the encoder can be configured to encode the sequence 30 resulting in the data stream 20. The encoder in Figure 1 is generally indicated by the reference symbol 40 and comprises a pre-encoder 42 followed by an entropy encoding phase 44, the output of which emits a data stream 20. The pre-decoder 42 is configured to receive and act upon an array of samples 10 in order to describe its contents by means of the syntactic elements of a predetermined syntax, each syntactic element being a respective type from a predetermined set of types of syntactic elements which, in turn, are associated with a respective semantics. By describing the sample array 10 using syntactic elements, the precoder 42 can subdivide the sample array 10 into coding units 50. The term "coding unit" can, for reasons explained in more detail later, be alternatively called "tree coding units" (CTUs). One way in which the precoder 42 can subdivide the sample array 10 into coding units 50 is shown as an example in Figure 2. According to this example, the subdivision regularly divides the sample array 10 into coding units 50 such that the latter are arranged in rows and columns to cover the entire sample array 10 without gaps or overlap. In other words, the precoder 42 can be configured to describe each coding unit 50 by means of syntactic elements.Some of these syntactic elements can form subdivision information to further subdivide the respective encoding unit 50. For example, by means of subdivision into multiple trees, the subdivision information can describe a subdivision of the respective encoding unit 50 into prediction blocks 52, associating the precoder 42 with a prediction mode with associated prediction parameters for each of these prediction blocks 52. This prediction subdivision can allow the prediction blocks 52 to be of different sizes, as illustrated in Figure 2. The precoder 42 can also associate residual subdivision information with the prediction blocks 52 in order to further subdivide the prediction blocks 52 into residual blocks 54, thus describing the prediction residue per prediction block 52.Therefore, the precoder can be configured to generate a syntactic description of the sample array 10 according to a hybrid encoding scheme. However, as previously stated, the aforementioned method by which the precoder 42 describes the sample array 10 using syntactic elements has been presented merely for illustrative purposes and can also be implemented differently. The precoder 42 can take advantage of the spatial interrelationships between the contents of adjacent encoding units 50 in the sample array 10. For example, the precoder 42 can predict syntactic elements for a given encoding unit 50 from syntactic elements determined for previously encoded encoding units 50 that are spatially adjacent to the currently encoded encoding unit 50.In Figures 1 and 2, for example, the above and left neighbors are used for prediction, as illustrated by arrows 60 and 62. Furthermore, precoder 42 can, in an intraprediction mode, extrapolate previously encoded content from encoding units 50 adjacent to the current encoding unit 50 to obtain a sample prediction for the current encoding unit 50. As shown in Figure 1, precoder 42 can, in addition to leveraging spatial interrelationships, temporally predict samples and / or syntactic elements for a current encoding unit 50 from previously encoded sample arrays, as illustrated in Figure 1 by arrow 64.That is, the precoder 42 can use motion-compensated prediction and the motion vectors themselves can be subjected to time prediction from motion vectors of previously encoded sample arrays. That is, the precoder 42 can describe the contents of the sample array 10 by coding units and can, for this purpose, use spatial prediction. Spatial prediction is limited to each coding unit 50 spatially adjacent coding units of the same sample array 10 such that, by following a coding order 66 among the coding units 50 of the sample array 10, the adjacent coding units that serve as a prediction reference for spatial prediction have generally been traversed by the coding orders 66 preceding the current coding unit 50. As illustrated in Figure 2, the coding order 66 defined among the coding units 50 can, for example, be a frame scan order according to which the coding units 50 are traversed row by row from top to bottom.Optionally, a subdivision of matrix 10 into a tile matrix can cause the scan order 66 to traverse—in a raster scan order—the coding units 50 that first comprise a tile before preceding the next in a tile order that, in turn, may also be of a raster scan type. For example, spatial prediction might simply involve adjacent coding units 50 within a row of coding units above the row of coding units within which the current coding unit 50 lies, and one coding unit within the same row of coding units, but to the left of the current coding unit. As will be explained in more detail later, this limitation on the spatial / spatial prediction interrelationship makes parallel wavefront processing possible. Precoder 42 forwards the syntactic elements to the entropy encoding phase 44. As just mentioned, some of these syntactic elements have been predictively encoded; that is, they represent residual predictions. Precoder 42 can therefore be considered a predictive encoder. Furthermore, precoder 42 can be a transformation encoder configured to transform code residues from the content prediction of the encoding units 50. An example internal structure of the entropy coding phase 44 is also shown in Figure 1. As shown, the entropy coding phase 44 may optionally comprise a symbolizer for converting each syntactic element received from the pre-encoder 42, whose number of possible states exceeds the cardinality of the symbol alphabet, resulting in a sequence of symbols from the symbol alphabet on which the entropy coding engine 44 operates. In addition to this optional symbolizer 70, the entropy coding engine 44 may comprise a context selector 72 and an initializer 74, a probability estimation manager 76, a probability estimation adapter 78, and an entropy coding kernel 80. The output of the entropy coding kernel constitutes the output of the entropy coding phase 44.Furthermore, the entropy coding kernel 80 comprises two inputs, specifically one to receive the symbols si from the symbol sequence and another to receive a probability estimate pi for each of the symbols. Due to the properties of entropy coding, coding efficiency in terms of compression rate increases with an improvement in probability estimation: the better the agreement of the probability estimate with the actual symbolic statistics, the better the compression rate. In the example in Figure 1, context selector 72 is configured to select, for each symbol si, a corresponding context ci from a set of available contexts managed by manager 76. However, it should be noted that context selection is merely an optional feature and can be disregarded, for example, by using the same context for each symbol. Nevertheless, if context selection is used, context selector 72 can be configured to perform context selection based at least partially on information related to encoding units outside the current encoding unit, specifically related to adjacent encoding units within the limited neighborhood discussed earlier. Manager 76 comprises a storage that stores, for each available context, an associated probability estimate. For example, the symbol alphabet might be a binary alphabet, so simply a probability value might need to be stored for each available context. Initializer 74 can intermittently initialize or reinitialize the probability estimates stored within manager 76 for the available contexts. The possible times at which such initialization can occur will be discussed later. Adapter 78 has access to the symbol pairs siya and their corresponding probability estimates pi and adapts the probability estimates within manager 76 accordingly. That is, whenever a probability estimate is applied by the entropy-coding kernel 80 in order to entropy-code the respective symbol si, resulting in data flow 20, adapter 78 can vary this probability estimate according to the value of this current symbol si, so that this probability estimate pi is better adapted to the actual symbolic statistics when the next symbol associated with that probability estimate (through its context) is encoded.That is, adapter 78 receives the probability estimate for the selected context from manager 76 along with the corresponding symbol siy and adapts the probability estimate pi accordingly so that the adaptive probability estimate is used for the next symbol si of the same context ci. The entropy encoding kernel 80 is, for example, configured to operate according to either an arithmetic encoding scheme or an entropy encoding scheme that segments into probability intervals. In arithmetic encoding, the entropy encoding kernel 80 would, for example, continuously update its state while encoding the symbol sequence, with the state defined by a probability interval defined by a probability interval width value and a probability interval offset value, for example.Operating within the pipeline concept, the entropy coding core 80 would subdivide, for example, the domain of possible probability estimate values into different intervals, performing fixed-probability entropy coding on each of these intervals. This would yield a substream for each subinterval, the coding efficiency of which is tailored to the associated probability interval. In the case of entropy coding, the output of data stream 20 would be an arithmetically coded data stream that points to additional decoding information, enabling emulation or repetition of the interval subdivision process. Of course, it would be possible for the entropy-coding phase 44 to entropy-code all the information—that is, all the syntactic elements / symbols—relative to the sample array 10 by initializing the probability estimates simply once at the beginning of the phase and then continuously updating the probability estimates by the adapter 78. However, this could result in a data stream 20 that would have to be decoded sequentially on the decoding side. In other words, there would be no possibility for an encoder to subdivide the resulting data stream into several sub-slices and decode the sub-slices in parallel. This, in turn, would hinder any low-latency efforts. Consequently, as will be discussed in more detail later, it is advantageous to subdivide the amount of data describing the sample array 10 into so-called entropy segments. Each of these entropy segments would therefore encompass a different set of syntactic elements relating to the sample array 10. If the entropy-coding phase 44, however, were to entropy-code each entropy segment completely independently of one another by first initializing the probability estimate once and then continuously updating the probability estimate for each entropy segment individually, then the coding efficiency would be reduced due to the larger percentage of data relating to, and describing, the sample array 10 for which the probability estimates used are (still) less accurately matched to the actual symbolic statistics. In order to overcome the problems just mentioned by accommodating the desire for low-delay coding on the one hand, and high-efficiency coding on the other, the following coding scheme can be employed, which is now described with reference to Figure 3. First, the data describing the sample matrix 10 are subdivided into portions called "entropy segments" below. Subdivision 80 does not have to be free of overlap. Moreover, this subdivision could correspond, at least in part, to a spatial subdivision of the sample matrix 10 into different portions. That is, according to subdivision 80, the syntactic elements describing the sample matrix 10 can be distributed across different entropy segments depending on the location of the encoding unit 50 to which the corresponding syntactic element refers. See, for example, Figure 2. Figure 2 shows an example subdivision of a sample matrix 10 into different portions 12. Each portion corresponds to a respective entropy segment. As shown for the sake of example, each portion 12 corresponds to a row of encoding units 50. However, other subdivisions are also possible.However, it is advantageous for the subdivision of the sample matrix 10 into 12 portions to follow the coding order 66 mentioned above, such that the 12 portions encompass consecutive series of coding units 12 along the coding order 66. Even so, the start and end positions of each 12 portion along the coding order 66 do not have to coincide with the left and right ends of the rows of coding units 50, respectively. Even a match with the edges of the coding units 50 occurs immediately afterward, and the coding order 66 is not mandatory. By subdividing the sample matrix 10 in this way, an order of entropy segments 16 is defined between portions 12 along which the portions 12 succeed each other along the coding order 66. Moreover, for each entropy segment, a respective entropy coding path 14 is defined, namely, the fragment of the coding path 66 that runs to the respective portion 12. In the example in Figure 2, where the portions 12 coincide with the rows of coding units 50, the entropy coding paths 14 of each entropy segment point along the row direction, parallel to each other, i.e., from left to right. It should be noted that it would be possible to limit the spatial predictions made by precoder 42 and the context deductions made by context selector 72 in such a way that the boundaries between segments are not crossed; that is, in such a way that the spatial predictions and context selections do not depend on data corresponding to another entropy segment. In this way, the "entropy segments" would correspond to the usual definition of "segments" in H.264, for example, which are fully decodable independently of each other, except for the probability initialization / adaptation dependency discussed later.However, it would also be feasible to allow spatial predictions and context selections—that is, dependencies in general terms—to cross segment boundaries in order to leverage local / spatial interdependencies while WPP processing remains feasible, even with regard to precoding inversion, i.e., reconstruction based on syntactic elements and entropy context selection. In this sense, entropy segments would correspond in some way to "dependent segments." Subdivision 80 can be performed, for example, by the entropy coding stage 44. The subdivision can be fixed or can vary between the sequence matrix 30. The subdivision can be fixed by convention or can be signaled in the data stream 20. Based on the entropy segments, true entropy coding can take place, i.e., 82. For each entropy segment, entropy coding can be structured into an initiation stage 84 and a continuation stage 86. The initiation stage 84 involves, for example, the initialization of the probability estimates as well as the activation of the true entropy coding process for the respective entropy segment. True entropy coding is then performed during the continuation stage 86. Entropy coding during stage 86 is performed along the respective entropy coding path 14. The initiation stage 84 for each entropy segment is controlled such that the entropy coding of the plurality of entropy segments begins sequentially using the entropy segment order 16. Now, in order to avoid the penalty described above, which would result from encoding each segment completely independently by entropy, the entropy coding process 82 is controlled in such a way that a current part, for example, a current coding unit of a current entropy segment, is entropy-coded based on the respective probability estimates of the current entropy segment adapted using the previously coded part of the current entropy segment, i.e., the part of the current entropy segment to the left of the current coding unit 50 in the case of Figure 2, and the probability estimates used in the entropy coding of the spatially adjacent entropy segment, preceding in the order of entropy segments 16, in an adjacent part, i.e., an adjacent coding unit, of the same. To describe the aforementioned dependency more clearly, reference is made to Figure 4. Figure 4 shows the entropy segments n-1, n-1, and n+1 in the entropy segment order 16 with the reference sign 90. Each entropy segment 90 encompasses the sequence of syntactic elements that describe the portion 12 of the sample matrix 10 to which the respective entropy segment 90 is associated. Along the entropy coding path 14, the entropy segment 19 is segmented into a sequence of segments 92, each of which corresponds to a respective coding unit of the coding units 50 of the portion 12 with which the entropy segment 90 is related. As described above, the probability estimates used to entropy-code the entropy segments 90 are continuously updated during the continuation stage 86 along the entropy-coding path 14, such that the probability estimates become increasingly better suited to the actual symbolic statistics of the respective entropy segment 90—that is, the probability estimates become associated with the respective entropy segment. Although the probability estimates 94 used to entropy-code the entropy segment 90 during the continuation stage 86 are continuously updated, only the states of the probability estimates 94 that occur at the start and end positions of the segments 92 are illustrated and discussed below in Figure 4.Specifically, the state prior to entropy coding of the first segment 92 as initialized during the initial stage 84 is shown in 96, the state that manifests after encoding the first segment is illustrated in 98, and the state that manifests after encoding the first two segments is indicated in 100. The same elements are shown in Figure 4 also for the entropy segment n-1 in the segment order 16 and the next entropy segment, i.e., the n+1 segment. Now, to achieve the dependency described above, the initial state 96 for the entropy coding of the entropy segment n 90 is established depending on any intermediate state of the probability estimates 94 that manifest during the encoding of the preceding entropy segment n-1. "Intermediate state" refers to any state of the probability estimates 94, excluding the initial state 96 and the final state that manifests after the entropy coding of the entire entropy segment n-1.In this way, the entropy coding of the sequence of entropy segments 90 along the order of entropy segments 16 can be parallelized with a degree of parallelization determined by the proportion of the number of segments 92 that precede the state used for the initialization of the probability estimates 94 for the entropy coding of the next entropy segment, i.e., a, and a number of segments 92 that follow this phase, i.e., b. Specifically, in Figure 4, a is set by way of example to be equal to, with the initialization, i.e., the adaptation of state 100 such that the state 96 of the current entropy segment is set to be equal to the state 100 of the preceding entropy segment, as illustrated by arrow 104. By this measure, the entropy coding of any segment 92 after state 100 in the order of the entropy coding path 14 would depend on the probability estimate 94 adapted during the continuation stage 86 based on the preceding segments of the same entropy segment, as well as the probability estimate used in the entropy coding of the third segment 92 of the preceding entropy segment 90. Consequently, entropy coding of the 90 entropy segments could be performed in parallel in pipeline planning. The only limitations imposed on timing would be that the entropy coding of some entropy segments could begin immediately after the entropy coding of the 92 segment of the preceding entropy segment is completed. The 90 entropy segments that immediately follow in the order of 16 entropy segments are not subject to any other limitations regarding the timing of the entropy coding procedure during continuation stage 86. However, according to another embodiment, a stronger coupling is used either additionally or alternatively. Specifically, as shown in Figure 4 by representative arrows 106, the probability estimation adaptation during the continuation stage 86 causes the encoding unit data corresponding to a given segment 92 to change the probability estimates 94 from the state at the beginning of the respective segment 92 to the end of this segment 92, thereby improving the approximation of the actual symbolic statistics as previously mentioned. That is, the adaptation 106 is performed for the entropy segment n-1 depending only on data from the entropy segment n-1, and the same applies to the probability estimation adaptation 106 of the entropy segment n, and so on.For example, it would be possible to perform the initialization as explained above with respect to arrows 104 by performing the probability estimation fitting 106 without further interference between entropy segments 90. However, to accelerate the probability estimation approximation of real symbolic statistics, the probability estimation fitting 106 of consecutive entropy segments could be coupled in such a way that the probability estimation fitting 106 of a preceding entropy segment n-1 also influences, or is taken into account, when fitting the probability estimation fitting of a current entropy segment n.This is illustrated in Figure 4 by an arrow 108 pointing from state 110 of spatially adjacent probability estimates 94 to entropy-code the entropy segment n-190 to state 100 of probability estimates 94 to entropy-code the entropy segment n-90. By using the initialization state 96 described above, the probability estimation coupling 108 can be used, for example, in any of the probability estimation states b that manifest after entropy-coding the segments b 92 of the preceding entropy segment.To be more precise, the probability estimates that appear after entropy-coding the first segment 92 of the current entropy segment can result from the usual probability adaptation 106 and taking into account 108 the probability estimate states that result from the probability estimate adaptation 106 during the entropy-coding of segment (a+1) 92 of the preceding entropy segment n-1. "Taking into account" may involve, for example, averaging operations. An example of this will be presented below.In other words, state 98 of the probability estimates 94 for entropy coding of the entropy segment n 90 at the beginning of the entropy coding of segment 92 of the same may be the result of averaging the predecessor state 96 of the probability estimates 94 for entropy coding of the current entropy segment n adapted using adaptation 106, and the pre-entropy coding state of segment (a+1) 92 of the preceding entropy segment n-1 modified according to probability adaptation 106. Similarly, state 100 may be the result of averaging the result of adaptation 106 performed during the entropy coding of the current entropy segment n and the result of probability adaptation during the entropy coding of segment (a+2) 92 of the entropy segment n-1, etc. To be more specific, be p (n) {i, j}, where i, j indicate the position of any encoding unit (where (0, 0) is the top left position and (I, J) the bottom right position), i{1...I} and j{1...J}, where I is the number of columns, J is the number of rows and p () defines the path order 66, P{i, j} is the probability estimate used in the entropy coding of the coding unit {i, j}; and T (P{i, j}) is the result of the probability adaptation 106 of P{i, j} based on the coding unit {i, j}; Then, the probability estimates 106 of consecutive entropy segments 90 can be combined to replace the usual internal fitting of entropy segments according to Pp (n+1) =T (Pp (n) ) , by where N can be 1 or greater than 1 and {i, j} 1...N is / are chosen from (are within) any entropy segment 90 (in the entropy segment order 16) and its associated portion 12, respectively. The "average" function can be based on a weighted sum, a median function, etc. p(n) = {i, j} is the actual coding unit and p(n+1) follows according to coding orders 14 and 66, respectively. In the presented realizations, p(n+1) = {i+1, j}. Preferably, {i, j}1...N satisfy, for each k{1...N}, {i, j}1...N = {ik, jk} e ik <i+3 y jk<j donde p (n) ={i, j} es la unidad de codificación actual (es decir, cualquiera de las unidades de codificación desde la segunda en adelante del segmento de entropía actual) , es decir, no se sitúan más allá del frente de onda. In this latter alternative, the entropy-coding time-scheduling, by encoding entropy segments 90 in parallel, is more tightly coupled. That is, during the continuation stage 86, the subsequent segment 92 in the line of a current entropy segment can begin simply upon completion of the corresponding segment of the preceding entropy segment located at an additional position in the entropy-coding path order 14. In other words, the above shows an example in which the decoder 40, and particularly the entropy coding stage 44, are configured to perform, for an entropy segment 90, such as segment n, an initialization of their probability estimates 94 before decoding the first segment 92 corresponding to the first coding unit / first block 50 of the portion 12 corresponding to the entropy segment na along the respective coding path 14, with the probability estimates manifesting after the second coding unit / block 50 of the portion 12 corresponding to the preceding entropy segment has been entropy-decoded, in the order of entropy segments 16, along the respective coding path 14. Furthermore, or alternatively, the decoder 40, and particularly the entropy coding stage 44, can be configured to perform, for each entropy segment 90,Entropy decoding and probability estimation adaptation such that, once a coding unit / block / part 50 of the current entropy segment has been entropy decoded according to the respective probability estimates 94 of the current entropy segment 90, the respective probability estimates 94 of the current entropy segment are adapted depending on this current part of the current entropy segment and the probability estimates that manifest in the entropy decoding of an adjacent coding unit / block / part 50 of the spatially adjacent preceding entropy segment, such as the one in the adjacent row above in the second column to the right of the current coding unit / block / part of the current entropy segment. As made clear in the previous explanation, the probability estimation must be adapted or managed for each entropy segment 50 separately. This can be accomplished by sequentially processing the entropy segments and storing probability estimation states such as those shown and mentioned as examples with respect to Figure 4, namely 96, 98, 100, 110, and 102, in a respective probability estimation store 120 (see Figure 1). Alternatively, more than one entropy encoding phase 44 may be provided to decode the entropy segments in parallel. This is illustrated in Figure 5, which shows a plurality of instances of the entropy encoding phase 44, each associated with a respective entropy segment and corresponding portions 12 of the sample array 10.Figure 5 also illustrates the decoding process and its possible implementations by using parallel instances of the respective entropy decoding phases 130. Each of these entropy decoding phases 130 is fed with a respective entropy segment carried by the data flow 20. Figure 5 shows that the entropy encoding phases 44 and the respective decoding phases 130 do not operate completely independently of each other in parallel. Rather, the stored probability estimation states, such as those data stored in storage 120, are passed from one phase corresponding to a respective entropy segment to another phase related to a subsequent entropy segment according to the entropy segment order 16. For illustrative purposes, Figure 5 also shows a possible traversal order for traversing possible subdivisions of the encoding units 50, such as a traversal order 140 defined among the prediction blocks 52 within an encoding unit 50. For all these prediction blocks 52, the corresponding syntactic elements are contained in the respective segment 92, and, corresponding to the values of these syntactic elements, the probability estimates 94 are adapted during the traversal of path 140, with the adaptation during the traversal of the encoding unit 50 being defined by the "T" mentioned above. In CABAC according to H.264 and HEVC, "T" is performed based on a table; that is, by querying the table that defines the transitions from a current state of the probability estimate for a current context to the next state according to the value of the current symbol associated with that context. Before proceeding with Figure 6, which shows a decoder implementation corresponding to the encoder implementation in Figure 1, it should be noted that the predictive nature of precoder 42 served only as an illustrative implementation. According to still alternative implementations, precoder 42 can be omitted, with the syntactic elements on which the entropy encoding phase 44 operates being, for example, the original sample values in the sample array 10. Alternatively, precoder 42 can be configured to constitute a sub-band decomposition of the sample array 10, as in JPEG. The optional nature of the context selector 72 has already been mentioned. The same applies to the initializer 74. The same can be implemented differently. Figure 6 shows a decoder 200 corresponding to the encoder 40 in Figure 1. It can be seen in Figure 6 that the construction of the decoder 200 substantially mirrors the construction of the encoder 40. That is, the decoder 200 comprises an input 202 to receive the data stream 20, followed by a concatenation of an entropy decoding phase 204 and a constructor 206. The entropy decoding phase 204 entropy-decodes the entropy segments carried within the data stream 202 and forwards the decoded symbols and syntactic elements, respectively, to the constructor 206, which, in turn, requests the syntactic elements from the entropy decoding phase 204 via a request 208. In other words, the constructor 206 also assumes the responsibility of syntactically analyzing the stream of elements. syntactic produced by the precoder 42 within the encoder.Consequently, constructor 206 sequentially requests syntactic elements from entropy decoding stage 204. Entropy decoding stage 204 is structured substantially the same as entropy encoding stage 44. Therefore, the same reference symbols from the internal blocks of entropy decoding stage 204 are used again. Symbolizer 70, if present, converts the request for syntactic elements into symbol requests, and entropy decoding kernel 80 responds with a respective symbol value. If symbolizer 70 correlates received symbol sequences that form valid symbol words with syntactic elements, it forwards them to constructor 206.Constructor 206 reconstructs the sample array 10 from the syntactic element stream received from the entropy decoding phase 204, for example, as noted above, using predictive decoding, etc. More precisely, constructor 206 also uses encoding order 66 and performs encoding by encoding units using predictions 60, 62, and 64. The one or more predictions for syntactic elements or sample values are combined, for example, summed, optionally using a prediction residue obtained from the syntactic elements of the syntactic element stream. Like the entropy encoding kernel 80, the entropy decoding kernel 80 follows an arithmetic decoding concept or an entropy decoding concept with interval segmentation.In the case of arithmetic decoding, the entropy decoding kernel 80 can continuously update an internal state in the form of a partial interval width value and a value, such as an offset value, that points to this partial interval. The update is performed using the input data stream. The current partial interval is subdivided analogously to the entropy encoding kernel 80 by using the probability estimate pi provided for each symbol si by context selector 72 in conjunction with the probability estimation manager 76. The adapter 78 performs the probability estimation adaptation by using the decoded symbol si values to update the probability estimate pi values of context ci associated with the symbol si by context selector 72.The initializations performed by the initializer 74 are performed in the same cases and in the same way as on the encoding side. The decoder shown in Figure 6 functions very similarly to the encoder as described above with respect to Figure 3. In step 230, the sample matrix 10 is subdivided into entropy segments. See, for example, Figure 8. Figure 8 shows the data stream 20 arriving at input 202 and, in particular, the entropy segments 90 contained within it. In step 230, each of these entropy segments 90 is associated with a portion 12, which is itself associated with the respective entropy segment 90. This allows for the initialization of the probability estimation described above and the adaptation of the probability estimate based on the current entropy segment. The subdivision of the sample matrix, or more precisely, the association of the entropy segments 90 with their respective portions 12, can be performed using constructor 206.The association can be achieved through different measures, such as additional information contained in the data flow 20 in portions not encoded by entropy, or by convention. Then, the entropy segments 90, in the entropy decoding process 232, are entropy decoded in a way that copies the encoding process 82, namely, by performing, for each entropy segment 90, an initial step 234 and a continuation step 236 with the initialization and adaptation of probability estimation in the same way and in the same cases as in the encoding process. The same parallelization described above with respect to encoding is possible on the decoding side. The instances of the entropy decoding phase 130 shown in Figure 5 can be implemented as shown with respect to the entropy decoding phase 204 in Figure 6. A probability estimation store 240 can be used to store the states of the probability estimates for use in an entropy decoding phase 130 responsible for entropy decoding a subsequent entropy segment in the entropy encoding order 16. Having described the embodiments of this application, the concepts discussed so far are described again below, but this time using different wording. Several additional aspects of this application are described below. The 50 coding units mentioned above will henceforth be identified by the acronym LCU (largest coding unit); this aligns the wording with the upcoming HEVC standard. First, the previously discussed probability adaptation 106 is explained once again in abbreviated form with respect to Figure 9. A current LCU uses probability estimates such as CABAC probabilities, for example, available after encoding the preceding left LCU. For example, the LCU in Figure 9, indicated by an x, is assumed to be encoded by entropy using the probability estimate p1 adapted up to the end of the entropy coding of the left LCU, to the left of LCUx. However, if information is used not only from the left but also from one or more other LCUs that have already been processed and are available, better results in probability adaptation can be achieved. As described earlier, in entropy coding and entropy decoding of entropy segments, new probability estimates are calculated before encoding or decoding each LCU using existing probabilities (probability estimates) from other LCUs. More precisely, probability estimate adaptation is performed not only from any preceding LCU of the current entropy segment but also from LCUs of entropy segments prior to an order of entropy segments. This approach is illustrated again in Figure 9. The initial probability of the current LCU, indicated by an X in Figure 9, can be calculated accordingly: where a1, ... ak are the LCU weighting factors. Tests were conducted to determine which probability weighting yields the best results. In this experiment, only adjacent LCUs were used. The study reveals the use of the following weighting: 75% for the left LCU and 25% for the upper right LCU. The results are presented in Figures 10-13. The graphs titled "using prob. Adapt." use the probability adaptation described above. However, in probability estimation adaptation, it is not only adjacent blocks that can be used. Each nearest LCU has its own unique neighboring sectors, the use of which for probability optimization can be significant. In other words, it is not only possible to apply the LCUs of the nearest top row. Figure 9 shows an example where the probability estimation derivations of the neighbors have been taken first, and it is possible to take them from each right-hand top LCU of the next top row (cf. p5 and pk). It should be acknowledged that some complexity is introduced by the recalculation or adaptation of the probability estimate described above. The new probability estimate calculation is carried out, for example, in three steps: first, the probability estimates for each candidate must be obtained from each context state. This is done by storing them in stores 120 and 240, respectively, or by guiding the parallel entropy segment through decoding processes so that these states are available simultaneously. Second, using equation (1), an optimized probability (pnew) is generated. That is, an averaging process can be used, for example, to combine adapted probability estimates from different entropy segments. And as a final step, a new context state is created from pnew and replaces the old one.In other words, the probability estimation manager 76 adopts the new probability estimates thus obtained. This procedure for each syntactic element, especially through the use of multiplication operations, can considerably increase complexity. The only way to reduce this penalty is to try to avoid these three steps. If the number of candidates and their weights are determined, a pre-calculated table can be approximated for each situation. Thus, only simple access to the table data is needed using the candidate indices (context states). This technique is said to provide good results for both applications, with and without entropy segments. The first application uses only one segment per frame, so probability adaptation is optimized without any other changes. With entropy segments, probability adaptation occurs in each segment independently of other segments. This allows for rapid learning of the current LCU probabilities. In the preceding description, the use of the second LCU of the upper line was also presented; that is, the use of the second LCU for probability estimation initialization. Parallelization of encoding and decoding is possible if certain bitstream conditions mentioned earlier (entropy segments) are met. The CABAC probability dependency between LCUs must be broken. With parallel wavefront processing, it is important to make the first LCU of each line independent of the last LCU of the preceding line. This can be achieved, for example, by resetting the CABAC probabilities at the beginning of each LCU line. However, this method is not optimal because each reset loses the achieved CABAC probabilities, which are tailored to the specific characteristics of the image.This penalty can be reduced if the initialization of the CABAC probabilities of the first LCU of each line is done with the probabilities obtained after the second LCU of the previous line. As described above, an increase in the speed of probability adaptation can be achieved by coupling the probability adaptations of spatially adjacent entropy segments. Specifically, in other words, the above also anticipates a decoder such as the one in Figure 6 for reconstructing a sample matrix (10) from an entropy-encoded data stream, configured to entropy-decode (performed by the entropy-decoding phase) a plurality of entropy segments in the entropic encoder's data stream in order to reconstruct distinct portions (12) of the sample matrix associated with the entropy segments respectively, performing, for each entropy segment, entropy-decoding along a respective entropy-coding path (14) using respective probability estimates.adapting (performed by adapter 78) the respective probability estimates along the respective entropy-coding path using a previously decoded portion of the respective entropy segment, initiating the entropy-decoding of the plurality of entropy segments sequentially using an order of entropy segments (16), and performing, when entropy-decoding a predetermined entropy segment, the entropy-decoding of an actual portion (x) of the predetermined entropy segment based on the respective probability estimates of the predetermined entropy segment adapted using the previously decoded portion of the predetermined entropy segment (including p1, for example), and probability estimates used in the entropy-decoding of a preceding spatially adjacent entropy segment in the order of entropy segments (the segment comprising X,for example) in an adjacent part (such as p4) of the spatially adjacent entropy segment. The different portions can be rows of blocks (e.g., LCUs or macroblocks) from the sample array. The latter can be an image from a video. The entropy coding path can be extended in rows. Entropy coding, and therefore also probability adaptation, can be context-adaptive. Typically, the order of entropy segments can be chosen such that, along the entropy segment order, the different portions follow one another in a direction (16) at an angle to the entropy coding paths (14) of the entropy segments, which are themselves substantially parallel to each other.In this way, a "wavefront" of currently decoded portions (such as p1, p4, p5+1, and pk in the figure) of the entropy segments can be arranged along a line that forms an angle with respect to the entropy segment paths smaller than the sequence direction of the portions. The wavefront can have a slope of 1y by 2x block positions so that the top-left reference is always present for all threads processing segments in parallel. The decoder can be configured to perform, for each entropy segment, entropy decoding along the respective entropy encoding path in part units of the sample array portion of the respective entropy segment, such that the entropy segments are composed of the same number of parts, respectively, and that the sequence of parts of the portions along the entropy segment paths are aligned with each other laterally to the entropy segment paths. The current part of the portion of the default entropy segment belongs to the resulting part network (e.g., LCU or macroblocks).During the execution of entropy decoding for each entropy segment along a respective entropy encoding path, the decoder can preserve shifts between the start times of immediately consecutive entropy segments in the entropy segment order, such that the wavefront of the currently decoded portions of the entropy segments forms a diagonal line with a slope of 0.5x block positions with respect to the entropy segment paths and the direction of the entropy segment order. These shifts can correspond to two parts for all pairs of immediately consecutive entropy segments.Alternatively, the decoder can simply prevent the distance between currently decoded parts of immediately consecutive (and immediately adjacent, provided they are portions 12 of its sample array) entropy segments from being less than two parts. See the figure above: as soon as part / block p4 has been decoded, the part / block to its right is decoded according to path order 16, and simultaneously, if applicable, X or any of the parts / blocks preceding it are decoded.Thus, the decoder can use the already adapted probability estimates based on the content of the current part / block p4—that is, the part within the spatially adjacent portion, which is aligned with the part of portion 12 of the default entropy segment that follows the current part X in path order 16—to determine the probability estimates to be used in the decoding of X. In the case of constant offset in the decoding of entropy segments followed by two parts, the decoder can use the already adapted probability estimates based on the content of part / block p4 simultaneously for the entropy decoding of the subsequent part (that is, the part to the right of p4) of the spatially adjacent entropy segment. As described above, a weighted sum of the already adapted probability estimates can be used to determine the probability estimates to be used for decoding X. As also described above, the order of entropy segments can also cross frame boundaries. It should be noted that the adoption of the probability of predecessor entropy segments, as just described, can be performed for each part of the current / default entropy segment for which such adjacent parts are available in the predecessor entropy segments. This is also true for the first part along path direction 16, and for this first part / block (the leftmost one in each entropy segment in the figure), the adoption is the same as the initialization described above. For better adaptation, in this case as well, the two methods mentioned above can be combined. The results of this process with 1 and 4 threads, that is, the processing units used in parallel, are illustrated in Figures 1-13 (2LCU + Probability Adaptation or 2LCU graphs). To better understand the context of the previous implementations and, in particular, the additional implementations described below, especially the use of LCUs, we must first examine the structure of H.264 / AVC. An H.264 / AVC-encoded video sequence consists of a series of access units that are grouped into the NAL unit stream and use a single set of sequence parameters. Each video sequence can be decoded independently. An encoded sequence consists of a sequence of encoded frames. An encoded frame can be a complete frame or an individual field. Each frame is divided into fixed-size macroblocks (in HEVC: LCUs). Several macroblocks or LCUs can be merged into a segment. Therefore, a frame is a grouping of one or more segments.The objective of this data separation is to allow independent decoding of samples in the image area, which is represented by the segment, without needing to use data from other segments. A technique also frequently referred to as "entropy segments" involves dividing the traditional segment into additional subsegments. Specifically, this means splitting the entropy-encoded data of an individual segment. The arrangement of entropy segments within a segment can vary. The simplest method is to use each row of LCUs / macroblocks in a frame as an entropy segment. Alternatively, separate columns or regions can be used as entropy segments, which can even be interrupted and alternated, as in segment 1 of Figure 14. A clear objective of the entropy segment concept is to enable the use of parallel CPU / GPU and multi-core architectures to improve decoding time, that is, to speed up the process. The current segment can be divided into partitions that can be parsed and reconstructed without reference to data from other segments. While the entropy segment approach offers several advantages, it also introduces some drawbacks. First, a primary goal is to create a bitstream suitable for parallel encoding and decoding. It's important to note that a line-level unit (LCU) can only be encoded if its adjacent LCUs (left, top, top-right) are already available as encoded versions, in order to use spatial and motion information for prediction. To enable parallelism through segmentation, a switch must be made between segment processing (e.g., a switch between two LCUs, typically for wavefront focusing). Due to CABAC probability adaptation, an LCU uses the available probabilities from the previously decoded LCU. Regarding the frame scan order, the problem that arises when segmenting the image is the impossibility of parallelism, since the first LCU of each line depends on the last LCU of the preceding line.The effect of this is that CABAC probability dependencies between segments must be broken so that multiple segments can be initialized simultaneously. One way to do this is the typical CABAC reset, which, however, will result in the loss of all adopted data. As a result, the bit rate can be increased. Secondly, each segment generates its own bit substream, which can be sequentially added to the main stream. However, special information from the decoder must be passed so that these segments and their positions in the main stream can be correctly identified. Two signaling scenarios are possible. Location information can be stored in the frame header (segment length information) or in each segment header (points as a start code). Byte alignment at the end of each segment and location information increase entropy losses. To reduce the penalty introduced by signaling for entropy segments, it is essential to use a good coding technique for signaling. A significant penalty for signaling entropy segments is introduced in a frame if start codes are used for each segment; that is, too many extra bytes (for example, at least 4 bytes per segment) are added to the bitstream. Certainly, inserting entropy segments using start codes is advantageous in low-latency scenarios where the encoder can instantly emit entropy segments. In such cases, direct signaling of entry points is not possible. In less stringent low-latency scenarios, however, the opportunity to store segment lengths (offsets) seems more suitable. A well-known method for encoding such information is Variable Length Code (VLC) coding, also known as exponential Golomb coding. The main feature of VLC is the addition of empty information (zeros) before the actual data. These zeros allow for the creation of a code that stores offset length information. We propose another technique for achieving this, the scheme of which is shown in Figure 15, where X = EntropySegmentSize is the number of bytes contained in an entropy segment. Each subsequent X (offset) is defined as the difference in size between the previous, already encoded and signaled entropy segment offset and the current one.The main features of this concept are the formation of differences, depending on the size X, so that the amount of data can be reduced, and the addition of up to 3 bits, which allows the decoder to extract relevant information about the size of each entropy segment. Compared to VLC, a saving in the number of bits in the entropy segment header can be achieved. That is, according to the appearance of figure 15, for example, a concept is provided for entropy coding of an information signal that enables a higher compression rate, despite the parallel processing capability, compared to concepts available to date.According to this aspect, an entropy-encoded data stream section 20, in which a sample array is encoded, comprises entropy segments such as 90 in Figure 8 in which different portions 12 of the sample array are entropy-encoded, and a dashed-line header 300 in Figure 9, comprising information revealing start positions 302 of the entropy segments 90, measured in the entropy-decoded domain, within the entropy-encoded data stream, the information comprising, for a predetermined entropy segment, a difference value revealing a difference between a start position of a preceding n-1 entropy segment and a start position of the predetermined n entropy segment, the difference being included in the data stream as a VLC bit sequence. In particular, the VLC bit sequence can have a variable-length prefix y, indicating that the difference x is located at the y-th of a sequence of a number z of intervals [0, 2a-1], [2a, 2b+2a-1], [2b+2a, 2c+2b+2a-1], etc., and a PCM-encoded suffix of the y-th of the sequence of lengths a, b, c... If a, b, c, ... are chosen to be a power of two, and the corresponding y is added, i.e., so that a+1, b+2, c+3, etc., are all powers of two, then byte alignment can be preserved. The number z is not limited to three, as has been chosen for illustrative purposes in Figure 15. The encoder, as shown in Figure 1, is suitably designed to convert the difference of consecutive start positions into a VLC bit sequence. This is achieved by first determining the prefix (i.e., in which subinterval the difference lies, the y-th subinterval), and then setting the plus suffix equal to the difference of the start position minus the y-th subinterval of 0, 2a, 2b+2a, etc. The decoder, as shown in Figure 6, is suitably designed to derive the start position of the current entropy segment na from the VLC bit sequence. This is achieved by first inspecting the prefix to obtain y, then setting the difference with the plus suffix value as the y-th subinterval of 0, 2a, 2b+2a, etc., and finally adding the difference with the start point of the preceding entropy segment n-1. An additional advantage can be achieved by segmenting entropy segments, specifically for low-delay transmission and for speeding up decoding. In video transmission, enabling higher resolutions (Full HD, Quad HD, etc.) leads to a greater amount of data that must be transmitted. In time-sensitive scenarios, known as low-latency use cases (<145 ms), transmission time becomes a critical factor. Consider the ADSL uplink for a videoconferencing application. In this case, so-called random access flow points, typically referred to as I-frames, are likely to cause a bottleneck during transmission. To address this issue and minimize the transmission and decoding time delay—that is, the end-to-end delay—a novel technique can be applied: an interleaved entropy segment scheme for parallel transmission and processing. HEVC will enable wavefront processing on the decoder side. This is achieved through the use of entropy segments. Normally, the data for an entire segment is delivered all at once. The decoding process begins as soon as the encoded data reaches the wavefront decoder's motors. To reduce the time it takes the decoder to start and finish a frame, entropy segments are divided into smaller chunks using an interleaving approach, as described here. Consequently, the encoder can deliver data corresponding to a specific entropy segment to the transport layer earlier than usual. This results in faster transmission and an earlier start to the parallel decoding process at the client. Creating fragments of a segment can also be achieved by subdividing an entropy segment into additional segments while maintaining all dependencies (dependent segments). If this is done at each larger coding unit (LCU) / coding tree unit (CTU), these fragments can be interleaved using additional system-layer techniques that allow the fragments to be transmitted in an interleaved manner and recover, or at least provide, knowledge of the original decoding order of the fragments through additional signaling. Such signaling can be a decoding order number (DON), as defined in the IETF RTP payload format for H.264 / AVC (RFC 3984).Another system method can be to apply fragments of a wavefront subflow to a different transport flow, as in MEPG-2 systems, assigning a different PID to each of them, further multiplexing them and thereby interlacing them in the transport channel. This approach can also be applied across frame boundaries, where applicable, if the next frame segment(s) or entropy segment(s) can already be decoded, for example, as a wavefront, based on knowledge of the information required to decode an entropy segment in a subsequent frame, due to the availability of cross-frame references. This already decodable data from a subsequent frame in the decoding order can be derived from the maximum signaled / allowed motion vector length, additional information in the flow indicating dependencies of data parts on the preceding frame(s), or a fixed referencing scheme, which indicates the signaled position at a fixed sequence position, such as a set of parameters. This will be discussed further below.The image can be encoded with a segment of entropy per row(s) of the largest coding unit(s) (LCU), as shown in Figures 2 and 9. This is advantageous when using the wavefront technique on the decoder side. During the encoding process, the bitstream of each segment can be divided into segments of constant size. The resulting segments are then interleaved and can be passed on to transmission. The constant size of the segments can create problems at the bitstream end due to their variable length. There are two possible general solutions. The first is the generation of one-byte segments (usually, the segment's bitstream representation is aligned in bytes) and the control of byte consumption by each decoder motor; that is, the decoder figures out when an entropy segment has been completed. The second method is to use a termination code at the end of the segment. In this case, variable-length segments are possible, but this can also lead to a larger amount of data. Another method is signaling the segment length using entropy. One form of this alternative is described below. Segment size and interlacing mode can be signaled in an SEI message or in SPS. The transmission scheme is shown in Figure 16. Therefore, according to the aspect shown in Figure 16, for example, a concept of entropy coding of a sample array is provided, which allows for a lower latency compared to concepts available to date. According to this aspect, a coded data stream 20, in which an information signal is encoded, comprises segments such as entropy segments 90 or simply segments that are completely independently decodable (shown on the left side) in which different portions 12 of the information signal are encoded (predictably and / or entropy-wise), the segments 90 being subdivided into fragments (shaded boxes 310) that are arranged in the coded data stream 20 in an interlaced manner (shown on the right side), the interlacing being represented by the brackets 312.As indicated above and as described with respect to other aspects, the segments can be entropy 90 segments which, in turn, can be appropriate subsets of frame segments and, consequently, the encoded data stream can be an entropy 20 encoded data stream. The 312 interlacing of the 90 segments allows for less delay because the decoder responsible for decoding any of the 90 segments does not need to wait for a duration of time consumed by previous segments from other decoders (according to segment order 16). Instead, all available decoders can begin decoding their associated segments as soon as the first 310 fragment of them is available and any inter-segment dependencies are resolved (cf. wavefront approach). The different portions 12 can be encoded by entropy giving rise to the entropy segments 90 using probability estimates that are established independently between the entropy segments or using the adoption between entropy segments of probability estimates, as described above, such as, for example, specifically encoding the different portions 12 giving rise to the entropy segments 90 along the respective entropy coding routes 14 and subordinate entropy segments have their corresponding portions 12 encoded within them using probability estimates derived, among others, from probability estimates used in higher-level entropy segments in spatially adjacent parts of the corresponding portion, as described above. The entropy-encoded data stream 20 can additionally include a header, as shown as an option in Figure 16. Header 300 can be associated with the frame (sample array) of a sequence 30, with header 300 containing information that reveals the length of the entropy segments. Information regarding the length of the entropy segments 90 can be encoded within header 300, as described above, using VLC codes. Using the knowledge of the entropy segment lengths, on the decoding side, it is possible to identify a final fragment associated with each of the entropy segments 90 and their length. However, start codes or other indication schemes can also be used. The segment start positions can also be identified simply through the decoding process, which knows the segment termination.Therefore, it may be possible to simply rely on the decoder's indication, but this requires signaling between decoders and, in some cases, whether an "earlier" entropy segment ends after a "later" segment in the stream. This may require, in specific cases, "adaptive" signaling in the stream, which can be based on start codes. For example, entropy 90 segments may be arranged after the 300 header, as illustrated in Figure 16. The 310 fragments can be of equal length, at least with respect to a contiguous portion at the beginning of the 310 fragment sequence, starting from the first fragment and following the order in which the fragments are arranged in the entropy-encoded data stream 20. The length of subsequent fragments can vary. These fragments can be equal to or shorter than the contiguous portion at the beginning of the sequence. The length of the subsequent fragments can be derived from the information mentioned earlier in header 300, which reveals the length of the entropy-90 segments or their starting position. The 310 fragments can be arranged cyclically in the entropy-encoded data stream 20, according to a defined order among the entropy segments.In the case of entropy segments whose fragments are completely within previous cycles, these can be omitted in the current and subsequent cycles. Other information then signals a sequence of sample arrays, such as a video signal, which could also be transmitted through data stream 20. Therefore, the different portions 12 do not have to be portions of a predetermined sample array, such as an image / frame. As described above, the entropy segments 90 can have the different portions 12 of the sample array 10 encoded within them by predictive coding using inter-entropy segment prediction and / or inter-frame prediction, an entropy coding of a prediction residue of the inter-entropy segment prediction and / or the inter-frame prediction. That is, as described above, the different portions can be spatially distinct portions of frame 10 or multiple frames 30. The latter case applies if the next frame segment(s) or entropy segment(s) can already be decoded, for example, in wavefront form, based on knowledge of the information required to decode an entropy segment of a subsequent frame due to available inter-frame references.Data that is already decodable in a subsequent frame in the decoding order can be derived from the maximum signaled / allowed motion vector length or from additional information in the stream that indicates dependencies of data segments on the preceding frame(s). Prediction between entropy segments may involve intraprediction, while prediction between frames may involve motion-compensated prediction. An example is given below. The aforementioned independence of probability estimation between entropy segments can refer to both probability adaptation and context modeling. That is, the context chosen in one entropy segment can be chosen independently of other entropy segments, and the probability estimate for a context can also be initialized and adapted independently of any other entropy segment. A corresponding entropy decoder can be constructed as follows. An entropy decoder, configured to entropy decode an entropy-encoded data stream 20, comprising entropy segments 90 in which different portions of a frame are entropy-encoded, the entropy segments being subdivided into fragments 310 that are arranged in the entropy-encoded data stream 20 in an intertwined manner, can be configured as shown in Figure 6 and may further comprise a deinterlaceer configured to deinterlace the fragments 310, symbolized by 314 in Figure 16. In particular, as illustrated in Figure 5, the entropy decoder may comprise a plurality of entropy decoders 130, such as threads running on different processing cores, wherein the deinterlaceer may be configured, for each entropy segment, to forward fragments 310 thereof to an entropy decoder 44 associated with the respective entropy segment. In other words, entropy segments can be subdivided into fragments, which, in turn, can be entangled. The decoder can include a deinterlaceer to deentangle the fragments and can begin operating on the entropy segments in parallel along the 16 paths, even before receiving any of the entropy segments as a whole. It's worth noting that the length of the fragments is preferably measured in the entropy-encoded domain rather than the syntax domain, so that it corresponds, for example, to a number of certain spatial parts / blocks in the image, or similar, although the latter option would also be available. The possible use of time dependencies is described below. These can be used in conjunction with, or as an alternative to, the probability estimation enhancements described so far. The wavefront processing pattern, as described below, can be extended to entropy coding with the new probability calculation for each LCU to also utilize time dependencies between frames. As is well known, probabilities are reset at the beginning of each frame (the first LCU). Thus, probabilities already acquired in the previous frame are lost. To reduce the loss of encoding efficiency, the final image state (cp. 320) or, in the case of using entropy segments, the final segment state (cp. 322) can be passed from the reference frame 324 to the first LCU 50 of the current frame 10 or entropy segment 12, respectively (Figure 17).Such data from a corresponding segment in a reference frame can be derived not only from the final position but also from an earlier position in the reference segments, since parallel wavefront processing can also cross frame boundaries; that is, while a segment of one frame is being encoded, the encoding process of the segment in the preceding frame may not yet be complete. Therefore, signaling can be used to indicate the reference position, or it can be indicated schematically. Using the notation above, therefore, to initialize at the start-up phases 84 and 234, respectively, one can set P{i, j} where {i, j} denotes the first CU 50 in the k-th entropy segment of the current sample array equal to, or at least dependent on, any T(P{i, j}) where {i, j} denotes a CU in a preceding sample array (in a sample array encoding order that may be equal to the presentation order) or a combination of several T(P{i, j}). This can be carried out only for k = 0 or for each entropy segment k {1...K} where K denotes the number of entropy segments in the current frame. Temporal initialization can be carried out in addition to, or as an alternative to, the spatial initialization described above.That is, P{i, j} where {i, j} indicates the first CU 50 in the k-th entropy segment can be set equal to some combination (such as some average) of T (P{i, j}) and T (P{i, j}spatial) where {i, j} indicates a CU in the preceding (previously (de)coded sample matrix or a combination of several T (P{i, j}) and where {i, j}spatial indicates a CU in the preceding entropy segment of the current sample matrix.Regarding the location of {i, j}, P{i, j} where {i, j} denotes the first CU 50 (in the entropy-encoding order 14) in the k-th entropy segment (in the entropy-encoding order 14) of the current sample array can be set equal to T (P{i, j}') where {ij} denotes the last CU (in the entropy-encoding order 14) in the k-th entropy segment (in the entropy-segment order) in the preceding sample array (in the sample array encoding order) or the last CU in the last entropy segment (in the entropy-segment order) in the preceding sample array (in the sample array encoding order). Again, this temporary initialization can be carried out only for the first entropy segment in the sample array. The syntactic analysis process of the final state of the reference frame was tested with the probability adaptation method, the results of which are illustrated in Figures 1.- 19 (Temporal graph). Another opportunity to use data from other frames is to exchange the probabilities obtained between juxtaposed LCUs. The main idea is based on the assumption that the properties of the reference frame do not differ significantly from the current frame. In order to accelerate learning the probabilities across the LCUs in a frame, one can attempt to transfer the final state of each LCU to the appropriate LCU in the current frame. This approach is illustrated in Figure 18. The term "reference frame" can refer to different possibilities. For example, a frame that is coded last can be used as a reference frame. Otherwise, only the last coded frame from the same time layer can be used as a reference. Furthermore, this approach can be combined with previously proposed methods, such as the use of the latest (segment) information from the reference frame, the adaptation of probabilities, and the use of the second LCU of the top line. The previous spatial adaptation process can be modified to be where N can be 1 or greater than 1 and {i, j}1N is selected (n) from (located in) any preceding entropy segment 90 (in the order of entropy segments 16) in the current sample matrix 10 and its associated portion 12, respectively, and M can be 1 or greater than 1 and {i, j}1M is located (n) in the preceding sample matrix 350. It may be that at least one of the CU 50 {i, j}1M is juxtaposed ap (n). Regarding the possible selections of CU 50 {i, j}1N, reference is made to the previous description. The "average" function may be a weighted sum, a median function, etc. The previous spatial adaptation process can be replaced by where M can be 1 or greater than 1 and {i, j}1M is located (n) in the preceding sample matrix. It may be that (la) at least of {i, j}1M is juxtaposed to ap (n). Regarding the possible selections of {i, j}1N, reference is made to the previous description. The "average" function may be a weighted sum, a median function, etc. It may be that (la) at least of {i, j}1M is juxtaposed to ap (n). As a specific extension of the use of juxtaposed information, an approach can be applied to utilize data obtained from other blocks of one or even more reference charts. The techniques mentioned above only use information obtained from direct neighbors in the current frame or in reference frames. However, this does not mean that the probabilities obtained in this case are the best. Adjacent LCUs, according to the image partitions (residues), do not always have the best probability models. It is assumed that the best results can be achieved with the help of blocks, from which the prediction will be made. And, therefore, this appropriate block can be used as a reference for the current LCU. Thus, in the previous adaptation example, {i, j}1N and / or {i, j}1M can be selected depending on the CUs that serve as providers of predictors for p(n). The presented time probability adaptation / initialization schemes can also be used without entropy segments or with an individual entropy segment per frame. According to this last aspect, an increase in the speed of probability adaptation is achieved by coupling the probability adaptations of temporally adjacent / related frames.What is described in that case is a decoder like the one in Figure 6, where the decoder is configured to reconstruct a sequence of sample matrices from an entropy encoder data stream, and is configured to entropy decode a current frame from the entropy encoder data stream to reconstruct a current sample matrix from the sequence of sample matrices, perform entropy decoding along an entropy encoding path, and use probability estimates and adapt the probability estimates along the entropy encoding path using a previously decoded portion of the current frame, the entropy decoding phase being configured to initialize or determine the probability estimates for the current frame based on probability estimates used in the decoding of a previously decoded frame from the entropy encoded data stream. That is, for example, the probability estimates for the current frame are initialized based on probability estimates resulting from the completion of the decoding of the previously decoded frame from the entropy-encoded data stream. The buffering requirements are therefore low, since only the final state of the probability estimates needs to be buffered until the start of the decoding of the current frame. Of course, this can be combined with the approach shown in Figures 1 to 9, in that for the first parts of each portion, not only are probability estimates used for spatially adjacent parts in previous entropy segments (if available) used, but also, in a weighted manner, for example, the final state of the probability estimates for a corresponding (e.g., spatially) entropy segment in the previous frame.Such data for a corresponding segment in a reference frame can be derived not only from the final position but also from a previous position in the reference segments, since parallel wavefront processing can also cross frame boundaries; that is, while a segment of one frame is being encoded, the encoding process for the segment of the preceding frame may not yet be complete. Therefore, signaling can be used to indicate the reference position, or it can be indicated schematically. Furthermore, for example, the probability estimates used to encode the parts / blocks of the previously decoded frame are all buffered, not just the final state, and the decoder, when entropy-decoding the default entropy segment (with reference to the previous description of spatially coupled probability derivation), would perform the entropy-decoding of the current part (X) of the default entropy segment based on the respective probability estimates of the default entropy segment adapted using the previously decoded part of the default entropy segment (including p1, for example), and probability estimates used in the entropy-decoding of a spatially corresponding part of an entropy segment of the previously decoded frame using, optionally,Furthermore, probability estimates used in the entropy decoding of a spatially adjacent entropy segment, preceding in the order of entropy segments (the segment comprising X, for example) in an adjacent part (such as p4) of the spatially adjacent entropy segment, as described above. As also described above, the spatial correspondence between parts, and the identification of a suitable one for the adoption of probability for the current frame from among the previously decoded frame, can be defined with the help of motion information, such as motion indices, motion vectors, and the like, of the current part / block. Up to this point, the wavefront that extends during wavefront processing has primarily been described as extending obliquely across a sample array 10, where encoding / decoding is performed one sample array after another. However, this is not a requirement. Figure 19 is referenced. Figure 19 shows a portion of a sample array sequence, where the sample arrays in the sequence have a defined encoding order of 380 samples between them, which may or may not coincide with a presentation time order. Figure 19 shows, as an example, a subdivision of the sample arrays 10 into four entropy segments each. Entropy segments that have already been encoded / decoded are shown in shades.Four encoding / decoding threads (encoding / decoding phases) 382 are currently operating on the four entropy segments 12 of the sample array with index n. However, Figure 19 shows that there is one remaining thread number 5, and it is possible that this additional thread 382, numbered 5 in Figure 19, will operate to encode / decode the next online sample array, i.e., n+1, in portions for which respective reference portions in the currently encoded / decoded frame n are guaranteed to be available, i.e., have already been processed by one of the threads 1 to 4. These portions are taken as references in the predictions shown in Figure 1, for example. Figure 19 illustrates, as an example, with a dotted line 384, a line extending across the n+1 sample array that is juxtaposed to the boundary between the already processed (i.e., already encoded / decoded) portion of the n sample array (i.e., the shaded portion within the n sample array) on one side, and the portion that has not yet been processed (i.e., the unshaded portion of the n sample array) on the other. Using double-headed arrows, Figure 19 also shows the maximum possible length of movement vectors measured in the column and row directions, i.e., ymax and xmax, respectively. Therefore, Figure 19 also shows with a dashed and dotted line 386 a displaced version of line 384, i.e., a line 386 that is separated from line 384 by the minimum possible distance so that the distance is not below ymax in the column direction and xmax in the row direction.As can be seen, there are 50 encoding units in the n+1 sample array for which any reference portion in the n sample array is guaranteed to be completely contained within the already processed portion of this n sample array—that is, those located in the half of the n+1 sample array that is upstream relative to line 386. Consequently, thread 5 can already operate to decode / encode these encoding units, as shown in Figure 19. As can be seen, even a sixth thread could operate on the second entropy segment in the 16th entropy segment order of the n+1 sample array. In this way, the wavefront extends not only spatially but also temporally across the spacetime spanned by the 30 sample array sequence. It should be remembered that the aforementioned wavefront aspect also works in combination with the previously discussed probability estimation couplings across entropy segment boundaries. Furthermore, with regard to the fragmentation aspect discussed earlier, it should also be noted that the subdivision of entropy segments into smaller pieces, i.e., fragments, is not limited to implementation in the entropy-encoded domain, i.e., the entropy-compressed domain. Consider the previous discussion: the entropy segments described above have the advantage of reducing the loss of encoding efficiency despite enabling wavefront processing. This is due to the derivation of probability estimates from previously encoded / decoded entropy segments of the same frame or a previously encoded / decoded one—that is, an initialization and / or adaptation of the probability estimates based on probability estimates from such previous entropy segments.Each of these entropy segments is assumed to have been entropy-encoded / decoded by a single thread in the case of wavefront processing. That is, by subdividing the entropy segments, it is not necessary to process the encodable / decodable fragments in parallel. Instead, the encoder will simply have the opportunity to output sub-parts of the bitstream of its entropy segment before completing the entropy-encoding, and the decoder will have the opportunity to operate on these sub-parts (fragments) before receiving the remaining fragments of the same entropy segment. Furthermore, interlacing will be enabled on the receive side. To allow for this deinterlacing, however, it is not necessary to perform the subdivision in the entropy-encoded domain.In particular, the previously described subdivision of entropy segments into smaller fragments can be performed without significant loss of coding efficiency simply by intermittently resetting the internal state of the probability interval—that is, the probability interval width and offset values, respectively—of the entropy encoding / decoding kernel. The probability estimates, however, are not reset. Instead, they are continuously updated / adapted from the beginning to the end of the entropy segments. This allows the entropy segments to be subdivided into individual fragments, with the subdivision occurring in the domain of syntactic elements rather than the compressed bitstream domain. The subdivision can follow a spatial subdivision, as described below, to facilitate signaling from the fragment interfaces to the decoder.Each fragment could have its own fragment header that reveals, for example, its starting position in the sample array, measured, for example, with respect to the encoding order 14 relative to the respective starting position of the entropy segment together with an index to its entropy segment, or relative to a prominent location in the sample array 10, such as the top left corner. To describe more clearly the subdivision of entropy segments into fragments according to this latter embodiment, reference is made to Figure 20. Figure 20 shows, for illustrative purposes only, the sample matrix 10 subdivided into four entropy segments. The currently encoded portions of the sample matrix 10 are shown in shaded areas. Three threads are currently operating on the entropy encoding of the sample matrix 10 and emit fragments of the entropy segments by immediate attention: see, for example, the first entropy segment in the entropy segment order 16, which corresponds to portion 12 of the sample matrix 10.After encoding a sub-portion 12a of portion 12, the encoder forms a fragment 390 from it; that is, the entropy-coding kernel 80 performs a certain termination procedure to end the arithmetic bit stream produced from sub-portion 12a insofar as it is arithmetic encoding to form fragment 390. The encoding procedure then resumes with respect to the next sub-portion 12b of entropy segment 12 in the encoding order 14 while a new entropy bit stream is initiated. This means, for example, that internal states such as the probability interval width value and probability interval offset value of the entropy-coding kernel 80 are reset. The probability estimates, however, are not reset. They are left unchanged. This is illustrated in Figure 20 by an arrow 392.Figure 20 shows as an example that the entropy segment or portion 12 is subdivided into more than two subportions, and consequently even the second fragment 1b is subject to some entropy that ends before reaching the end of portion 12 along the encoding order 14, after which a subsequent fragment in line begins, etc. At the same time, another thread operates on the second entropy segment or portion 12 in the order of entropy segments 16. Upon completion of a first subportion of this second entropy segment / portion 12, a fragment 2a is emitted, after which the entropy encoding of the remainder of the second entropy segment begins while, however, the probability estimate is maintained as valid at the end of fragment 2a. With a time axis 394, Figure 20 seeks to illustrate that fragments 390 are broadcast as soon as they are completed. This leads to interleaving similar to that depicted in Figure 16. Each fragment can be packaged into a packet and transported to the decoding side via some transport layer in any order. The transport layer is illustrated by arrow 396. The decoder must reassign the fragments to their subportions 12a, 12b, and so on. To this end, each fragment 390 may have a header section 398 that reveals the location of the beginning of its associated subportion 12a or 12b—that is, the subportion whose syntactic elements describing it are entropy-encoded in the respective fragment. Using this information, the decoder can associate each fragment 390 with its entropy segment and with its subportion within portion 12 of that entropy segment. For illustrative purposes, Figure 20 also shows, as an example, that the junction between consecutive subslices 12a and 12b of a segment of entropy 12 does not have to coincide with the boundary between consecutive encoding units 50. Instead, the junction can be defined at a deeper level of the previously mentioned example of the subdivision of the encoding units into multiple trees. The location information contained in the headers 398 can indicate the beginning of the subslice associated with the current fragment 390 with sufficient precision to identify the respective subblock of the respective encoding unit—that is, the location within the sequence of syntactic elements from which the respective subblock is described. As explained above, there was almost no loss of coding efficiency resulting from the subdivision of entropy segments into fragments. The entropy completion and packing processes alone may involve some loss of coding efficiency, but the benefits of low latency are enormous. Again, it should be remembered that the spatial subdivision fragmentation aspect just mentioned also works in combination with the probability estimation couplings described above across entropy segment boundaries, both spatially and temporally. The decoder, such as the decoder in Figure 6, can undo the transmission of fragments as follows. In particular, the decoder can check which entropy segment a current fragment belongs to. This check can be performed based on the location information mentioned earlier. It can then be checked whether the current fragment corresponds to a first sub-portion of the corresponding entropy segment portion along the entropy-coding path 14.If so, the decoder can entropy-decode the current fragment by adapting the respective probability estimates and taking into account a state of the respective probability estimates that manifests at the end of the entropy-decoding of the current fragment when another fragment corresponding to a second sub-portion of the predetermined entropy segment is entropy-decoded along the entropy-coding path. "Taking into account" may involve setting the probability estimates at the beginning of fragment 1b equal to the probability estimates that manifest, through probability adaptation starting with the probability estimate state at the beginning of fragment 1a, at the end of sub-portion 12a of fragment 1a, or equal to a combination of these with entropic probability estimates from other entropy segments as described above.Regarding the probability initialization at the beginning of the first fragment 12a, reference is made to the previous explanation, as this also constitutes the beginning of the corresponding entropy segment. In other words, if the current segment is a second or later fragment in order 14, the decoder can entropy-decode the current fragment using probability estimates that depend on probability estimates that manifest at the end of the entropy-decoding of a fragment corresponding to a sub-portion of the predetermined entropy segment portion preceding the sub-portion corresponding to the current fragment, along the entropy-coding path 14. The preceding description reveals several methods that can be useful for parallel encoding and decoding, as well as for optimizing existing processes in the emerging HEVC video encoding standard. A brief overview of entropy segments has been presented. It has been shown how they can be formed, what advantages can be achieved through segmentation, and what penalties can result from these techniques. Several methods have been proposed that are supposed to improve the probability learning process across LCUs (largest coding unit) in the frame by better leveraging local dependencies between LCUs, as well as temporal dependencies between LCUs in different frames. It is claimed that different combinations can provide improvements for both concepts, with and without parallel encoding and decoding. The performance improvement in terms of high efficiency, for example, through the best combination of proposed approaches, is -0.4% in Intra, -0.78% in Low Delay and -0.63% in Random Access compared to HM3.0 without the use of entropy segments or -0.7% in Intra, -1.95% in Low Delay and -1.5% in Random Access compared to the entropy segment approach with usual reinitialization. In particular, among others, the following techniques have been presented previously. To use not only local but also temporal dependencies of LCU, to optimize the adaptation of CABAC probabilities before encoding each LCU, see Figures 1 to 9, 17 and 18. To achieve greater flexibility in decoding, entropy segments can also be used, so that certain regions in the frame become independent of each other. To allow minimal signaling of the starting positions of segment / entropy segments for parallel processing, for example, of wavefronts, see Figure 15 To enable low-delay transport in a parallelized encoder-transmitter-receiver-decoder environment via interleaved transport of entropy segments / segments, see Figure 16. All the methods mentioned above have been integrated and tested in HM3.0. The results obtained, where the reference point is HM3.0 without any implementation of entropy segments, are presented in Tables 1 and 2 (where 2LCU - use of the second LCU of the top line; 2LCU+ Probability Adaptation - 2LCU merged with the probability adaptation method; Temporal - use of temporal dependencies (final state of a reference frame) with probability adaptation for each LCU). Table 1. Summary of RD results with 1 thread Table 2. Summary of RD results with 4 wires However, it is interesting to know how the proposed approaches affect wavefront processing with probability reinitialization at the beginning of each LCU line. These results are illustrated in Tables 3 and 4 (where orig_neilnit is a comparison of HM3.0 without entropy segments versus entropy segments with reinitialization). Table 3. Summary of RD results with 1 thread. Reference is new initialization. Table 4. Summary of RD results with 4 threads. Reference is new initialization. The previous results show that a considerably greater use of dependencies within and between frames and the rational application of information already obtained avoid the average loss. An approach to wavefront processing for HEVC video encoding and decoding combines the ability to use dependencies between adjacent LCUs, as well as temporal frame dependencies, with the concept of parallel wavefront processing. This reduces losses and achieves a performance boost. An increase in the speed of probability adaptation has been achieved by calculating the probability adaptations of spatially adjacent entropy segments. As mentioned earlier, all the above aspects can be combined with each other, and, in this way, the mention of certain implementation possibilities with respect to a given aspect will also apply, of course, to the other aspects. While some aspects have been described in the context of a device, it is clear that these aspects also represent a description of the corresponding method, in which a block or device corresponds to a step of the method or a feature of a step of the method. Similarly, the aspects described in the context of a step of the method also represent a description of a corresponding block or element or a feature of a corresponding device. Some or all of the steps of the method may be executed by means of (or using) a hardware device, such as a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, one or more of the most important methodological steps may be executed by such a device. The coded signals of the invention, previously mentioned, can be stored on a digital storage medium or can be transmitted on a transmission medium such as a wireless transmission medium or a wired transmission medium such as the Internet. Depending on certain implementation requirements, the embodiments of the invention can be implemented in hardware or software. Implementation can be carried out using a digital storage medium, such as a floppy disk, DVD, Blu-ray disc, CD, ROM, PROM, EPROM, EEPROM, or flash memory, which has electronically readable control signals stored therein. These signals cooperate (or are capable of cooperating) with a programmable computer system to execute the respective method. Therefore, the digital storage medium is computer-readable. Some embodiments according to the invention comprise a non-transient data carrier comprising electronically readable control signals, capable of cooperating with a programmable computer system in such a way as to execute one of the methods described herein. In general, the embodiments of the present invention can be implemented in the form of a computer program product with program code, where the program code fulfills the function of executing one of the methods when the computer program is run on a computer. The program code can be stored, for example, on a machine-readable medium. Other embodiments include the computer program for executing one of the methods described herein, stored on a machine-readable carrier. In other words, an embodiment of the inventive method is, therefore, a computer program that has program code to perform one of the methods described herein, when the computer program is executed on a computer. Another embodiment of the inventive methods is, therefore, a data carrier (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for carrying out one of the methods described herein. The data carrier, the digital storage medium, or the recorded medium is typically tangible and / or non-transient. Another embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for carrying out one of the methods described herein. The data stream or the sequence of signals may be configured, for example, to be transmitted over a data communication connection, such as the Internet. Another embodiment comprises a processing means, for example a computer or a programmable logic device, configured or adapted to perform one of the methods described herein. Another embodiment comprises a computer having installed on it the software program to carry out one of the methods described herein. Another embodiment of the invention comprises an apparatus or system configured to transfer (for example, electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may be, for example, a computer, a mobile device, a memory device, or the like. The apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver. In some embodiments, a programmable logic device (e.g., a field-programmable gate array) can be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field-programmable gate array can cooperate with a microprocessor to perform one of the methods described herein. Generally, the methods are preferably executed by any hardware device. The embodiments described above are merely illustrative of the principles of the present invention. It is understood that modifications and variations of the arrangements and details described herein will be obvious to those skilled in the art. It is therefore our intention to be limited only by the scope of the patent claims that follow and not by the specific details presented herein as descriptions and explanations of the embodiments.
Claims
1. A decoder for reconstructing a sample array (10) from an entropy-encoded data stream, configured to entropy-decode a plurality of entropy segments within the entropy-encoded data stream to reconstruct different portions (12) of the sample array associated with the entropy segments, respectively, by performing, for each entropy segment, entropy decoding along a respective entropy-coding path (14) using respective probability estimates, adapting the respective probability estimates along the respective entropy-coding path using a previously decoded portion of the respective entropy segment, initiating the entropy decoding of the plurality of entropy segments sequentially using an entropy-segment order (16), and performing, in the entropy decoding of a predetermined entropy segment,the entropy decoding of a current portion of the default entropy segment based on the respective probability estimates of the default entropy segment as adapted using the previously decoded portion of the default entropy segment, and probability estimates as used in the entropy decoding of a spatially neighboring entropy segment, in order of previous entropy segment, on a neighboring portion of the spatially neighboring entropy segment, wherein the entropy segments are subdivided into fragments and the decoder is configured to check whether a current fragment corresponds to one, along the entropy encoding path, first subportion of the portion of the sample array associated with the default entropy segment, and if so,entropy decoding the current fragment under the adaptation of the respective probability estimates and taking a state of the respective probability estimates as manifesting at the end of the entropy decoding of the current fragment, taking into account when entropy decoding another fragment that corresponds to a, along the entropy encoding path, second subportion of the portion of the sample matrix associated with the predetermined entropy segment, and if not, entropy decoding the current fragment using probability estimates that depend on probability estimates that manifest at an end of entropy decoding of a fragment that corresponds to a subportion of the portion of the sample matrix associated with the predetermined entropy segment, which precedes, along the entropy encoding path, the subportion corresponding to the current fragment,wherein the different parts are rows of blocks from the sample array and the sample array is an image from a video, and wherein the entropy-coding path spans rows.
2. Decoder according to claim 1, wherein the entropy segment order is chosen such that, along the entropy segment order, the different portions follow each other in a direction (16) at an angle to the entropy-coding paths (14) of the entropy segments, which, in turn, extend substantially parallel to each other.
3. Decoder according to claim 1 or 2, wherein each entropy segment has entropy-encoded data for a corresponding portion of the sample array,forming the different portions of block rows of the sample matrix with the blocks arranged regularly in rows and columns so that the portions corresponding to the entropy segments consist of the same number of blocks and the entropy coding path points in parallel along the rows of blocks, wherein the decoder is configured to perform, for each entropy segment (90), an initialization, for a respective entropy segment,of the probability estimates (94) before decoding the first block of the part (12) corresponding to the respective entropy segment along the respective entropy coding path (14) with probability estimates that manifest themselves after having entropy-decoded the second block (50) of the part (12) corresponding to the entropy segment in the order of the preceding entropy segment (16) along the respective entropy coding path.
4. Decoder according to claim 3, wherein the decoder is configured to store the probability estimates that manifest themselves after having entropy-decoded the second block of the portion corresponding to the entropy cut in the order of the entropy cut preceding the entropy cut along the respective entropy coding path,and using the stored probability estimates for initialization before decoding the first block of the portion corresponding to the respective entropy slice along the respective entropy coding path.
5. Decoder according to claim 1 or 2, wherein each entropy slice has entropy-encoded data therein for a corresponding portion of the sample array, forming the different portions of block rows of the sample array with the blocks arranged regularly in rows and columns such that the portions corresponding to the entropy slices consist of the same number of blocks and the entropy coding path points parallel along the rows of blocks, wherein the decoder is configured to perform, for each entropy slice,the entropy decoding along the respective entropy encoding path and the adaptation of the respective probability estimates along the respective entropy encoding path such that, after the current portion of the predetermined entropy segment has been entropy decoded based on the respective probability estimates (94) of the predetermined entropy segment, the respective probability estimates (94) of the predetermined entropy segment are adapted depending on the current portion of the predetermined entropy segment, and the probability estimates that manifest in the entropy decoding of the neighboring portion of the spatially neighboring entropy portion.
6. Decoder according to any of claim 5, wherein the decoder is configured such that the adaptation of the respective probability estimates of the predetermined entropy segment,After the current portion of the predetermined entropy segment has been entropy-decoded based on the respective probability estimates of the predetermined entropy segment, a first adaptation is performed depending on the current portion of the predetermined entropy segment, and an average is made of the result of the first adaptation with the probability estimates as used in the entropy-decoding of the neighboring portion of the spatially neighboring entropy segment.
7. Decoder according to any of claims 3 to 6,wherein the decoder is configured to direct the entropy decoding of immediately consecutive entropy segments in entropy segment order such that the distance of currently decoded blocks from portions corresponding to immediately consecutive entropy segments, measured in blocks along the entropy encoding paths, is never less than two blocks.
8. Decoder according to any one of claims 3 to 6, wherein the decoder is configured to direct the entropy decoding of immediately consecutive entropy segments in entropy segment order such that the distance of currently decoded blocks from portions corresponding to immediately consecutive entropy segments, measured in blocks along the entropy encoding paths, remains two blocks.
9. Decoder according to any one of claims 1 to 8,wherein the entropy segments are subdivided into fragments, and the decoder comprises a deintercalator for deintercalating the fragments and is configured to initiate entropy decoding of the entropy segments in parallel along the entropy encoding paths even before receiving any of the entropy segments as a whole.
10. Decoder according to any of claims 1 to 9, wherein the sample array (10) is a current sample array from a sequence of sample arrays and the decoder is configured to, in the entropy decoding of a predetermined entropy segment, entropy decode the current portion of the predetermined entropy segment based on the respective probability estimates of the predetermined entropy segment as adapted using the previously decoded portion of the predetermined entropy segment.The probability estimates as used in the entropy decoding of a spatially neighboring segment, in order of entropy segment preceding the entropy segment in a neighboring part of the spatially neighboring entropy segment, and the probability estimates used in the decoding of a previously decoded frame of the entropy-encoded data stream relative to a different sample array than the current sample array.
11. Encoder for encoding a sample array (10) into an entropy-encoded data stream, configured to entropy-encode a plurality of entropy segments into the entropy-encoded data stream, each entropy segment being associated with a different part (12) of the sample array, respectively, by performing, for each entropy segment,entropy coding along a respective entropy coding path (14) using respective probability estimates, adapting the respective probability estimates along the respective entropy coding path using a previously coded part of the respective entropy slice, initiating the entropy coding of the plurality of entropy segments sequentially using an order of entropy segments (16), and performing, in the entropy coding of a predetermined entropy segment, the entropy coding of an actual part of the predetermined entropy segment based on the respective probability estimates of the predetermined entropy segment as adapted using the previously coded part of the predetermined entropy segment, and probability estimates as used in the entropy coding of a spatially neighboring entropy segment,in order of previous entropy segment, in a neighboring part of the spatially neighboring entropy segment, in which the entropy segments are subdivided into fragments and the encoder is set up to check if a current fragment corresponds to one, along the entropy-coding path, first sub-portion of the portion of the sample matrix associated with the default entropy segment, and if so, entropy-code the current fragment under the adaptation of the respective probability estimates and take a state of the respective probability estimates as manifesting at one end of the entropy-coding of the current fragment, taking into account when entropy-coding another fragment that corresponds to one, along the entropy-coding path, second sub-portion of the portion of the sample matrix associated with the default entropy segment, and if not,Entropy-encoding the current fragment using probability estimates that depend on probability estimates that manifest at an entropy-encoding endpoint of a fragment corresponding to a subportion of the portion of the sample matrix associated with the predetermined entropy segment, which precedes, along the entropy-encoding path, the subportion corresponding to the current fragment, wherein the different parts are rows of blocks from the sample matrix and the sample matrix is an image from a video, and wherein the entropy-encoding path extends row by row.
12. Method for reconstructing a sample matrix (10) from an entropy-encoded data stream, comprising entropy-decoding a plurality of entropy segments within the entropy-encoded data stream to reconstruct different portions (12) of the sample matrix associated with the entropy segments,respectively, by performing, for each entropy segment, the entropy decoding along a respective entropy coding path (14) using respective probability estimates, adapting the respective probability estimates along the respective entropy coding path using a previously decoded part of the respective entropy segment, initiating the entropy decoding of the plurality of entropy segments sequentially using an order of entropy segments (16), and performing, in the entropy decoding of a predetermined entropy segment, the entropy decoding of an actual part of the predetermined entropy segment based on the respective probability estimates of the predetermined entropy segment as adapted using the previously decoded part of the predetermined entropy segment,and probability estimates as used in the entropy decoding of a spatially neighboring entropy segment, in order of previous entropy segment, on a neighboring part of the spatially neighboring entropy segment, wherein the entropy segments are subdivided into fragments, and the method further comprises checking whether a current fragment corresponds to a first sub-portion of the portion of the sample array associated with the predetermined entropy segment along the entropy encoding path, and if so, entropy decoding the current fragment by adapting the respective probability estimates and taking a state of the respective probability estimates as manifesting at the end of the entropy decoding of the current fragment, taking into account when entropy decoding another fragment that corresponds to a first sub-portion of the portion of the sample array associated with the predetermined entropy segment along the entropy encoding path,second subportion of the portion of the sample matrix associated with the predetermined entropy segment, and if not, entropy-decoding the current fragment using probability estimates that depend on probability estimates that manifest at an end of entropy-decoding a fragment that corresponds to a subportion of the portion of the sample matrix associated with the predetermined entropy segment, which precedes the sample matrix associated with the subportion corresponding to the current fragment, wherein the different parts are rows of blocks from the sample matrix and the sample matrix is an image from a video, and wherein the entropy-coding path spans rows.
13. Method for encoding a sample matrix (10) in an entropy-coded data stream, comprising entropy-coding a plurality of entropy segments in the entropy-coded data stream,where each entropy segment is associated with a different part (12) of the sample matrix, respectively, by performing, for each entropy segment, entropy coding along a respective entropy coding path (14) using respective probability estimates, adapting the respective probability estimates along the respective entropy coding path using a previously coded part of the respective entropy slice, initiating the entropy coding of the plurality of entropy segments sequentially using an entropy segment order (16), and performing, in the entropy coding of a predetermined entropy segment,the entropy coding of a current portion of the default entropy segment based on the respective probability estimates of the default entropy segment as adapted using the previously encoded portion of the default entropy segment, and probability estimates as used in the entropy coding of a spatially neighboring segment, in order of entropy segment preceding the entropy segment in a neighboring portion of the spatially neighboring entropy segment, wherein the entropy segments are subdivided into fragments, and the method further comprises checking whether a current fragment corresponds to one, along the entropy coding path, first subportion of the portion of the sample array associated with the default entropy segment, and if so,entropy-encode the current fragment under the adaptation of the respective probability estimates and take a state of the respective probability estimates as manifesting at an endpoint of the entropy-encoding of the current fragment, taking into account when entropy-encoding another fragment that corresponds to a, along the entropy-encoding path, second subportion of the portion of the sample matrix associated with the predetermined entropy segment, and if not, entropy-encode the current fragment using probability estimates that depend on probability estimates that manifest at an endpoint of the entropy-encoding of a fragment that corresponds to a subportion of the portion of the sample matrix associated with the predetermined entropy segment, which precedes, along the entropy-encoding path, the subportion corresponding to the current fragment,wherein the different parts are rows of blocks from the sample array and the sample array is an image from a video, and wherein the entropy coding path spans rows.
14. A computer program having program code configured to perform, when executed on a computer, a method according to claim 12 or 13.