EP4033672A1 - Context initialization in entropy coding - Google Patents
Context initialization in entropy coding Download PDFInfo
- Publication number
- EP4033672A1 EP4033672A1 EP21211399.7A EP21211399A EP4033672A1 EP 4033672 A1 EP4033672 A1 EP 4033672A1 EP 21211399 A EP21211399 A EP 21211399A EP 4033672 A1 EP4033672 A1 EP 4033672A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- bin
- probability
- syntax elements
- entropy
- decoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013139 quantization Methods 0.000 claims abstract description 62
- 230000001419 dependent effect Effects 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 62
- 230000036961 partial effect Effects 0.000 claims description 59
- 239000013598 vector Substances 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 12
- 238000009795 derivation Methods 0.000 claims description 7
- 230000002123 temporal effect Effects 0.000 claims description 6
- 239000000872 buffer Substances 0.000 description 120
- 238000013507 mapping Methods 0.000 description 46
- 238000009826 distribution Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 20
- 230000006978 adaptation Effects 0.000 description 14
- 238000004422 calculation algorithm Methods 0.000 description 14
- 238000010276 construction Methods 0.000 description 12
- 230000003595 spectral effect Effects 0.000 description 12
- 230000007704 transition Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 241000209094 Oryza Species 0.000 description 8
- 235000007164 Oryza sativa Nutrition 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 235000009566 rice Nutrition 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 7
- 235000019580 granularity Nutrition 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000009467 reduction Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000000638 solvent extraction Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009897 systematic effect Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 235000019587 texture Nutrition 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 241001086438 Euclichthys polynemus Species 0.000 description 1
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 241001025261 Neoraja caerulea Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4031—Fixed length to variable length coding
- H03M7/4037—Prefix coding
- H03M7/4043—Adaptive prefix coding
- H03M7/4068—Parameterized codes
- H03M7/4075—Golomb codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
- H03M7/4012—Binary arithmetic codes
- H03M7/4018—Context adapative binary arithmetic codes [CABAC]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/174—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Definitions
- the present invention is concerned with an entropy coding concept for coding video data.
- the symbol statistics of the symbols of the different contexts of the H.264 partially show a dependence on the quantization parameter QP, which the encoder chooses for the individual slices of the video.
- a quantization parameter dependent probability estimation initialization has been used.
- the H.264 codec defined a pair of values for each context, namely a linear quantization parameter dependent factor, i.e. slope, as well as an offset value, i.e. a quantization parameter independent initialization value. Both values were defined in 8 bits.
- a basic finding of the present invention results from the inventors' discovery that the accuracy at which the above identified slope and offset in context-adaptive binary entropy coding should not be too high so as to avoid that any training phase in which a representative blend of video content is inspected in order to derive the pairs of slope and offset values for the individual context stucks at optimized values which, in fact, more closely represent the blend of video content actually inspected, than representative values of the statistical population of videos. Accordingly, the inventors of the present invention found out that it is favorable to reduce the accuracy for providing slope and offset values for initializing the probability estimation of the contexts.
- the inventors realized, for example, that this reduction does not only lead to a reduction in the memory demands imposed onto video encoders and decoders for storing the pairs of slope and offset for each context, but also to a slight increase of coding efficiency when testing the coding efficiency in the field.
- Fig. 1 to 17 relate to the part of the video codec operating on the syntax level.
- the following figures 8 to 17 relate to embodiments for the part of the code relating to the conversion of the syntax element stream to the data stream and vice versa. Then, specific aspects and embodiments of the present invention are described in form of possible implementations of the general concept outlined with regard to Fig. 1 to 17 .
- Fig. 1 shows an example for an encoder 10 in which aspects of the present application may be implemented.
- the encoder encodes an array of information samples 20 into a data stream.
- the array of information samples may represent information samples corresponding to, for example, brightness values, color values, luma values, chroma values or the like.
- the information samples may also be depth values in case of the sample array 20 being a depth map generated by, for example, a time of light sensor or the like.
- the encoder 10 is a block-based encoder. That is, encoder 10 encodes the sample array 20 into the data stream 30 in units of blocks 40.
- the encoding in units of blocks 40 does not necessarily mean that encoder 10 encodes these blocks 40 totally independent from each other. Rather, encoder 10 may use reconstructions of previously encoded blocks in order to extrapolate or intra-predict remaining blocks, and may use the granularity of the blocks for setting coding parameters, i.e. for setting the way each sample array region corresponding to a respective block is coded.
- encoder 10 is a transform coder. That is, encoder 10 encodes blocks 40 by using a transform in order to transfer the information samples within each block 40 from spatial domain into spectral domain.
- a two-dimensional transform such as a DCT of FFT or the like may be used.
- the blocks 40 are of quadratic shape or rectangular shape.
- Fig. 1 shows the sample array 20 as being sub-divided into a regular two-dimensional arrangement of quadratic or rectangular blocks 40 which abut to each other in a non-overlapping manner.
- the size of the blocks 40 may be predetermined. That is, encoder 10 may not transfer an information on the block size of blocks 40 within the data stream 30 to the decoding side. For example, the decoder may expect the predetermined block size.
- the blocks may overlap each other.
- the overlapping may, however, be restricted to such an extent that each block has a portion not overlapped by any neighboring block, or such that each sample of the blocks is overlapped by, at the maximum, one block among the neighboring blocks arranged in juxtaposition to the current block along a predetermined direction.
- the latter would mean that the left and right hand neighbor blocks may overlap the current block so as to fully cover the current block but they may not overlay each other, and the same applies for the neighbors in vertical and diagonal direction.
- the sub-division of sample array 20 into blocks 40 may be adapted to the content of the sample array 20 by the encoder 10 with the sub-division information on the sub-division used being transferred to the decoder side via bitstream 30.
- Figures 2a to 2c show different examples for a sub-division of a sample array 20 into blocks 40.
- Fig. 2a shows a quadtree-based sub-division of a sample array 20 into blocks 40 of different sizes, with representative blocks being indicated at 40a, 40b, 40c and 40d with increasing size.
- the sample array 20 is firstly divided into a regular two-dimensional arrangement of tree blocks 40d which, in turn, have individual sub-division information associated therewith according to which a certain tree block 40d may be further sub-divided according to a quadtree structure or not.
- the tree block to the left of block 40d is exemplarily sub-divided into smaller blocks in accordance with a quadtree structure.
- the encoder 10 may perform one two-dimensional transform for each of the blocks shown with solid and dashed lines in Fig. 2a . In other words, encoder 10 may transform the array 20 in units of the block subdivision.
- a more general multi tree-based sub-division may be used and the number of child nodes per hierarchy level may differ between different hierarchy levels.
- Fig. 2b shows another example for a sub-division.
- the sample array 20 is firstly divided into macroblocks 40b arranged in a regular two-dimensional arrangement in a non-overlapping mutually abutting manner wherein each macroblock 40b has associated therewith sub-division information according to which a macroblock is not sub-divided, or, if subdivided, sub-divided in a regular two-dimensional manner into equally-sized sub-blocks so as to achieve different sub-division granularities for different macroblocks.
- the result is a sub-division of the sample array 20 in differently-sized blocks 40 with representatives of the different sizes being indicated at 40a, 40b and 40a'.
- the encoder 10 performs a two-dimensional transform on each of the blocks shown in Fig. 2b with the solid and dashed lines.
- Fig. 2c will be discussed later.
- Fig. 3 shows a decoder 50 being able to decode the data stream 30 generated by encoder 10 to reconstruct a reconstructed version 60 of the sample array 20.
- Decoder 50 extracts from the data stream 30 the transform coefficient block for each of the blocks 40 and reconstructs the reconstructed version 60 by performing an inverse transform on each of the transform coefficient blocks.
- Encoder 10 and decoder 50 may be configured to perform entropy encoding/decoding in order to insert the information on the transform coefficient blocks into, and extract this information from the data stream, respectively. Details in this regard in accordance with different embodiments are described later.
- the data stream 30 not necessarily comprises information on transform coefficient blocks for all the blocks 40 of the sample array 20. Rather, as sub-set of blocks 40 may be coded into the bitstream 30 in another way.
- encoder 10 may decide to refrain from inserting a transform coefficient block for a certain block of blocks 40 with inserting into the bitstream 30 alternative coding parameters instead which enable the decoder 50 to predict or otherwise fill the respective block in the reconstructed version 60.
- encoder 10 may perform a texture analysis in order to locate blocks within sample array 20 which may be filled at the decoder side by decoder by way of texture synthesis and indicate this within the bitstream accordingly.
- the transform coefficient blocks not necessarily represent a spectral domain representation of the original information samples of a respective block 40 of the sample array 20. Rather, such a transform coefficient block may represent a spectral domain representation of a prediction residual of the respective block 40.
- Fig. 4 shows an embodiment for such an encoder.
- the encoder of Fig. 4 comprises a transform stage 100, an entropy coder 102, an inverse transform stage 104, a predictor 106 and a subtractor 108 as well as an adder 110.
- Subtractor 108, transform stage 100 and entropy coder 102 are serially connected in the order mentioned between an input 112 and an output 114 of the encoder of Fig. 4 .
- the inverse transform stage 104, adder 110 and predictor 106 are connected in the order mentioned between the output of transform stage 100 and the inverting input of subtractor 108, with the output of predictor 106 also being connected to a further input of adder 110.
- the coder of Fig. 4 is a predictive transform-based block coder. That is, the blocks of a sample array 20 entering input 112 are predicted from previously encoded and reconstructed portions of the same sample array 20 or previously coded and reconstructed other sample arrays which may precede or succeed the current sample array 20 in presentation time. The prediction is performed by predictor 106. Subtractor 108 subtracts the prediction from such a original block and the transform stage 100 performs a two-dimensional transformation on the prediction residuals. The two-dimensional transformation itself or a subsequent measure inside transform stage 100 may lead to a quantization of the transformation coefficients within the transform coefficient blocks.
- the quantized transform coefficient blocks are losslessly coded by, for example, entropy encoding within entropy encoder 102 with the resulting data stream being output at output 114.
- the inverse transform stage 104 reconstructs the quantized residual and adder 110, in turn, combines the reconstructed residual with the corresponding prediction in order to obtain reconstructed information samples based on which predictor 106 may predict the afore-mentioned currently encoded prediction blocks.
- Predictor 106 may use different prediction modes such as intra prediction modes and inter prediction modes in order to predict the blocks and the prediction parameters are forwarded to entropy encoder 102 for insertion into the data stream.
- the motion data for a prediction block of a picture may involve a syntax portion including a syntax element representing a motion vector difference differentially coding the motion vector for the current prediction block relative to a motion vector predictor derived, for example, by way of a prescribed method from the motion vectors of neighboring already encoded prediction blocks.
- the transform coefficient blocks represent a spectral representation of a residual of the sample array rather than actual information samples thereof.
- a sequence of syntax elements may enter entropy encoder 102 for being entropy encoded into data stream 114.
- the sequence of syntax elements may comprise motion vector difference syntax elements for inter-prediction blocks and syntax elements concerning a significance map indicating positions of significant transform coefficient levels as well as syntax elements defining the significant transform coefficient levels themselves, for transform blocks.
- Fig. 5 shows a decoder able to decode a data stream generated by the encoder of Fig. 4 .
- the decoder of Fig. 5 comprises an entropy decoder 150, an inverse transform stage 152, an adder 154 and a predictor 156.
- Entropy decoder 150, inverse transform stage 152, and adder 154 are serially connected between an input 158 and an output 160 of the decoder of Fig. 5 in the order mentioned.
- a further output of entropy decoder 150 is connected to predictor 156 which, in turn, is connected between the output of adder 154 and a further input thereof.
- the entropy decoder 150 extracts, from the data stream entering the decoder of Fig.
- the transform coefficient blocks wherein an inverse transform is applied to the transform coefficient blocks at stage 152 in order to obtain the residual signal.
- the residual signal is combined with a prediction from predictor 156 at adder 154 so as to obtain a reconstructed block of the reconstructed version of the sample array at output 160.
- predictor 156 Based on the reconstructed versions, predictor 156 generates the predictions thereby rebuilding the predictions performed by predictor 106 at the encoder side. In order to obtain the same predictions as those used at the encoder side, predictor 156 uses the prediction parameters which the entropy decoder 150 also obtains from the data stream at input 158.
- the spatial granularity at which the prediction and the transformation of the residual is performed do not have to be equal to each other.
- Fig. 2C This figure shows a sub-division for the prediction blocks of the prediction granularity with solid lines and the residual granularity with dashed lines.
- the subdivisions may be selected by the encoder independent from each other.
- the data stream syntax may allow for a definition of the residual subdivision independent from the prediction subdivision.
- the residual subdivision may be an extension of the prediction subdivision so that each residual block is either equal to or a proper subset of a prediction block. This is shown on Fig. 2a and Fig.
- a block of (residual or original) samples is to be transformed at the encoder side into a transform coefficient block which, in turn, is to be inverse transformed into a reconstructed block of samples at the decoder side.
- Fig. 6 shows a block of samples 200.
- this block 200 is exemplarily quadratic and 4x4 samples 202 in size.
- the samples 202 are regularly arranged along a horizontal direction x and vertical direction y.
- block 200 is transformed into spectral domain, namely into a block 204 of transform coefficients 206, the transform block 204 being of the same size as block 200.
- transform block 204 has as many transform coefficients 206 as block 200 has samples, in both horizontal direction and vertical direction.
- transform T is a spectral transformation
- the positions of the transform coefficients 206 within transform block 204 do not correspond to spatial positions but rather to spectral components of the content of block 200.
- the horizontal axis of transform block 204 corresponds to an axis along which the spectral frequency in the horizontal direction monotonically increases while the vertical axis corresponds to an axis along which the spatial frequency in the vertical direction monotonically increases wherein the DC component transform coefficient is positioned in a corner - here exemplarily the top left corner - of block 204 so that at the bottom right-hand corner, the transform coefficient 206 corresponding to the highest frequency in both horizontal and vertical direction is positioned.
- the spatial frequency to which a certain transform coefficient 206 belongs generally increases from the top left corner to the bottom right-hand corner.
- the transform block 204 is retransferred from spectral domain to spatial domain, so as to re-obtain a copy 208 of block 200. In case no quantization/loss has been introduced during the transformation, the reconstruction would be perfect.
- the significant transform coefficient levels i.e. the transform coefficients not quantized to zero
- the positions of the significant transform coefficient levels is signaled within the data stream by way of a significance map.
- the values of the significant transform coefficient i.e., the transform coefficient levels in case of the transform coefficients being quantized, are transmitted within the data stream.
- All the encoders and decoders described above are, thus, configured to deal with a certain syntax of syntax elements. That is, the afore-mentioned syntax elements such as the transform coefficient levels, syntax elements concerning the significance map of transform blocks, the motion data syntax elements concerning inter-prediction blocks and so on are assumed to be sequentially arranged within the data stream in a prescribed way. Such a prescribed way may be represented in form of a pseudo code as it is done, for example, in the H.264 standard or other video codecs.
- the entropy encoder and entropy decoder of Fig. 4 and 5 may be configured to operate, and may be structured, as outlined next. Same are responsible for performing the conversion between syntax element sequence and data stream, i.e. symbol or bit stream.
- Fig. 7 An entropy encoder according to an embodiment is illustrated in Fig. 7 .
- the encoder losslessly converts a stream of syntax elements 301 into a set of two or more partial bitstreams 312.
- each syntax element 301 is associated with a category of a set of one or more categories, i.e. a syntax element type.
- the categories can specify the type of the syntax element.
- a separate category may be associated with macroblock coding modes, block coding modes, reference picture indices, motion vector differences, subdivision flags, coded block flags, quantization parameters, transform coefficient levels, etc.
- different categorizations of syntax elements are possible.
- each syntax element can take a value of a finite or countable infinite set of values, where the set of possible syntax element values can differ for different syntax element categories. For example, there are binary syntax elements as well as integer-valued ones.
- the syntax elements 301 are converted into ordered sets of binary decisions and these binary decisions are then processed by simple binary coding algorithms. Therefore, the binarizer 302 bijectively maps the value of each syntax element 301 onto a sequence (or string or word) of bins 303.
- the sequence of bins 303 represents a set of ordered binary decisions.
- Each bin 303 or binary decision can take one value of a set of two values, e.g. one of the values 0 and 1.
- the binarization scheme can be different for different syntax element categories.
- the binarization scheme for a particular syntax element category can depend on the set of possible syntax element values and/or other properties of the syntax element for the particular category.
- Table 1 illustrates three example binarization schemes for countable infinite sets. Binarization schemes for countable infinite sets can also be applied for finite sets of syntax element values. In particular for large finite sets of syntax element values, the inefficiency (resulting from unused sequences of bins) can be negligible, but the universality of such binarization schemes provides an advantage in terms of complexity and memory requirements. For small finite sets of syntax element values, it is often preferable (in terms of coding efficiency) to adapt the binarization scheme to the number of possible symbol values.
- Table 2 illustrates three example binarization schemes for finite sets of 8 values.
- Binarization schemes for finite sets can be derived from the universal binarization schemes for countable infinite sets by modifying some sequences of bins in a way that the finite sets of bin sequences represent a redundancy-free code (and potentially reordering the bin sequences).
- the truncated unary binarization scheme in Table 2 was created by modifying the bin sequence for the syntax element 7 of the universal unary binarization (see Table 1).
- the truncated and reordered Exp-Golomb binarization of order 0 in Table 2 was created by modifying the bin sequence for the syntax element 7 of the universal Exp-Golomb order 0 binarization (see Table 1) and by reordering the bin sequences (the truncated bin sequence for symbol 7 was assigned to symbol 1).
- Table 1 Binarization examples for countable infinite sets (or large finite sets).
- Each bin 303 of the sequence of bins created by the binarizer 302 is fed into the parameter assigner 304 in sequential order.
- the parameter assigner assigns a set of one or more parameters to each bin 303 and outputs the bin with the associated set of parameters 305.
- the set of parameters is determined in exactly the same way at encoder and decoder.
- the set of parameters may consist of one or more of the following parameters:
- parameter assigner 304 may be configured to assign to a current bin 303 a context model. For example, parameter assigner 304 may select one of available context indices for the current bin 303.
- the available set of contexts for a current bin 303 may depend on the type of the bin which, in turn, may be defined by the type/category of the syntax element 301, the binarization of which the current bin 303 is part of, and a position of the current bin 303 within the latter binarization.
- the context selection among the available context set may depend on previous bins and the syntax elements associated with the latter.
- Each of these contexts has a probability model associated therewith, i.e. a measure for an estimate of the probability for one of the two possible bin values for the current bin.
- the probability model may in particular be a measure for an estimate of the probability for the less probable or more probable bin value for the current bin, with a probability model additionally being defined by an identifier specifying an estimate for which of the two possible bin values represents the less probable or more probable bin value for the current bin 303.
- the context selection may be left away.
- parameter assigner 304 may also perform a probability model adaptation in order to adapt the probability models associated with the various contexts to the actual bin statistics of the respective bins belonging to the respective contexts.
- parameter assigner 304 may operate differently depending on a high efficiency (HE) mode or low complexity (LC) mode being activated. In both modes the probability model associates the current bin 303 to any of the bin encoders 310 as will be outlined below, but the mode of operation of the parameter assigner 304 tends to be less complex in the LC mode with, however, the coding efficiency being increased in the high efficiency mode due to the parameter assigner 304 causing the association of the individual bins 303 to the individual encoders 310 to be more accurately adapted to the bin statistics, thereby optimizing the entropy relative to the LC mode.
- HE high efficiency
- LC low complexity
- Each bin with an associated set of parameters 305 that is output of the parameter assigner 304 is fed into a bin buffer selector 306.
- the bin buffer selector 306 potentially modifies the value of the input bin 305 based on the input bin value and the associated parameters 305 and feeds the output bin 307 - with a potentially modified value - into one of two or more bin buffers 308.
- the bin buffer 308 to which the output bin 307 is sent is determined based on the value of the input bin 305 and/or the value of the associated parameters 305.
- the bin buffer selector 306 does not modify the value of the bin, i.e., the output bin 307 has always the same value as the input bin 305. In a further preferred embodiment of the invention, the bin buffer selector 306 determines the output bin value 307 based on the input bin value 305 and the associated measure for an estimate of the probability for one of the two possible bin values for the current bin.
- the output bin value 307 is set equal to the input bin value 305 if the measure for the probability for one of the two possible bin values for the current bin is less than (or less than or equal to) a particular threshold; if the measure for the probability for one of the two possible bin values for the current bin is greater than or equal to (or greater than) a particular threshold, the output bin value 307 is modified (i.e., it is set to the opposite of the input bin value).
- the output bin value 307 is set equal to the input bin value 305 if the measure for the probability for one of the two possible bin values for the current bin is greater than (or greater than or equal to) a particular threshold; if the measure for the probability for one of the two possible bin values for the current bin is less than or equal to (or less than) a particular threshold, the output bin value 307 is modified (i.e., it is set to the opposite of the input bin value).
- the value of the threshold corresponds to a value of 0.5 for the estimated probability for both possible bin values.
- the bin buffer selector 306 determines the output bin value 307 based on the input bin value 305 and the associated identifier specifying an estimate for which of the two possible bin values represents the less probable or more probable bin value for the current bin.
- the output bin value 307 is set equal to the input bin value 305 if the identifier specifies that the first of the two possible bin values represents the less probable (or more probable) bin value for the current bin, and the output bin value 307 is modified (i.e., it is set to the opposite of the input bin value) if identifier specifies that the second of the two possible bin values represents the less probable (or more probable) bin value for the current bin.
- the bin buffer selector 306 determines the bin buffer 308 to which the output bin 307 is sent based on the associated measure for an estimate of the probability for one of the two possible bin values for the current bin.
- the set of possible values for the measure for an estimate of the probability for one of the two possible bin values is finite and the bin buffer selector 306 contains a table that associates exactly one bin buffer 308 with each possible value for the estimate of the probability for one of the two possible bin values, where different values for the measure for an estimate of the probability for one of the two possible bin values can be associated with the same bin buffer 308.
- the range of possible values for the measure for an estimate of the probability for one of the two possible bin values is partitioned into a number of intervals
- the bin buffer selector 306 determines the interval index for the current measure for an estimate of the probability for one of the two possible bin values
- the bin buffer selector 306 contains a table that associates exactly one bin buffer 308 with each possible value for the interval index, where different values for the interval index can be associated with the same bin buffer 308.
- input bins 305 with opposite measures for an estimate of the probability for one of the two possible bin values are fed into the same bin buffer 308.
- the association of the measure for an estimate of the probability for one of the two possible bin values for the current bin with a particular bin buffer is adapted over time, e.g. in order to ensure that the created partial bitstreams have similar bit rates.
- the interval index will also be called pipe index, while the pipe index along with a refinement index and a flag indicating the more probable bin value indexes the actual probability model, i.e. the probability estimate.
- the bin buffer selector 306 determines the bin buffer 308 to which the output bin 307 is sent based on the associated measure for an estimate of the probability for the less probable or more probable bin value for the current bin.
- the set of possible values for the measure for an estimate of the probability for the less probable or more probable bin value is finite and the bin buffer selector 306 contains a table that associates exactly one bin buffer 308 with each possible value of the estimate of the probability for the less probable or more probable bin value, where different values for the measure for an estimate of the probability for the less probable or more probable bin value can be associated with the same bin buffer 308.
- the range of possible values for the measure for an estimate of the probability for the less probable or more probable bin value is partitioned into a number of intervals
- the bin buffer selector 306 determines the interval index for the current measure for an estimate of the probability for the less probable or more probable bin value
- the bin buffer selector 306 contains a table that associates exactly one bin buffer 308 with each possible value for the interval index, where different values for the interval index can be associated with the same bin buffer 308.
- the association of the measure for an estimate of the probability for the less probable or more probable bin value for the current bin with a particular bin buffer is adapted over time, e.g. in order to ensure that the created partial bitstreams have similar bit rates.
- Each of the two or more bin buffers 308 is connected with exactly one bin encoder 310 and each bin encoder is only connected with one bin buffer 308.
- Each bin encoder 310 reads bins from the associated bin buffer 308 and converts a sequence of bins 309 into a codeword 311, which represents a sequence of bits.
- the bin buffers 308 represent first-in-first-out buffers; bins that are fed later (in sequential order) into a bin buffer 308 are not encoded before bins that are fed earlier (in sequential order) into the bin buffer.
- the codewords 311 that are output of a particular bin encoder 310 are written to a particular partial bitstream 312.
- the overall encoding algorithm converts syntax elements 301 into two or more partial bitstreams 312, where the number of partial bitstreams is equal to the number of bin buffers and bin encoders.
- a bin encoder 310 converts a variable number of bins 309 into a codeword 311 of a variable number of bits.
- the bin encoding which is done by the bin encoders 310, can be specifically designed for different sets of parameters 305.
- the bin encoding and encoding can be optimized (in terms of coding efficiency and/or complexity) for different groups of estimated probabilities. On the one hand side, this allows a reduction of the encoding/decoding complexity, and on the other hand side, it allows an improvement of the coding efficiency.
- the bin encoders 310 implement different encoding algorithms (i.e. mapping of bin sequences onto codewords) for different groups of measures for an estimate of the probability for one of the two possible bin values 305 for the current bin.
- the bin encoders 310 implement different encoding algorithms for different groups of measures for an estimate of the probability for the less probable or more probable bin value for the current bin.
- the bin encoders 310 - or one or more of the bin encoders - represent entropy encoders that directly map sequences of input bins 309 onto codewords 310.
- Such mappings can be efficiently implemented and don't require a complex arithmetic coding engine.
- the inverse mapping of codewords onto sequences of bins should to be unique in order to guarantee perfect decoding of the input sequence, but the mapping of bin sequences 309 onto codewords 310 doesn't necessarily need to be unique, i.e., it is possible that a particular sequence of bins can be mapped onto more than one sequence of codewords.
- the mapping of sequences of input bins 309 onto codewords 310 is bijective.
- the bin encoders 310 - or one or more of the bin encoders - represent entropy encoders that directly map variable-length sequences of input bins 309 onto variable-length codewords 310.
- the output codewords represent redundancy-free codes such as general huffman codes or canonical huffman codes.
- the output codewords represent redundant codes suitable for error detection and error recovery.
- the output codewords represent encryption codes suitable for encrypting the syntax elements. Table 3: Examples for mappings between bin sequences and codewords.
- sequence of bins (bin order is from left to right) codewords (bits order is from left to right) 0000 0000 1 0000 0001 0000 0000 001 0001 0000 01 0010 0000 1 0011 0001 0100 001 0101 01 0110 1 0111 sequence of bins (bin order is from left to right) codewords (bits order is from left to right) 000 10 01 11 001 010 11 011 1000 0 0001 1001 0010 1010 0011 1000 1 0000 0 1011 0000 1
- the bin encoders 310 - or one or more of the bin encoders - represent entropy encoders that directly map variable-length sequences of input bins 309 onto fixed-length codewords 310. In a further preferred embodiment of the invention, the bin encoders 310 - or one or more of the bin encoders - represent entropy encoders that directly map fixed-length sequences of input bins 309 onto variable-length codewords 310.
- the decoder according an embodiment of the invention is illustrated in Figure 8 .
- the decoder performs basically the inverse operations of the encoder, so that the (previously encoded) sequence of syntax elements 327 is decoded from a set of two or more partial bitstreams 324.
- the decoder includes two different process flows: A flow for data requests, which replicates the data flow of the encoder, and a data flow, which represents the inverse of the encoder data flow.
- the dashed arrows represent the data request flow, while the solid arrows represent the data flow.
- the building blocks of the decoder basically replicate the building blocks of the encoder, but implement the inverse operations.
- each request for a new decoded syntax element 313 is associated with a category of a set of one or more categories.
- the category that is associated with a request for a syntax element is the same as the category that was associated with the corresponding syntax element during encoding.
- the binarizer 314 maps the request for a syntax element 313 into one or more requests for a bin that are sent to the parameter assigner 316. As final response to a request for a bin that is sent to the parameter assigner 316 by the binarizer 314, the binarizer 314 receives a decoded bin 326 from the bin buffer selector 318. The binarizer 314 compares the received sequence of decoded bins 326 with the bin sequences of a particular binarization scheme for the requested syntax element and, if the received sequence of decoded bins 26 matches the binarization of a syntax element, the binarizer empties its bin buffer and outputs the decoded syntax element as final response to the request for a new decoded symbol.
- the binarizer sends another request for a bin to the parameter assigner until the sequence of decoded bins matches one of the bin sequences of the binarization scheme for the requested syntax element.
- the decoder uses the same binarization scheme that was used for encoding the corresponding syntax element.
- the binarization scheme can be different for different syntax element categories.
- the binarization scheme for a particular syntax element category can depend on the set of possible syntax element values and/or other properties of the syntax elements for the particular category.
- the parameter assigner 316 assigns a set of one or more parameters to each request for a bin and sends the request for a bin with the associated set of parameters to the bin buffer selector.
- the set of parameters that are assigned to a requested bin by the parameter assigner is the same that was assigned to the corresponding bin during encoding.
- the set of parameters may consist of one or more of the parameters that are mentioned in the encoder description of Fig. 7 .
- the parameter assigner 316 associates each request for a bin with the same parameters as assigner 304 did, i.e. a context and its associated measure for an estimate of the probability for one of the two possible bin values for the current requested bin, such as a measure for an estimate of the probability for the less probable or more probable bin value for the current requested bin and an identifier specifying an estimate for which of the two possible bin values represents the less probable or more probable bin value for the current requested bin.
- the parameter assigner 316 may determine one or more of the above mentioned probability measures (measure for an estimate of the probability for one of the two possible bin values for the current requested bin, measure for an estimate of the probability for the less probable or more probable bin value for the current requested bin, identifier specifying an estimate for which of the two possible bin values represents the less probable or more probable bin value for the current requested bin) based on a set of one or more already decoded symbols.
- the determination of the probability measures for a particular request for a bin replicates the process at the encoder for the corresponding bin.
- the decoded symbols that are used for determining the probability measures can include one or more already decoded symbols of the same symbol category, one or more already decoded symbols of the same symbol category that correspond to data sets (such as blocks or groups of samples) of neighboring spatial and/or temporal locations (in relation to the data set associated with the current request for a syntax element), or one or more already decoded symbols of different symbol categories that correspond to data sets of the same and/or neighboring spatial and/or temporal locations (in relation to the data set associated with the current request for a syntax element).
- Each request for a bin with an associated set of parameters 317 that is output of the parameter assigner 316 is fed into a bin buffer selector 318. Based on the associated set of parameters 317, the bin buffer selector 318 sends a request for a bin 319 to one of two or more bin buffers 320 and receives a decoded bin 325 from the selected bin buffer 320. The decoded input bin 325 is potentially modified and the decoded output bin 326 - with a potentially modified value - is send to the binarizer 314 as final response to the request for a bin with an associated set of parameters 317.
- the bin buffer 320 to which the request for a bin is forwarded is selected in the same way as the bin buffer to which the output bin of the bin buffer selector at the encoder side was sent.
- the bin buffer selector 318 determines the bin buffer 320 to which the request for a bin 319 is sent based on the associated measure for an estimate of the probability for one of the two possible bin values for the current requested bin.
- the set of possible values for the measure for an estimate of the probability for one of the two possible bin values is finite and the bin buffer selector 318 contains a table that associates exactly one bin buffer 320 with each possible value of the estimate of the probability for one of the two possible bin values, where different values for the measure for an estimate of the probability for one of the two possible bin values can be associated with the same bin buffer 320.
- the range of possible values for the measure for an estimate of the probability for one of the two possible bin values is partitioned into a number of intervals
- the bin buffer selector 318 determines the interval index for the current measure for an estimate of the probability for one of the two possible bin values
- the bin buffer selector 318 contains a table that associates exactly one bin buffer 320 with each possible value for the interval index, where different values for the interval index can be associated with the same bin buffer 320.
- requests for bins 317 with opposite measures for an estimate of the probability for one of the two possible bin values are forwarded to the same bin buffer 320.
- the association of the measure for an estimate of the probability for one of the two possible bin values for the current bin request with a particular bin buffer is adapted over time.
- the bin buffer selector 318 determines the bin buffer 320 to which the request for a bin 319 is sent based on the associated measure for an estimate of the probability for the less probable or more probable bin value for the current requested bin.
- the set of possible values for the measure for an estimate of the probability for the less probable or more probable bin value is finite and the bin buffer selector 318 contains a table that associates exactly one bin buffer 320 with each possible value of the estimate of the probability for the less probable or more probable bin value, where different values for the measure for an estimate of the probability for the less probable or more probable bin value can be associated with the same bin buffer 320.
- the range of possible values for the measure for an estimate of the probability for the less probable or more probable bin value is partitioned into a number of intervals
- the bin buffer selector 318 determines the interval index for the current measure for an estimate of the probability for the less probable or more probable bin value
- the bin buffer selector 318 contains a table that associates exactly one bin buffer 320 with each possible value for the interval index, where different values for the interval index can be associated with the same bin buffer 320.
- the association of the measure for an estimate of the probability for the less probable or more probable bin value for the current bin request with a particular bin buffer is adapted over time.
- the bin buffer selector 318 After receiving a decoded bin 325 from the selected bin buffer 320, the bin buffer selector 318 potentially modifies the input bin 325 and sends the output bin 326 - with a potentially modified value - to the binarizer 314.
- the input/output bin mapping of the bin buffer selector 318 is the inverse of the input/output bin mapping of the bin buffer selector at the encoder side.
- the bin buffer selector 318 does not modify the value of the bin, i.e., the output bin 326 has always the same value as the input bin 325. In a further preferred embodiment of the invention, the bin buffer selector 318 determines the output bin value 326 based on the input bin value 325 and the measure for an estimate of the probability for one of the two possible bin values for the current requested bin that is associated with the request for a bin 317.
- the output bin value 326 is set equal to the input bin value 325 if the measure for the probability for one of the two possible bin values for the current bin request is less than (or less than or equal to) a particular threshold; if the measure for the probability for one of the two possible bin values for the current bin request is greater than or equal to (or greater than) a particular threshold, the output bin value 326 is modified (i.e., it is set to the opposite of the input bin value).
- the output bin value 326 is set equal to the input bin value 325 if the measure for the probability for one of the two possible bin values for the current bin request is greater than (or greater than or equal to) a particular threshold; if the measure for the probability for one of the two possible bin values for the current bin request is less than or equal to (or less than) a particular threshold, the output bin value 326 is modified (i.e., it is set to the opposite of the input bin value).
- the value of the threshold corresponds to a value of 0.5 for the estimated probability for both possible bin values.
- the bin buffer selector 318 determines the output bin value 326 based on the input bin value 325 and the identifier, specifying an estimate for which of the two possible bin values represents the less probable or more probable bin value for the current bin request, that is associated with the request for a bin 317.
- the output bin value 326 is set equal to the input bin value 325 if the identifier specifies that the first of the two possible bin values represents the less probable (or more probable) bin value for the current bin request, and the output bin value 326 is modified (i.e., it is set to the opposite of the input bin value) if identifier specifies that the second of the two possible bin values represents the less probable (or more probable) bin value for the current bin request.
- the bin buffer selector sends a request for a bin 319 to one of the two or more bin buffers 320.
- the bin buffers 20 represent first-in-first-out buffers, which are fed with sequences of decoded bins 321 from the connected bin decoders 322.
- the bin buffer 320 removes the bin of its content that was first fed into the bin buffer 320 and sends it to the bin buffer selector 318. Bins that are earlier sent to the bin buffer 320 are earlier removed and sent to the bin buffer selector 318.
- Each of the two or more bin buffers 320 is connected with exactly one bin decoder 322 and each bin decoder is only connected with one bin buffer 320.
- Each bin decoder 322 reads codewords 323, which represent sequences of bits, from a separate partial bitstream 324.
- the bin decoder converts a codeword 323 into a sequence of bins 321 that is sent to the connected bin buffer 320.
- the overall decoding algorithm converts two or more partial bitstreams 324 into a number of decoded syntax elements, where the number of partial bitstreams is equal to the number of bin buffers and bin decoders and the decoding of syntax elements is triggered by requests for new syntax elements.
- a bin decoder 322 converts codewords 323 of a variable number of bits into a sequence of a variable number of bins 321.
- One advantage of embodiments of the invention is that the decoding of bins from the two or more partial bitstreams can be done in parallel (e.g. for different groups of probability measures), which reduces the processing time for several implementations.
- the bin decoding which is done by the bin decoders 322, can be specifically designed for different sets of parameters 317.
- the bin encoding and decoding can be optimized (in terms of coding efficiency and/or complexity) for different groups of estimated probabilities. On the one hand side, this allows a reduction of the encoding/decoding complexity relative to state-of-the-art entropy coding algorithms with similar coding efficiency. On the other hand side, it allows an improvement of the coding efficiency relative to state-of-the-art entropy coding algorithms with similar encoding/decoding complexity.
- the bin decoders 322 implement different decoding algorithms (i.e.
- the bin decoders 322 implement different decoding algorithms for different groups of measures for an estimate of the probability for the less probable or more probable bin value for the current requested bin.
- the bin decoders 322 do the inverse mapping of the corresponding bin encoders at the encoder side.
- the bin decoders 322 - or one or more of the bin decoders - represent entropy decoders that directly map codewords 323 onto sequences of bins 321. Such mappings can be efficiently implemented and don't require a complex arithmetic coding engine.
- the mapping of codewords onto sequences of bins has to be unique.
- the mapping of codewords 323 onto sequences of bins 321 is bijective.
- the bin decoders 310 - or one or more of the bin decoders - represent entropy decoders that directly map variable-length codewords 323 into variable-length sequences of bins 321.
- the input codewords represent redundancy-free codes such as general huffman codes or canonical huffman codes. Two examples for the bijective mapping of redundancy-free codes to bin sequences are illustrated in Table 3.
- the bin decoders 322 - or one or more of the bin decoders - represent entropy decoders that directly map fixed-length codewords 323 onto variable-length sequences of bins 321. In a further preferred embodiment of the invention, the bin decoders 322 - or one or more of the bin decoders - represent entropy decoders that directly map variable-length codewords 323 onto fixed-length sequences of bins 321.
- Fig. 7 and 8 showed an embodiment for an encoder for encoding a sequence of symbols 3 and a decoder for reconstructing same.
- the encoder comprises an assigner 304 configured to assign a number of parameters 305 to each symbol of the sequence of symbols. The assignment is based on information contained within previous symbols of the sequence of symbols such as the category of the syntax element 1 to the representation - such as binarization - of which the current symbol belongs and which, according to the syntax structure of the syntax elements 1, is currently be expected which expectation, in turn, is deducible from the history of previous syntax elements 1 and symbols 3.
- the encoder comprises a plurality of entropy encoders 10 each of which is configured to convert the symbols 3 forwarded to the respective entropy encoder into a respective bitstream 312, and a selector 306 configured to forward each symbol 3 to a selected one of the plurality of entropy encoders 10, the selection depending on the number of parameters 305 assigned to the respective symbol 3.
- the assignor 304 could be thought of as being integrated into selector 206 in order to yield a respective selector 502.
- the decoder for reconstructing a sequence of symbols comprises a plurality of entropy decoders 322, each of which is configured to convert a respective bitstream 323 into symbols 321; an assigner 316 configured to assign a number of parameters 317 to each symbol 315 of a sequence of symbols to be reconstructed based on information contained within previously reconstructed symbols of the sequence of symbols (see 326 and 327 in Fig. 8 ); and a selector 318 configured to retrieve each symbol of the sequence of symbols to be reconstructed from a selected one of the plurality of entropy decoders 322, the selection depending on the number of parameters defined to the respective symbol.
- the assigner 316 may be configured such that the number of parameters assigned to each symbol comprises, or is, a measure for an estimate of a probability of distribution among the possible symbol values a respective symbol may assume. Again, assignor 316 and selector 318 may be thought of as integrated into one block, a selector 402.
- the sequence of symbols to be reconstructed may be of a binary alphabet and the assigner 316 may be configured such that the estimate of the probability distribution consists of a measure for an estimate of a probability of a less probable or more probable bin value of the two possible bin values of the binary alphabet and an identifier specifying an estimate for which of the two possible bin values represents the less probable or more probable bin value.
- the assigner 316 may further be configured to internally assign a context to each symbol of the sequence of symbols 315 to be reconstructed based on the information contained within previously reconstructed symbols of the sequence of symbols to be reconstructed with each context having a respective probability distribution estimate associated therewith, and to adapt the probability distribution estimate for each context to an actual symbol statistic based on symbol values of previously reconstructed symbols to which the respective context is assigned.
- the context may take into account a spatial relationship or neighborhood of positions to which the syntax elements belong such as in video or picture coding, or even in tables in case of financial applications.
- the measure for the estimate of the probability distribution for each symbol may be determined based on the probability distribution estimate associated with the context assigned to the respective symbol such as by quantizing, or using as an index into a respective table, the probability distribution estimate associated with the context assigned with the respective symbol (in the below embodiments indexed by a pipe index along with a refinement index) to one of a plurality of probability distribution estimate representatives (clipping away the refinement index) in order to obtain the measure for the estimate of the probability distribution (the pipe index indexing the partial bitstream 312).
- the selector may be configured such that a bijective association is defined between the plurality of entropy encoders and the plurality of probability distribution estimate representatives.
- the selector 18 may be configured to change a quantization mapping from a range of the probability distribution estimates to the plurality of probability distribution estimate representatives in a predetermined deterministic way depending on previously reconstructed symbols of the sequence of symbols, over time. That is, selector 318 may change the quantization step sizes, i.e. the intervals of probability distributions mapped onto the individual probability indices bijectively associated with the individual entropy decoders.
- the plurality of entropy decoders 322 may be configured to adapt their way of converting symbols into bit streams responsive to a change in the quantization mapping.
- each entropy decoder 322 may be optimized for, i.e may have an optimal compression rate for, a certain probability distribution estimate within the respective probability distribution estimate quantization interval, and may change its codeword/symbol sequence mapping so as to adapt the position of this certain probability distribution estimate within the respective probability distribution estimate quantization interval upon a change of the latter so as to be optimized.
- the selector may be configured to change the quantization mapping such that rates by which the symbols are retrieved from the plurality of entropy decoders, are made less dispersed.
- the binarizer 314 it is noted that same me be left away if the syntax elements are already binary. Further, depending on the type of decoder 322, the existence of the buffers 320 is not necessary. Further, the buffers may be integrated within the decoders.
- the encoding and decoding is done for a finite set of syntax elements. Often a certain quantity of data such as a still image, a frame or field of a video sequence, a slice of an image, a slice of a frame or a field of a video sequence, or a set of successive audio samples, etc. is coded.
- a certain quantity of data such as a still image, a frame or field of a video sequence, a slice of an image, a slice of a frame or a field of a video sequence, or a set of successive audio samples, etc. is coded.
- the partial bitstreams that are created at the encoder side have to be terminated, i.e., it has to be ensured that all syntax elements can be decoded from the transmitted or stored partial bitstreams.
- the bin encoder 310 After the last bin is inserted into the corresponding bin buffer 308, the bin encoder 310 has to ensure that a complete codeword is written to the partial bitstream 312. If the bin encoder 310 represents an entropy encoder that implements a direct mapping of bin sequences onto codewords, the bin sequence that is stored in the bin buffer after writing the last bin to the bin buffer might not represent a bin sequence that is associated with a codeword (i.e., it might represent a prefix of two or more bin sequences that are associated with codewords). In such a case, any of the codewords associated with a bin sequence that contains the bin sequence in the bin buffer as prefix has to be written to the partial bitstream (the bin buffer has to be flushed).
- the bin encoder selects one of the codewords with minimum length (in addition to the property that the associated bin sequence must contain the bin sequence in the bin buffer as prefix).
- the bin decoder 322 may decode more bins than required for the last codeword in a partial bitstream; these bins are not requested by the bin buffer selector 318 and are discarded and ignored.
- the decoding of the finite set of symbols is controlled by requests for decoded syntax elements; if no further syntax element is requested for a quantity of data, the decoding is terminated.
- the partial bitstreams 312 that are created by the encoder can be transmitted separately, or they can be multiplexed into a single bitstream, or the codewords of the partial bitstreams can be interleaved in a single bitstream.
- each partial bitstream for a quantity of data is written to one data packet.
- the quantity of data can be an arbitrary set of syntax elements such as a still picture, a field or frame of a video sequence, a slice of a still picture, a slice of a field or frame of a video sequence, or a frame of audio samples, etc.
- two or more of the partial bitstreams for a quantity of data or all partial bitstreams for a quantity of data are multiplexed into one data packet.
- the structure of a data packet that contains multiplexed partial bitstreams is illustrated in Figure 9 .
- the data packet 400 consists of a header and one partition for the data of each partial bitstream (for the considered quantity of data).
- the header 400 of the data packet contains indications for the partitioning of the (remainder of the) data packet into segments of bitstream data 402. Beside the indications for the partitioning, the header may contain additional information.
- the indications for the partitioning of the data packet are the locations of the beginning of the data segments in units of bits or bytes or multiples of bits or multiples of bytes.
- the locations of the beginning of the data segments are coded as absolute values in the header of the data packet, either relative to the beginning of the data packet or relative to the end of the header or relative to the beginning of the previous data packet.
- the locations of the beginning of the data segments are differentially coded, i.e., only the difference between the actual beginning of a data segment and a prediction for the beginning of the data segment is coded.
- the prediction can be derived based on already known or transmitted information such as the overall size of the data packet, the size of the header, the number of data segments in the data packet, the location of the beginning of preceding data segments.
- the location of the beginning of the first data packet is not coded, but inferred based on the size of the data packet header.
- the transmitted partition indications are used for deriving the beginning of the data segments.
- the data segments are then used as partial bitstreams and the data contained in the data segments are fed into the corresponding bin decoders in sequential order.
- Fig. 10 There are several alternatives for multiplexing the partial bitstreams into a data packet.
- the payload of the data packet i.e., the data packet 410 without its header 411, is partitioned into segments 412 a predefined way.
- the data packet payload can be partitioned into segments of the same size. Then each segment is associated with a partial bitstream or with the first part of a partial bitstream 413. If a partial bitstream is greater than the associated data segment, its remainder 414 is placed into the unused space at the end of other data segments.
- the above described multiplexing of the partial bitstreams (for a quantity of syntax elements) in one data packet can have the following disadvantages: On the one hand side, for small data packets, the number of bits for the side information that is required for signaling the partitioning can become significant relative to the actual data in the partial bitstreams, which finally reduces the coding efficiency. On the other hand, the multiplexing may not suitable for applications that require a low delay (e.g. for video conferencing applications). With the described multiplexing, the encoder cannot start the transmission of a data packet before the partial bitstreams have been completely created, since the locations of the beginning of the partitions are not known before.
- the decoder has to wait until it receives the beginning of the last data segment before it can start the decoding of a data packet.
- these delays can add-up to an additional overall delay of the system of several video pictures (in particular for bit rates that are close to the transmission bit rate and for encoders/decoders that require nearly the time interval between two pictures for encoding/decoding a picture), which is critical for such applications.
- the encoder of a preferred embodiment of the invention can be configured in a way that the codewords that are generated by the two or more bin encoders are interleaved into a single bitstream.
- the bitstream with the interleaved codewords can be directly send to the decoder (when neglecting a small buffer delay, see below).
- the two or more bin decoders read the codewords directly from the bitstream in decoding order; the decoding can be started with the first received bit.
- no side information is required for signaling the multiplexing (or interleaving) of the partial bitstreams.
- a further way of reducing the decoder complexity can be achieved when the bin decoders 322 don't read variable-length codewords from a global bit buffer, but instead they always read fixed-length sequences of bits from the global bit buffer and add these fixed-length sequences of bits to a local bit buffer, where each bin decoder 322 is connected with a separate local bit buffer. The variable-length codewords are then read from the local bit buffer.
- the parsing of variable-length codewords can be done in parallel, only the access of fixed-length sequences of bits has to be done in a synchronized way, but such an access of fixed-length sequences of bits is usually very fast, so that the overall decoding complexity can be reduced for some architectures.
- the fixed number of bins that are sent to a particular local bit buffer can be different for different local bit buffer and it can also vary over time, depending on certain parameters as events in the bin decoder, bin buffer, or bit buffer.
- the number of bits that are read by a particular access does not depend on the actual bits that are read during the particular access, which is the important difference to the reading of variable-length codewords.
- the reading of the fixed-length sequences of bits is triggered by certain events in the bin buffers, bin decoders, or local bit buffers. As an example, it is possible to request the reading of a new fixed-length sequence of bits when the number of bits that are present in a connected bit buffer falls below a predefined threshold, where different threshold values can be used for different bit buffers.
- the embodiments outlined below describe possible implementations for the individual entropy coders 310 and decoders 322 in Fig. 7 to 17 , respectively. They are suitable for coding of bins, i.e. binary symbols, as they occur in image or video compression applications. Accordingly, these embodiments are also applicable to image or video coding where such binary symbols are split-up into the one or more streams of bins 307 to be encoded and bitstreams 324 to be decoded, respectively, where each such bin stream can be considered as a realization of a Bernoulli process.
- the embodiments described below use one or more of the below-explained various so-called variable-to-variable-codes (v2v-codes) to encode the bin streams.
- a v2v-code can be considered as two prefix-free codes with the same number of code words.
- a primary, and a secondary prefix-free code Each code word of the primary prefix-free code is associated with one code word of the secondary prefix-free code.
- the encoders 310 and decoders 322 operate as follows: To encode a particular sequence of bins 307, whenever a code word of the primary prefix-free code is read from buffer 308, the corresponding code-word of the secondary prefix-free code is written to the bit stream 312. The same procedure is used to decode such a bit stream 324, but with primary and secondary prefix-free code interchanged. That is, to decode a bitstream 324, whenever a code word of the secondary prefix-free code is read from the respective bit stream 324, the corresponding code-word of the primary prefix-free code is written to buffer 320.
- the codes described below do not necessitate look-up tables.
- the codes are implementable in form of finite state machines.
- the v2v-codes presented here can be generated by simple construction rules such that there is no need to store large tables for the code words. Instead, a simple algorithm can be used to carry out encoding or decoding. Three construction rules are described below where two of them can be parameterized. They cover different or even disjoint portions of the afore-mentioned probability interval and are, accordingly, specifically advantageous if used together, such as all three codes in parallel (each for different ones of the en/decoders 11 and 22), or two of them. With the construction rules described below, it is possible to design a set of v2v-codes, such that for Bernoulli processes with arbitrary probability p, one of the codes performs well in terms of excess code length.
- the encoding and decoding of the streams 312 and 324 respectively can either be performed independently for each stream or in an interleaved manner. This, however, is not specific to the presented classes of v2v-codes and therefore, only the encoding and decoding of a particular codeword is described for each of the three construction rules in the following. However, it is emphasized, that all of the above embodiments concerning the interleaving solutions are also combinable with the presently described codes or en- and decoders 310 and 322, respectively.
- Construction rule 1 'Unary bin pipe' codes or en-/decoders 310 and 322
- the construction of bin pipe codes is described first.
- a bin pipe code can be constructed from any prefix-free code with at least three code words. To form a v2v-code, it uses the prefix-free code as primary and secondary code, but with two code words of the secondary prefix-free code interchanged. This means that except for two code words, the bins are written to the bit stream unchanged.
- a unary bin pipe code is constructed from a special prefix-free code.
- This special prefix-free code is constructed as follows. First, a prefix-free code consisting of n unary code words is generated starting with '01', '001', '0001', ... until n code words are produced. n is the parameter for the unary bin pipe code. From the longest code word, the trailing 1 is removed. This corresponds to a truncated unary code (but without the code word '0'). Then, n - 1 unary code words are generated starting with '10', '110', '1110', ... until n - 1 code words are produced. From the longest of these code words, the trailing 0 is removed. The union set of these two prefix-free codes are used as input to generate the unary bin pipe code. The two code words that are interchanged are the one only consisting of 0s and the one only consisting of 1s.
- n 4: Nr Primary Secondary 1 0000 111 2 0001 0001 3 001 001 4 01 01 5 10 10 6 110 110 7 111 0000
- Construction rule 2 'Unary to rice' codes and Unary to rice en-/decoders 10 and 22: Unary to rice codes use a truncated unary code as primary code. I.e. unary code words are generated starting with '1', '01', '001', ... until 2 n + 1 code words are generated and from the longest code word, the trailing 1 is removed. n is the parameter of the unary to rice code.
- the secondary prefix-free code is constructed from the code words of the primary prefix-free code as follows. To the primary code word only consisting of 0s, the code word '1' is assigned. All other code words consist of the concatenation of the code word '0' with the n-bit binary representation of the number of 0s of the corresponding code word of the primary prefix-free code.
- n 3: Nr Primary Secondary 1 1 0000 2 01 0001 3 001 0010 4 0001 0011 5 00001 0100 6 000001 0101 7 0000001 0110 8 00000001 0111 9 00000000 1
- Construction rule 3 'Three bin' code The three bin code is given as: Nr Primary Secondary 1 000 0 2 001 100 3 010 101 4 100 110 5 110 11100 6 101 11101 7 011 11110 8 111 11111
- the primary code symbol sequences
- the code words are sorted by ascending numbers of 1s.
- three bins are read from the bin stream (i.e.7). If these three bins contain exactly one 1, the code word '1' is written to the bit stream followed by two bins consisting of the binary representation of the position of the 1 (starting from right with 00). If the three bins contain exactly one 0, the code word '111' is written to the bit stream followed by two bins consisting of the binary representation of the position of the 0 (starting from the right with 00). The remaining code words '000' and '111' are mapped to '0' and '11111', respectively.
- one bin or bit is read from the respective bitstream 24. If it equals '0', the code word '000' is decoded to the bin stream 21. If it equals '1', two more bins are read from the bit stream 24. If these two bits do not equal '11', they are interpreted as the binary representation of a number and two 0s and one 1 is decoded to the bit stream such that the position of the 1 is determined by the number. If the two bits equal '11', two more bits are read and interpreted as binary representation of a number. If this number is smaller than 3, two 1s and one 0 are decoded and the number determines the position of the 0. If it equals 3, '111' is decoded to the bin stream.
- An efficient implementation of unary bin pipe codes is described next.
- An encoder and decoder for unary bin pipe codes can be efficiently implemented by using a counter. Due to the structure of bin pipe codes, encoding and decoding of bin pipe codes is easy to implement: In the encoder (any of 10), if the first bin of a code word equals '0', bins are processed until a '1' occurs or until n 0s are read (including the first '0' of the code word). If a '1' occurred, the read bins are written to the bit stream unchanged. Otherwise (i.e. n 0s were read), n - 1 1s are written to the bit stream.
- bins are processed until a '0' occurs or until n - 1 1s are read (including the first '1' of the code word). If a '0' occurred, the read bins are written to the bit stream unchanged. Otherwise (i.e. n - 1 1s were read), n 0s are written to the bit stream.
- the same algorithm is used as for the encoder, since this is the same for bin pipe codes as described above.
- bins are read from the bin stream (i.e. 7) until a 1 occurs or until 2 n 0s are read. The number of 0s is counted. If the counted number equals 2", the code word '1' is written to the bit stream. Otherwise, '0' is written, followed by the binary representation of the counted number, written with n bits.
- the decoder (any of 322), one bit is read. If it equals '1', 2 n 0s are decoded to the bin string. If it equals '0', n more bits are read and interpreted as binary representation of a number. This number of 0s is decoded to the bin stream, followed by a '1'.
- the just-described embodiments describe an encoder for encoding a sequence of symbols 303, comprising an assigner 316 configured to assign a number of parameters 305 to each symbol of the sequence of symbols based on information contained within previous symbols of the sequence of symbols; a plurality of entropy encoders 310 each of which is configured to convert the symbols 307 forwarded to the respective entropy encoder 310 into a respective bitstream 312; and a selector 6 configured to forward each symbol 303 to a selected one of the plurality of entropy encoders 10, the selection depending on the number of parameters 305 assigned to the respective symbol 303.
- At least a first subset of the entropy encoders may be a variable length encoder configured to map symbol sequences of variable lengths within the stream of symbols 307 to codewords of variable lengths to be inserted in bitstream 312, respectively, with each of the entropy coders 310 of the first subset using a bijective mapping rule according to which code words of a primary prefix-free code with (2n-1) ⁇ 3 code words are mapped to code words of a secondary prefix-free code which is identical to the primary prefix code such that all but two of the code words of the primary prefix-free code are mapped to identical code words of the secondary prefix-free code while the two code words of the primary and secondary prefix-free codes have different lengths and are mapped onto each other in an interchanged manner, wherein the entropy encoders may use different n so as to covers different portions of an interval of the above-mentioned probability interval.
- the first prefix-free code may be constructed such that the codewords of the first prefix-free code are (a,b)2, (a,a,b)3, ..., (a,...,a,b) n , (a,...,a) n , (b,a)2, (b,b,a)3, ..., (b,...,b,a) n-1 , (b,...,b) n-1 , and the two codewords mapped onto each other in the interchanged manner are (a,...,a) n and (b,...,b) n-1 with b ⁇ a and a,b ⁇ ⁇ 0,1 ⁇ .
- the codewords of the first prefix-free code are (a,b)2, (a,a,b)3, ..., (a,...,a,b) n , (a,...,a) n , (a,...,a) n-1 , (b,...,b) n-1 , and the two codewords
- each of a first subset of entropy encoders may be configured to, in converting the symbols forwarded to the respective entropy encoder into the respective bitstream, examine a first symbol forwarded to the respective entropy encoder, to determine as to whether (1) the first symbol equals a ⁇ ⁇ 0,1 ⁇ , in which case the respective entropy encoder is configured to examine the following symbols forwarded to the respective entropy encoder to determine as to whether (1.1) b with b ⁇ a and b ⁇ ⁇ 0,1 ⁇ occurs within the next n-1 symbols following the first symbol, in which case the respective entropy encoder is configured to write a codeword to the respective bitstream, which equals the first symbol followed by the following symbols forwarded to the respective entropy encoder, up to the symbol b; (1.2) no b occurs within the next n-1 symbols following the first symbol, in which case the respective entropy encoder is configured to write a codeword to the respective bitstream, which
- a second subset of the entropy encoders 10 may be a variable length encoder configured to map symbol sequences of variable lengths to codewords of fixed lengths, respectively, with each of the entropy coders of the second subset using a bijective mapping rule according to which code words of a primary truncated unary code with 2 n +1 code words of the type ⁇ (a), (ba), (bba), ...
- n-bit word is an n-bit representation of the number of b's in the respective codeword of the primary truncated unary code.
- each of the second subset of entropy encoders may be configured to, in converting the symbols forwarded to the respective entropy encoder into the respective bitstream, count a number of b's in a sequence of symbols forwarded to the respective entropy encoder, until an a occurs, or until the number of the sequence of symbols forwarded to the respective entropy encoder reaches 2 n with all 2 n symbols of the sequence being b, and (1) if the number of b's equals 2 n , write c with c ⁇ ⁇ 0,1 ⁇ as codeword of a secondary prefix-free code to the respective bitstream, and (2) if the number of b's is lower than 2 n , write a codeword of the secondary prefix-free code to the respective bitstream, which has (d) with c ⁇ d and d ⁇ ⁇ 0,1 ⁇ as prefix and a n-bit word determined depending on the number
- a predetermined one of the entropy encoders 10 may be a variable length encoder configured to map symbol sequences of fixed lengths to codewords of variable lengths, respectively, the predetermined entropy coder using a bijective mapping rule according to which 2 3 code words of length 3 of a primary code are mapped to code words of a secondary prefix-free code such that the codeword (aaa) 3 of the primary code with a ⁇ ⁇ 0,1 ⁇ is mapped onto codeword (c) with c ⁇ ⁇ 0,1 ⁇ , all three codewords of the primary code having exactly one b with b ⁇ a and b ⁇ ⁇ 0,1 ⁇ are mapped onto codewords having (d) with c ⁇ d and d ⁇ ⁇ 0,1 ⁇ as a prefix and a respective first 2-bit word out of a first set of 2-bit words as a suffix, all three codewords of the primary code having exactly one a are mapped onto codewords having (
- the first 2-bit word of the codewords of the primary code having exactly one b may be a 2-bit representation of a position of the b in the respective codeword of the primary code
- the second 2-bit word of the codewords of the primary code having exactly one a may be a 2-bit representation of a position of the a in the respective codeword of the primary code.
- alternatives are feasible.
- the predetermined one of the entropy encoders may be configured to, in converting the symbols forwarded to the predetermined entropy encoder into the respective bitstream, examine the symbols to the predetermined entropy encoder in triplets as to whether (1) the triplet consists of a's, in which case the predetermined entropy encoder is configured to write the codeword (c) to the respective bitstream, (2) the triplet exactly comprises one b, in which case the predetermined entropy encoder is configured to write a codeword having (d) as a prefix and a 2-bit representation of a position of the b in the triplet as a suffix, to the respective bitstream; (3) the triplet exactly comprises one a, in which case the predetermined entropy encoder is configured to write a codeword having (d) as a prefix and a concatenation of the first 2-bit word not being an element of the first set and a 2-bit representation of a position of the a in the triplet as a suffix
- just-described embodiments disclose a decoder for reconstructing a sequence of symbols 326, comprising a plurality of entropy decoders 322, each of which is configured to convert a respective bitstream 324 into symbols 321; an assigner 316 configured to assign a number of parameters to each symbol 326 of a sequence of symbols to be reconstructed based on information contained within previously reconstructed symbols of the sequence of symbols; and a selector 318 configured to retrieve each symbol 325 of the sequence of symbols to be reconstructed from a selected one of the plurality of entropy decoders, the selection depending on the number of parameters defined to the respective symbol.
- At least a first subset of the entropy decoders 322 are variable length decoders configured to map codewords of variable lengths to symbol sequences of variable lengths, respectively, with each of the entropy decoders 22 of the first subset using a bijective mapping rule according to which code words of a primary prefix-free code with (2n-1) ⁇ 3 code words are mapped to code words of a secondary prefix-free code which is identical to the primary prefix code such that all but two of the code words of the primary prefix-free code are mapped to identical code words of the secondary prefix-free code while the two code words of the primary and secondary prefix-free codes have different lengths and are mapped onto each other in an interchanged manner, wherein the entropy encoders use different n.
- the first prefix-free code may be constructed such that the codewords of the first prefix-free code are (a,b)2, (a,a,b)3, ..., (a,...,a,b) n , (a,...,a) n , (b,a)2, (b,b,a)3, ..., (b,...,b,a) n-1 , (b,...,b) n-1 , and the two codewords mapped onto each other in the interchanged manner may be (a,...,a) n and (b,...,b) n-1 with b ⁇ a and a,b ⁇ ⁇ 0,1 ⁇ .
- the codewords of the first prefix-free code are (a,b)2, (a,a,b)3, ..., (a,...,a,b) n , (a,...,a) n , (a,...,a) n-1 , (b,...,b) n-1 , and the two codewords
- Each of the first subset of entropy encoders may be configured to, in converting the respective bitstream into the symbols, examine a first bit of the respective bitstream, to determine as to whether (1) the first bit equals a 0 ⁇ 0,1 ⁇ , in which case the respective entropy encoder is configured to examine the following bits of the respective bitstream to determine as to whether (1.1) b with b ⁇ a and b 0 ⁇ 0,1 ⁇ occurs within the next n-1 bits following the first bit, in which case the respective entropy decoder is configured to reconstruct a symbol sequence, which equals the first bit followed by the following bits of the respective bitstream, up to the bit b; or (1.2) no b occurs within the next n-1 bits following the first bit, in which case the respective entropy decoder is configured to reconstruct a symbol sequence, which equals (b,...,b) n-1 ; or (2) the first bit equals b, in which case the respective entropy decoder is configured to examine
- At least a second subset of the entropy decoders 322 may be a variable length decoder configured to map codewords of fixed lengths to symbol sequences of variable lengths, respectively, with each of the entropy decoders of the second subset using a bijective mapping rule according to which code words of a secondary prefix-free code are mapped onto code words of a primary truncated unary code with 2 n +1 code words of the type ⁇ (a), (ba), (bba), ...
- codeword (c) of the secondary prefix-free code is mapped onto the codeword (bb...b) of the primary truncated unary code and codewords having (d) with c ⁇ d and c,d ⁇ ⁇ 0,1 ⁇ as a prefix and a n-bit word as suffix, are mapped to a respective one of the other codewords ⁇ (a), (ba), (bba), ... ,(b...ba) ⁇ of the primary truncated unary code, wherein the entropy decoders use different n.
- Each of the second subset of entropy decoders may be configured such that the n-bit word is an n-bit representation of the number of b's in the respective codeword of the primary truncated unary code.
- the n-bit word is an n-bit representation of the number of b's in the respective codeword of the primary truncated unary code.
- Each of a second subset of entropy decoders may be a variable length decoder configured to map codewords of fixed lengths to symbol sequences of variable lengths, respectively, and configured to, in converting the bitstream of the respective entropy decoder into the symbols, examine a first bit of the respective bitstream to determine as to whether (1) same equals c with c ⁇ ⁇ 0,1 ⁇ , in which case the respective entropy decoder is configured to reconstruct a symbol sequence which equals (bb...b) 2 n with b ⁇ ⁇ 0,1 ⁇ ; or (2) same equals d with c ⁇ d and c,d ⁇ ⁇ 0,1 ⁇ , in which case the respective entropy decoder is configured to determine a n-bit word from n further bits of the respective bitstream, following the first bit, and reconstruct a symbol sequence therefrom which is of the type ⁇ (a), (ba), (bba), ... ,(b...ba), (bb
- a predetermined one of the entropy decoders 322 may be a variable length decoders configured to map codewords of variable lengths to symbol sequences of fixed lengths, respectively, the predetermined entropy decoder using a bijective mapping rule according to which code words of a secondary prefix-free code are mapped to 2 3 code words of length 3 of a primary code such that codeword (c) with c ⁇ ⁇ 0,1 ⁇ is mapped to the codeword (aaa) 3 of the primary code with a ⁇ ⁇ 0,1 ⁇ , codewords having (d) with c ⁇ d and d ⁇ ⁇ 0,1 ⁇ as a prefix and a respective first 2-bit word out of a first set of three 2-bit words as a suffix are mapped onto all three codewords of the primary code having exactly one b with b ⁇ a and b ⁇ ⁇ 0,1 ⁇ , codewords having (d) as a prefix and a concaten
- the first 2-bit word of the codewords of the primary code having exactly one b may be a 2-bit representation of a position of the b in the respective codeword of the primary code
- the second 2-bit word of the codewords of the primary code having exactly one a may be a 2-bit representation of a position of the a in the respective codeword of the primary code.
- alternatives are feasible.
- the predetermined one of the entropy decoders may be a variable length decoder configured to map codewords of variable lengths to symbol sequences of three symbols each, respectively, and configured to, in converting the bitstream of the respective entropy decoder into the symbols, examine the first bit of the respective bitstream to determine as to whether (1) the first bit of the respective bitstream equals c with c ⁇ ⁇ 0,1 ⁇ , in which case the predetermined entropy decoder is configured to reconstruct a symbol sequence which equals (aaa) 3 with a 0 ⁇ 0,1 ⁇ , or (2) the first bit of the respective bitstream equals d with c ⁇ d and d ⁇ ⁇ 0,1 ⁇ , in which case the predetermined entropy decoder is configured to determine a first 2-bit word from 2 further bits of the respective bitstream, following the first bit, and examine the first 2-bit word to determine as to whether (2.1) the first 2-bit word is no element of a first set of three 2-bit words,
- entropy encoder and decoders of Fig. 1 to 6 were implemented in accordance with a PIPE concept.
- One special embodiment used arithmetic single-probability state en/decoders 310 and 322.
- entities 306-310 and the corresponding entities 318 to 322 may be replaced by a common entropy encoding engine.
- an arithmetic encoding engine may manage merely one common state R and L and encode all symbols into one common bitstream, thereby giving-up the advantageous aspects of the present PIPE concept regarding parallel processing, but avoiding the necessity of interleaving the partial bitstreams as further discussed below.
- the number of probability states by which the context's probabilities are estimated by update may be higher than the number of probability states by which the probability interval sub-division is performed. That is, analogously to quantizing the probability interval width value before indexing into the table Rtab, also the probability state index may be quantized.
- the entropy encoder attached to the output of parameter assigner (which acts as a context assigner, here) may operate in the following way:
- the entropy decoder attached to the output of parameter assigner (which acts as a context assigner, here) may operates in the following way:
- the assigner 4 assigns pState_current[bin] to each bin.
- the association may be done based on a context selection. That is, assigner 4 may select a context using an context index ctxIdx which, in turn, has a respective pState_current associated therewith.
- a probability update may be performed each time, a probabililty pState_current[bin] has been applied to a current bin.
- An update of the probability state pState_current[bin] is performed depending on the value of the coded bit:
- the adaptation is done context-wise, i.e. pState_current[ctxIdx] is used for coding and then updated using the current bin value (encoded or decoded, respectively).
- the encoder and decoder may optionally be implemented to operate in different modes, namely Low complexity (LC), and High efficiency (HE) mode.
- LC Low complexity
- HE High efficiency
- both entropy coding modes may share
- LC-PIPE differs from HE-PIPE in the processing complexity, such as the complexity of selecting the PIPE path 312 for each bin.
- the LC mode may operate under the following constraints: For each bin (binIdx), there may be exactly one probability model, i.e., one ctxIdx. That is, no context selection/adaptation may be provided in LC PIPE. Specific syntax elements such as those used for residual coding may, hover, coded using contexts, as further outlined below. Moreover, all probability models may be non-adaptive, i.e., all models may be initialized at the beginning of each slice with appropriate model probabilities (depending on the choice of slice type and slice QP) and may be kept fixed throughout processing of the slice. For example, only 8 different model probabilities corresponding to 8 different PIPE codes 310/322 may be supported, both for context modelling and coding.
- HE-PIPE may be configured to be conceptually similar to CABAC of H.264 with the following differences: Binary arithmetic coding (BAC) is replaced by PIPE coding (same as in the LC-PIPE case).
- BAC Binary arithmetic coding
- PIPE coding (same as in the LC-PIPE case).
- Each probability model i.e., each ctxIdx, may be represented by a pipeIdx and a refineIdx, where pipeIdx with values in the range from 0...7 represents the model probability of the 8 different PIPE codes. This change affects only the internal representation of states, not the behavior of the state machine (i.e., probability estimation) itself.
- the initialization of probability models may use 8 bit initialization values as stated above.
- a decoder for decoding a data stream may be constructed as shown in Fig. 11 .
- the decoder is for decoding a datastream 401, such as interleaved bitstream 340, into which media data, such as video data, is coded.
- the decoder comprises a mode switch 400 configured to activate the low-complexity mode or the high efficiency mode depending on the data stream 401.
- the data stream 401 may comprise a syntax element such as a binary syntax element, having a binary value of 1 in case of the low-complexity mode being the one to be activated, and having a binary value of 0 in case of the high efficiency mode being the one to be activated.
- this syntax element may be contained within some leading header of the datastream 401 encoded, for example, with a fixed probability estimate or probability model or being written into the datastream 401 as it is, i.e., using a bypass mode.
- the decoder of Fig. 11 comprises a plurality of entropy decoders 322 each of which is configured to convert codewords in the datastream 401 to partial sequences 321 of symbols.
- a de-interleaver 404 may be connected between inputs of entropy decoders 322 on the one hand and the input of the decoder of Fig. 11 where the datastream 401 is applied, on the other hand.
- each of the entropy decoders 322 may be associated with a respective probability interval, the probability intervals of the various entropy decoders together covering the whole probability interval from 0 to 1 - or 0 to 0.5 in case of the entropy decoders 322 dealing with MPS and LPS rather than absolute symbol values. Details regarding this issue have been described above. Later on, it is assumed that the number of decoders 322 is 8 with a PIPE index being assigned to each decoder, but any other number is also feasible. Further, one of these coders, in the following this is exemplarily the one having pipe_id 0, is optimized for bins having equi-probable statistics, i.e.
- decoder may merely pass on the bins.
- the respective encoder 310 operates the same. Even any bin manipulation depending on the value of the most probable bin value, valMPS, by the selectors 402 and 502, respectively, may be left away. In other words, the entropy of the respective partial stream is already optimal.
- the decoder of Fig. 11 comprises a selector 402 configured to retrieve each symbol of a sequence 326 of symbols from a selected one of the plurality of entropy decoders 322.
- selector 402 may be split-up into a parameter assigner 316 and a selector 318.
- a de-symbolizer 314 is configured to de-symbolize the sequence 326 of symbols in order to obtain a sequence 327 of syntax elements.
- a reconstructor 404 is configured to reconstruct the media data 405 based on the sequence of syntax elements 327.
- the selector 402 is configured to perform the selection depending on the activated one of the low complexity mode and the high-efficiency mode as it is indicated by arrow 406.
- the reconstructor 404 may be the part of a predictive block-based video decoder operating on a fixed syntax and semantics of syntax elements, i.e., fixed relative to the mode selection by mode switch 400. That is, the construction of the reconstructor 404 does not suffer from the mode switchability. To be more precise, the reconstructor 404 does not increase the implementation overhead due to the mode switchability offered by mode switch 400 und at least the functionality with regard to the residual data and the prediction data remains the same irrespective of the mode selected by switch 400. The same applies, however, with regard to the entropy decoders 322. All these decoders 322 are reused in both modes and, accordingly, there is no additional implementation overhead although the decoder of Fig. 11 is compatible with both modes, the low-complexity and high-efficiency modes.
- the decoder of Fig. 11 is not only able to operate on self-contained datastreams either in the one mode or the other mode. Rather, the decoder of Fig. 11 as well as the datastream 401 could be configured such that switching between both modes would even be possible during one piece of media data such as during a video or some audio piece, in order to, for example, control the coding complexity at the decoding side depending on external or environmental conditions such as a battery status or the like with using a feedback channel from decoder to encoder in order to accordingly locked-loop control the mode selection.
- the decoder of Fig. 11 operates similarly in both cases, in case of the LC mode being selected or the HE mode being selected.
- the reconstructor 404 performs the reconstruction using the syntax elements and requests the current syntax element of a predetermined syntax element type by processing or obeying some syntax structure prescription.
- the de-symbolizer 314 requests a number of bins in order to yield a valid binarization for the syntax element requested by the reconstructor 404.
- the binarization performed by de-symbolizer 314 reduces down to merely passing the respective bin/symbol 326 to reconstructor 404 as the binary syntax element currently requested.
- the selector 402 acts independently on the mode selected by mode switch 400.
- the mode of operation of selector 402 tends to be more complex in case of the high efficiency mode, and less complex in case of the low-complexity mode.
- the mode of operation of selector 402 in the less-complex mode also tends to reduce the rate at which selector 402 changes the selection among the entropy decoders 322 in retrieving the consecutive symbols from the entropy decoders 322.
- the mode of operation of selector 402 in the less-complex mode also tends to reduce the rate at which selector 402 changes the selection among the entropy decoders 322 in retrieving the consecutive symbols from the entropy decoders 322.
- the low-complexity mode there is an increased probability that immediately consecutive symbols are retrieved from the same entropy decoder among the plurality of entropy decoders 322.
- the mode of operation of the selector 402 tends to lead to a selection among the entropy decoders 322 where the probability interval associated with the respective selected entropy decoder 322 more closely fits to the actual symbol statistics of the symbol currently retrieved by selector 402, thereby yielding a better compression ratio at the encoding side when generating the respective data stream in accordance with the high-efficiency mode.
- the different behavior of the selector 402 in both modes may be realized as follows.
- the selector 402 may be configured to perform, for a predetermined symbol, the selection among the plurality of entropy decoders 322 depending on previously retrieved symbols of the sequence 326 of symbols in case of the high-efficiency mode being activated and independent from any previously retrieved symbols of the sequence of symbols in case of the low-complexity mode being activated.
- the dependency on previously retrieved symbols of the sequence 326 of symbols may result from a context adaptivity and/or a probability adaptivity. Both adaptivities may be switched off during low complexity mode in selector 402.
- the datastream 401 may be structured into consecutive portions such as slices, frames, group of pictures, frame sequences or the like, and each symbol of the sequence of symbols may be associated with a respective one of a plurality of symbol types.
- the selector 402 may be configured to vary, for symbols of a predetermined symbol type within a current portion, the selection depending on previously retrieved symbols of the sequence of symbols of the predetermined symbol type within the current portion in case of the high-efficiency mode being activated, and leave the selection constant within the current portion in case of the low-complexity mode being activated.
- selector 402 may be allowed to change the selection among the entropy decoders 322 for the predetermined symbol type, but these changes are restricted to occur between transitions between consecutive portions.
- evaluates of actual symbol statistics are restricted to seldom occurring time instances while coding complexity is reduced within the majority of the time.
- each symbol of the sequence 326 of symbols may be associated with a respective one of a plurality of symbol types
- the selector 402 may be configured to, for a predetermined symbol of a predetermined symbol type, select one of a plurality of contexts depending on previously retrieved symbols of the sequence 326 of symbols and perform the selection among the entropy decoders 322 depending on a probability model associated with a selected context along with updating the probability model associated with a selected context depending on the predetermined symbol in case of the high-efficiency mode being activated, and perform selecting the one of the plurality of context depending on the previously retrieved symbols of the sequence 326 of symbols and perform the selection among the entropy decoders 322 depending on the probability model associated with the selected context along with leaving the probability model associated with the selected context constant in case of the low-complexity mode being activated. That is, selector 402 may use context adaptivity with respect to a certain syntax element type in both modes, while suppressing probability adaptation in case of the LC mode.
- selector 402 may merely reduce an update rate of the probability adaptation of the LC mode relative to the HE mode.
- non-adaptive probability models could be used in the LC mode.
- a non-adaptive probability model can either have a hardcoded, i.e., overall constant probability or its probability is kept fixed throughout processing of a slice only and thus can be set dependent on slice type and QP, i.e., the quantization parameter which is, for example, signaled within the datastream 401 for each slice.
- the non-adaptive constraint may be eased for all or some selected probability models in such a way that probability updates are allowed after a certain number of bins have been encoded/decoded using this model.
- An appropriate update interval allows a probability adaptation while having the ability to decode several bins at once.
- selector 402 and entropy decoders 322 would condense into a context-adaptive binary arithmetic decoder which would receive the datastream 401 directly and select the context for a bin currently to be derived from the datastream. This is especially true for context adaptivity and/or probability adaptivity. Both functionalities/adaptivities may be switched off, or designed more relaxed, during low complexity mode.
- the pipe entropy coding stage involving the entropy decoders 322 could use eight systematic variable-to-variable-codes, i.e., each entropy decoder 322 could be of a v2v type which has been described above.
- the PIPE coding concept using systematic v2v-codes is simplified by restricting the number of v2v-codes.
- same could manage the same probability states for the different contexts and use same - or a quantoized version thereof - for the probability sub-division.
- the mapping of CABAC or probability model states, i.e. the sates used for probability update, to PIPE ids or probability indices for look-up into Rtab may be as depicted in Table A.
- This modified coding scheme may be used as a basis for the complexity-scalable video coding approach.
- the selector 402 or context-adaptive binary arithmetic decoder would select the PIPE decoder 322, .i.e. derive the pipe index, to be used, and the probability index into Rtab, respectively, based on the probability state index - here exemplarily ranging from 0 to 62 - associated with the currently to be decoded symbol - such as via a context - using the mapping shown in table A, and would update this probability state index depending on the currently decoded symbol using, for example, specific table walk transition values pointing to the next probability state index to be visited in case of an MPS and a LPS, respectively. In case of LC mode, the latter update could be left away. Even the mapping could be left away in case of globally fixed probability models.
- the reconstructor 404 may be configured to reconstruct a transform block 200 of transform coefficient levels 202 based on a portion of the sequence of syntax elements independent from the high-efficiency mode or the low-complexity mode being activated, the portion of the sequence 327 of syntax elements comprising, in an un-interleaved manner, significance map syntax elements defining a significance map indicating positions of non-zero transform coefficient levels within the transform block 200, and then (followed by) level syntax elements defining the non-zero transform coefficient levels.
- end position syntax elements ( last_significant_pos_x, last_significant_pos_y ) indicating a position of a last non-zero transform coefficient level within the transform block; first syntax elements ( coeff_significant_flag ) together defining a significance map and indicating, for each position along a one-dimensional path (274) leading from a DC position to the position of the last non-zero transform coefficient level within the transform block (200), as to whether the transform coefficient level at the respective position is non-zero or not; second syntax elements ( coeff_abs_greater1 ) indicating, for each position of the one-dimensional path (274) where, according to the first binary syntax elements, a non-zero transform coefficient level is positioned, as to whether the transform coefficient level at the respective position is greater than one; and third syntax elements ( coeff_abs_greater2, coeff_abs_minus3 ) revealing, for each position of the one-dimensional path where, according to the first binary syntax elements,
- the order among the end position syntax elements, the first, the second and the third syntax elements may be same for the high-efficiency mode and the low-complexity mode, and the selector 402 may be configured to perform the selection among the entropy decoders 322 for symbols from which the de-symoblizer 314 obtains the end position syntax elements, first syntax elements, second syntax elements and/or the third syntax elements, differently depending on the low-complexity mode or the high-efficiency mode being activated.
- the selector 402 may be configured, for symbols of a predetermined symbol type among a subsequence of symbols from which the de-symbolizer 314 obtains the first syntax elements and second syntax elements, to select for each symbol of the predetermined symbol type one of a plurality of contexts depending on previously retrieved symbols of the predetermined symbol type among the subsequence of symbols and perform the selection depending on a probability model associated with the selected context in case of the high-efficiency mode being activated, and perform the selection in a piece wise constant manner such that the selection is constant over consecutive continuous subparts of the subsequence in case of the low-complexity mode be activated.
- the subparts may be measured in the number of positions over which the respective subpart extends when measured along the one-dimensional path 274, or in the number of syntax elements of the respective type already coded with the current context. That is, the binary syntax elements coeff_significant_flag, coeff abs_greater1 and coeff_abs_greater2, for example, are coded context adaptively with selecting the decoder 322 based on the probability model of the selected context in HE mode. Probability adaptation is used as well. In LC mode, there are also different conexts which are used for each of the binary syntax elements coeff_significant_flag, coeff_abs_greater1 and coeff_abs_greater2.
- each portion may defined to be 4, 8, 16 positions of block 200 long, independent from as to whether for the respective position the respective syntax element is present or not.
- coeff_abs_greater1 and coeff_abs_greater2 are merely present for significant positions, i.e. positions where - or for which - coeff_significant_flag is 1.
- each portion may defined to be 4, 8, 16 syntax elements long, independent from as to whether for the thus resulting respective portion extends over a higher number of block positions.
- coeff_abs_greater1 and coeff _abs_greater2 are merely present for significant positions, and thus, portions of four syntax elements each may extend over more than 4 block positions due to positions therebetween along path 274 for which no such syntax element is transmitted such as no coeff_abs_greater1 and coeff_abs_greater2 because the respective level at this position is zero.
- the selector 402 may be configured to, for the symbols of the predetermined symbol type among the subsequence of symbols from which the de-symbolizer obtains the first syntax elements and second syntax elements, select for each symbol of the predetermined symbol type the one of a plurality of contexts depending on a number of previously retrieved symbols of the predetermined symbol type within the subsequence of symbols, which have a predetermined symbol value and belong to the same subpart, or a number of previously retrieved symbols of the predetermined symbol type within the sequence of symbols, which belong to the same subpart.
- the first alternative has been true for coeff_abs_greater1 and the secondary alternative has be true for coeff_abs_greater2 in accordance with the above specific embodiments.
- the third syntax elements revealing, for each position of the one-dimensional path where, according to the first binary syntax elements, a transform coefficient level greater than one is positioned, an amount by which the respective transform coefficient level at the respective position exceeds one may comprise integer-valued syntax elements, i.e.
- coeff_abs _minus3 may be configured to use a mapping function controllable by a control parameter to map a domain of symbol sequence words to a co-domain of the integer-valued syntax elements, and to set the control parameter per integer-valued syntax element depending on integer-valued syntax elements of previous third syntax elements if the high-efficiency mode is activated, and perform the setting in a piecewise constant manner such that the setting is constant over consecutive continuous subparts of the subsequence in case of the low-complexity mode being activated, wherein the selector 402 may configured to select a predetermined one of the entropy decoders (322) for the symbols of symbol sequence words mapped onto the integer-valued syntax elements, which is associated with a equal probability distribution, in both the high-efficiency mode and the low-complexity mode.
- a mapping function controllable by a control parameter to map a domain of symbol sequence words to a co-domain of the integer-valued syntax elements, and to set the control parameter per integer-valued
- the desymbolizer 314 may keep the control parameter constant during the current slice, for example, or constant globally in time.
- all context modelling stage evaluating syntax elements of neighbor square or rectangle blocks or prediction units are fixed to one context model. This is equal to the disabling of the adaptivity in the context model selection stage.
- the context model selection depending on the bin index of the bin string after a binarization is not modified compared to the current design for CABAC.
- additional to the fixed context model for syntax elements employ the evaluation of neighbors, also the context model for the different bin index are fixed. Note that the description does not include the binarization and context model selection for the motion vector difference and the syntax elements related to the coding of the transform coefficient levels.
- only the evaluation of the left neighbor is allowed. This leads to reduced buffer in the processing chain because the last block or coding unit line has not to be stored anymore. In a further preferred embodiment, only neighbors lying in the same coding unit are evaluated.
- all available neighbors are evaluated. For example, in addition to the top and the left neighbor, the top left, the top right, and the bottom left neighbor are evaluated in case of availability.
- the selector 402 of Fig. 11 may be configured to use, for a predetermined symbol relating to a predetermined block of the media data, previously retrieved symbols of the sequence of symbols relating to a higher number of different neighboring blocks of the media data in case of the high-efficiency mode being activated in order to select one of a plurality of contexts and perform the selection among the entropy decoders 322 depending on a probability model associated with the selected context.
- the neighboring blocks may neighbor in times and/or spatial domain. Spatially neighboring blocks are visible, for example, in Figs. 1 to 3 .
- selector 402 may be responsive to the mode selection by mode switch 400 to perform a contact adaptation based on previously retrieved symbols or syntax elements relating to a higher number of neighboring blocks in case of the HE mode compared to the LC mode thereby reducing the storage overhead as just-described.
- a motion vector associated with a macroblock is transmitted by signaling the difference (motion vector difference - mvd ) between the motion vector of the current macroblock and the median motion vector predictor.
- the mvd is coded as follows. The integer-valued mvd is split into an absolute and the sign part. The absolute part is binarized using a combination of truncated unary and 3rd order Exp-Golomb, referred to as the prefix and the suffix of the resulting bin string.
- the bins related to the truncated unary binarization is coded using context models, while bins related to the Exp-Golomb binarization is coded in a bypass mode, i.e. with a fixed probability of 0.5 with CABAC.
- the bin string consists of a prefix and a suffix with Exp-Golomb binarization.
- the context modelling for the truncated unary part is done as follows. For the first bin of the bin string, the absolute mvd values from the top and the left neighbour macroblocks are taken if available (if not available, the value is inferred to be 0). If the sum for the specific component (horizontal or vertical direction) is greater than 2, the second context model is selected, if the absolute sum is greater than 32, the third context model is selected, otherwise (the absolute sum is smaller than 3) the first context model is selected. Furthermore, the context models are different for each component.
- the fourth context model is used and the fifth context model is employed for the remaining bins of the unary part.
- the absolute mvd is equal to or greater than 9, e.g. all bins of the truncated unary part are equal to '1'
- the difference between the absolute mvd value and 9 is coded in a bypass mode with 3rd order Exp-Golomb binarization.
- the sign of the mvd is coded in a bypass mode.
- the latest coding technique for the mvd when using CABAC as entropy coder is specified in the current Test Model (HM) of the High Efficiency Video Coding (HEVC) project.
- HM Test Model
- HEVC High Efficiency Video Coding
- the block sizes are variable and the shape specified by a motion vector is referred to as prediction unit (PU).
- the PU size of the top and the left neighbor may have other shapes and sizes than the current PU. Therefore, whenever relevant, the definition of top and the left neighbor are referred now as top and left neighbor of the top-left corner of the current PU.
- the context model index may be incremented resulting in the same number of context models for the first bin, while the coding of the remaining absolute MVD level and the sign is exactly the same as in H.264/AVC.
- first bin specifying if the absolute mvd is greater than zero is coded using context model or the first and the second bin specifying if the absolute mvd is greater than zero and one is coded using context model, while the remaining value is coded in the bypass mode and/or using a VLC code.
- All bins resulting from the binarization using the VLC code - not using the unary or truncated unary code - are coded using a low complexity bypass mode.
- PIPE a direct insertion into and from the bitstream are possible.
- a different definition of the top and the left neighbor to derive better context model selection for the first bin may be used, if ever.
- Exp-Golomb codes are used to binarize the remaining part of the absolute MVD components.
- the order of the Exp-Golomb code is variable.
- the order of the Exp-Golomb code is derived as follows. After the context model for the first bin, and therefore the index of that context model, is derived and coded, the index is used as the order for the Exp-Golomb binarization part.
- the context model for the first bin is ranged from 1 - 3 resulting in the index 0 - 2, which are used as the order of the Exp-Golomb code. This preferred embodiment can be used for the HE case.
- 14 context models (7 for each component) could be used as well.
- the first and second bins of the unary part could be could be coded with four different contexts as described before
- a fifth context could be used for the third bin
- a sixth context could be used with respect to the forth bin
- the fifth to ninth bins are coded using a seventh context.
- 14 contexts would be required, and merely the remaining value can be coded in a low complexity bypass mode.
- a technique to reduce the number of bins coded with context models resulting in increased number of bypass and reduce the number of context models required for the coding of MVD is to decrease the cut-off value such as, for example, from 9 to 1 or 2. That means only the first bin specifying if the absolute MVD is greater than zero would be coded using a context model or the first and the second bin specifying if the absolute MVD is greater than zero and one would be coded using a respective context model, while the remaining value is coded with a VLC code. All bins resulting from the binarization using the VLC code are coded using a low complexity bypass mode. In case of PIPE, a direct insertion into and from the bitstream is possible.
- the presented embodiment uses another definition of the top and the left neighbor to derive better context model selection for the first bin.
- the context modeling is modified in a way so that the number of context models required for the first or the first and second bin is decreased leading to a further memory reduction.
- the evaluation of the neighbours such as the above neighbour can be disabled resulting in the saving of the line buffer/memory required for storage of mvd values of the neighbours.
- the coding order of the components may be split in a way allowing the coding of the prefix bins for both components (i.e. bins coded with context models) followed by the coding of bypass bins.
- Exp-Golomb codes are used to binarize the remaining part of the absolute mvd components.
- the order of the Exp-Golomb code is variable.
- the order of the Exp-Golomb code may be derived as follows. After the context model for the first bin, and therefore the index of that context model is derived, the index is used as the order for the Exp-Golomb binarization.
- the context model for the first bin is ranged from 1 - 3 resulting in the index 0 - 2, which is used as the order of the Exp-Golomb code.
- This preferred embodiment can be used for the HE case and the number of context models is reduced to 6.
- the horizontal and the vertical components may share the same context models in a further preferred embodiment. In that case, only 3 context models are required. Furthermore, only the left neighbour may be taken into account for the evaluation in a further preferred embodiment of the invention.
- the threshold can be unmodified (e.g. only single threshold of 16 resulting in Exp-Golomb parameter of 0 or 1 or single threshold of 32 resulting in Exp-Golomb parameter of 0 or 2). This preferred embodiment saves the line buffer required for the storage of mvd. In another preferred embodiment, the threshold is modified and is equal to 2 and 16.
- the threshold is equal to 16 and 32.
- the described embodiment is suitable for the HE case.
- the cut-off value is decreased from 9 to 2.
- the first bin and the second bin may be coded using context models.
- the context model selection for the first bin can be done as in the state-of-the-art or modified in a way described in the preferred embodiment above.
- a separate context model is selected as in the state-of-the-art.
- the context model for the second bin is selected by evaluating the mvd of the left neighbor. For that case, the context model index is the same as for the first bin, while the available context models are different than those for the first bin. In total, 6 context models are required (note that the components sharing the context models).
- the Exp-Golomb parameter may depend on the selected context model index of the first bin. In another preferred embodiment of the invention, the Exp-Golomb parameter is depending on the context model index of the second bin.
- the described embodiments of the invention can be used for the HE case.
- the context models for both bins are fixed and not derived by evaluating either the left or the above neighbors.
- the total number of context models is equal to 2.
- the first bin and the second bin shares the same context model.
- the Exp-Golomb parameter may be fixed and be equal to 1.
- the described preferred embodiment of the invention are suitable for both HE and LC configuration.
- the order of the Exp-Golomb part is derived independently from the context model index of the first bin.
- the absolute sum of the ordinary context model selection of H.264/AVC is used to derive the order for the Exp-Golomb part. This preferred embodiment can be used for the HE case.
- the order of the Exp-Golomb codes is fixed and is set to 0. In another preferred embodiment, the order of the Exp-Golomb codes is fixed and set to 1. In a preferred embodiment, the order of the Exp-Golomb codes is fixed to 2. In a further embodiment, the order of the Exp-Golomb codes is fixed to 3. In a further embodiment, the order of the Exp-Golomb codes is fixed according the shape and the size of the current PU. The presented preferred embodiments can be used for the LC case. Note that the fixed order of the Exp-Golomb part are considered with reduced number of bins coded with context models.
- the neighbors are defined as follows. For the above PU, all PUs covers the current PU are taken into account and the PU with the largest MV used. This is done also for the left neighbor. All PUs covers the current PU are evaluated and the PU with the largest MV is used. In another preferred embodiment, the average absolute motion vector value from all PUs cover the top and the left border the current PU is used to derive the first bin.
- the bins resulting from the unary or truncated unary binarization can also be represented by an equivalent fixed length binarization of one flag per bin index specifying whether the value is greater than the current bin index.
- the cut-off value for truncated unary binarization of mvd is set to 2 resulting in codewords 0, 10, 11 for values 0, 1, 2.
- one flag for bin index 0 i.e. the first bin
- one flag for the second bin with bin index 1 specifies whether the absolute mvd value is greater than 1 or not.
- the second flag is only coded when the first flag is equal to 1, this results in the same codewords 0, 10, 11.
- the internal state of a probability model is updated after encoding a bin with it.
- the updated state is derived by a state transition table lookup using the old state and the value of the coded bin.
- a probability model can take 63 different states where each state corresponds to a model probability in the interval (0.0, 0.5). Each of these states is used to realize two model probabilities.
- 1.0 minus the probability is also used and a flag called valMps stores the information whether the probability or 1.0 minus the probability is used. This leads to a total of 126 states.
- each of the 126 states needs to be mapped to one of the available PIPE coders.
- this is done by using a lookup-table. An example of such a mapping is depicted in Table A.
- the internal state of a probability model can be represented to avoid using a lookup table to convert the internal state to a PIPE index. Solely some simple bit masking operations are needed to extract the PIPE index from the internal state variable of the probability model.
- This novel complexity-scalable representation of the internal state of a probability model is designed in a two level manner. For applications where low complexity operation is mandatory only the first level is used. It describes only the pipe index and the flag valMps that is used to encode or decode the associated bins. In the case of the described PIPE entropy coding scheme, the first level can be used to differentiate between 8 different model probabilities.
- the first level would need 3 bit for the pipeIdx and one further bit for the valMps flag.
- each of the coarse probability ranges of the first level is refined into several smaller intervals that support the presentation of probabilities at higher resolutions. This more detailed presentation enables the more exact operation of probability estimators. In general, it is suitable for coding applications that aim towards high RD-performances.
- this complexity-scaled representation of the internal state of probability models with the usage of PIPE is illustrated as follows: First Level Second Level b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 MPS PIPE Idx (0-7) Refinement Idx (0-15)
- the first and the second level are stored in a single 8 bit memory. 4 bits are required to store the first level - an index that defines the PIPE index with the value of the MPS on the most significant bit- and another 4 bits are used to store the second level.
- each PIPE index has a particular number of allowed refinement indices depending on how many CABAC states were mapped on the PIPE index. E.g. for the mapping in Table A, the number of CABAC states per PIPE index is depicted in Table B. Table B: Number of CABAC states per PIPE index for the example of Table A.
- PIPE index and valMps can be accessed directly by employing simple bit mask or bit shift operations.
- Low complexity coding processes require the 4 bits of the first level only and high efficiency coding processes can additionally utilize the 4 bits of the second level to perform the probability model update of the CABAC probability estimator.
- a state transition lookup-table can be designed that does the same state transitions as the original table, but using the complexity-scalable two-level representation of states.
- the original state transition table consists of two times 63 elements. For each input state, it contains two output states.
- the complexity-scalable representation the size of the state transition table does not exceed two times 128 elements which is an acceptable increase of table size.
- its probability state index may be updated based on one or more previously coded bins.
- this update is done after encoding or decoding of each bin. Conversely, in the LC-PIPE setup, this update may never be done.
- a coder setup could do no updates for particular context models only like e.g. the context models of syntax element coeff_significant_flag , and do always updates for all other context models.
- the selector 402 could be configured to, for symbols of each of a number of predetermined symbol types, perform the selection among the entropy decoders 322 depending on a respective probability model associated the respective predetermined symbol such that the number of predetermined symbol types is lower in the low complexity mode than compared to the high-efficiency mode
- criteria for controlling whether to update a context model or not could be, e.g. the size of a bitstream packet, the number of bins decoded so far, or the update is done only after coding a particular fixed or variable number of bins for a context model.
- complexity-scalable context model updating can be implemented. It allows for increasing or decreasing the portion of bins in a bitstream for which context model updates are done. The higher the number of context model updates, the better is the coding efficiency and the higher the computational complexity. Thus, complexity-scalable context model updating can be achieved with the described scheme.
- the context model update is done for bins of all syntax elements except the syntax elements coeff_significant_flag , coeff_abs_greater1 , and coeff_abs_greater2.
- the context model update is done for bins of the syntax elements coeff_significant_flag , coeff_abs_greater1 , and coeff_abs_greater2 only.
- the context model update is done for all context models when encoding or decoding of a slice starts. After a particular predefined number of transform blocks being processed, context model update is disabled for all context models until the end of the slice is reached.
- the selector 402 may be configured to, for symbols of a predetermined symbol type, perform the selection among the entropy decoders 322 depending on a probability model associated with the predetermined symbol type along with or without updating the associated probability model, such that a length of a learning phase of the sequence of symbols over which the selection for the symbols of the predetermined symbol type is performed along with the update, is shorter in the low complexity mode than compared to the high-efficiency mode.
- a further preferred embodiment is identical to the previously described preferred embodiment, but it uses the complexity-scalable representation of the internal state of context models in a way, such that one table stores the "first part” (valMps and pipeIdx) of all context models and a second table stores the "second part” (refineIdx) of all context models.
- the table storing the "second part” is not needed any longer and can be discarded.
- the bins of syntax elements of type coeff_significant_flag, coeff_abs_greater1 , and coeff_abs_greater2 are grouped into subsets.
- a single context model is used to encode its bins.
- a context model update may be done after coding of a fixed number of bins of this sequence. This is denoted multi-bin update in the following. However, this update may differ from the update using only the last coded bin and the internal state of the context model. E.g., for each bin that was coded, one context model update step is conducted.
- the context model update may be done after a sequence of bins (in this example after each 4 bins, the updates of these 4 bins are done): bbbbuuuubbbbuuuuu
- the selector 402 may be configured to, for symbols of a predetermined symbol type, perform the selection among the entropy decoders 322 depending on a probability model associated with the predetermined symbol type along with or without updating the associated probability model such that a frequency at which the selection for the symbols of the predetermined symbol type is performed along with the update, is lower in the low complexity mode than compared to the high-efficiency mode
- the multi-bin update is used for syntax element coeff_significant_flag.
- no context model update is used for bins of all other syntax elements.
- the number of bins that are coded before a multi-bin update step is done is set to n.
- n When the number of bins of the set is not divisible by n, 1 to n-1 bins remain at the end of the subset after the last multi-bin update.
- a conventional single-bin update is done after coding all of these bins.
- the number n may be any positive number greater than 1.
- Another mode could bes identical to the previous mode, except that multi-bin update is done for arbitrary combinations of coeff_significant_flag, coeff_abs_greater1 and coeff_abs_greater2 (instead of coeff_significant_flag only).
- this mode would be more complex than the other.
- All other syntax elements (where multi-bin update is not used) could be divided into two disjoint subsets where for one of the subsets, single bin update is used and for the other subset no context model update is used. Any possible disjoint subsets are valid (including the empty subset).
- the multi-bin update could be based on the last m bins only that are coded immediately before the multi-bin update step.
- m may be any natural number smaller than n.
- the selector 402 may be configured to, for symbols of a predetermined symbol type, perform the selection among the entropy decoders 322 depending on a probability model associated with the predetermined symbol type, along with updating the associated probability model every n-th symbol of the predetermined type based on m most recent symbols of the predetermined symbol type such that the ratio n/m is higher in the low complexity mode than compared to the high-efficiency mode.
- the context modeling scheme using a local template as described above for the HE-PIPE configuration may be used to assign context models to bins of the syntax element. However, for these bins, no context model update is used.
- the selector 402 may be configured to, for symbols of a predetermined symbol type, select one of a number of contexts depending on a number of previously retrieved symbols of the sequence of symbols and perform the selection among the entropy decoders 322 depending on a probability model associated with the selected context, such that the number of contexts, and/or the number of previously retrieved symbols, is lower in the low complexity mode than compared to the high-efficiency mode.
- This section describes the initialization process of the complexity-scalable internal state of probability models using a so-called 8 bit initialization value instead of two 8 bit values as is the case in the state-of-the-art video coding standard H.265/AVC. It consists of two parts which are comparable to the initialization value pairs used for probability models in CABAC of H.264/AVC. The two parts represent the two parameters of a linear equation to compute the initial state of a probability model, representing a particular probability (e.g. in form of a PIPE index) from a QP:
- the first mode is denoted QP-independent initialization. It only uses the PIPE index and valMps defined in the second part of the initialization value for all QPs. This is identical to the case where the slope equals 0.
- the second mode is denoted QP-dependent initialization and it additionally uses the slope of the first part of the initialization value to alter the PIPE index and to define the refinement index.
- the two parts of an 8 bit initialization value is illustrated as follows: First Part Second Part b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 Slope Index PIPE Probability Index
- the first part contains an index that points to 1 out of 16 different predefined slopes that are stored in an array.
- the predefined slopes consist of 7 negative slopes (slope index 0-6), one slope that equals zero (slope index 7) and 8 positive slopes (slope index 8 -15).
- the slopes are depicted in Table C.
- Table C Slope Index 0 1 2 3 4 5 6 7 Slope Value -239 -143 -85 -51 -31 -19 -11 0 Slope Index 8 9 10 11 12 13 14 15 Slope Value 11 19 31 51 85 143 239 399
- valMPS is 1 and the pipeIdx equals (y - 2048) >> 8 if y is greater than 2047. Otherwise, valMPS is 0 and pipeIdx equals (2047 - y) >> 8.
- the refinement index equals ( ((y-2048) & 255) ⁇ numStates ) >> 8 if valMPS equals 1. Otherwise, the refinement index equals ( ((2047-y) & 255) ⁇ numStates ) >> 8. In both cases, numStates equals the number of CABAC states of the pipeIdx as depicted in Table B.
- the above scheme can not only be used in combination with PIPE coders, but also in connection with the above-mentioned CABAC schemes.
- the number of CABAC states i.e. the probability states between which the state transition in the probability update is performed (pState_current[bin])
- per PIPE Idx i.e. the respective most significant bits of pState_current[bin]
- this piece-wise linear interpolation can also virtually be disabled in the case where the parameter numStates uses the same value for all PIPE Idx.
- the second part of 8 bit initialization value can be used directly for initializing the internal state of a probability model. Otherwise the decimal part of the resulting internal state can be further exploited to determine a refinement index in high efficiency coding applications by linear interpolation between the limits of the specific PIPE coder. In this preferred embodiment the linear interpolation is executed by simply multiplying the decimal part with the total number of refinement indices available for the current PIPE coder and mapping the result to the closest integer refinement index.
- the process of initialization of the internal state of the probability models could be varied with regard to the number of PIPE probability index states.
- the double occurrence of the equal probable mode using PIPE coder E1 i.e. the use of two different PIPE indices to distinguish between MPS being 1 or 0, could be avoided as follows.
- the process could be invoked during the start of parsing of the slice data, and the input of this process could an 8 bit initialization value as depicted in Table E, which would be, for example, transmitted within the bit stream for every context model to be initialized.
- Table E Setup of the 8 bits of initValue for a probability model First 4 bits Last 4 bits initValue bits b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 Variable slopeIdx propIdx
- T he first 4 bits define a slope index and are retrieved by masking the bits b4 - b7.
- a slope (m) is specified and displayed in Table .
- Bits b0 -b3 the last 4 bits of the 8 bit initialization value, identify the probIdx and describe the probability at a predefined QP.
- probIdx 0 indicates the highest probability for symbols with value 0 and respectively
- probIdx 14 indicates the highest probability for symbols with value 1.
- Table G shows for each probIdx the corresponding pipeCoder and its valMps.
- the output (y) of this process represents the internal state of the probability model at the current QP and is stored in a 8 bit memory. As shown in G the internal state consists of the valMPs, the pipeIdx and the refineIdx.
- the probIdx is defined at QP26.
- the internal state (valMps, pipeIdx and refineIdx) of a probability model is processed as described in the following pseudo-code:
- the refineIdx is calculated by linearly interpolating between the interval of the pipeIdx and quantizing the result to the corresponding refineIdx.
- the offset specifies the total number of refineIdx for each pipeIdx.
- the interval [7, 8) of fullCtxState/256 is divided in half.
- Fig. 15 depicts the process of deriving the internal state and displays the mapping of fullCtxState/256 to pStateCtx.
- slopeIdx of the 8 bit initialization value 7 the resulting internal state of the probability model is the same for all slice QPs - hence the initialization process of the internal state is independent from the current QP of the slice.
- selector 402 may initialize the pipe indices to be used in decoding the following portion of the datastream such as the whole stream or the next slice, using the syntax element indicating the quantization step size QP used in order to quantize the data of this portion, such as the transform coefficient levels contained therein using this syntax element as an index into a table which may be common for both modes, LC and HE.
- the table such as table D may comprise pipe indices for each symbol type, for a respective reference QPref, or other data for each symbol type.
- the selector may compute a pipe index value using the respective table entry a indexed by the actual QP and QP itself, such as by multiplication a with (QP-QPref).
- the selector computes the result merely at a lower accuracy in case of LC compared to HE mode.
- the selector may, for example, merely use the integer part of the computation result.
- the higher accuracy remainder such as the fractional part, is used to select one of available refinement indices for the respective pipe index as indicated by the lower accuracy or integer part.
- the refinement index is used in HE mode (in portentially more seldomly also in LC mode) in order to perform the probability adaptation such as by using the above-mentioned table walk.
- the next lower pipe index is selected next with maximizing the refinement index to the maximum available for the new pipe index.
- the pipe indec along with the refinement index define the probability state, but for the selection among the partial streams, the selector merely uses the pipe index.
- the refinement index merely serves for tracking the probability more closely, or in a finer accuracy.
- the Decoder of Fig. 12 is for decoding a data stream 601 into which media data is coded, and comprises a mode switch 600 configured to activate a low-complexity mode or a high efficiency mode depending on the data stream 601, as well as a desymbolizer 602 configured to desymbolize a sequence 603 of symbols obtained - either directly or by entropy decoding, for example - from the data stream 601 to obtain integer-valued syntax elements 604 using a mapping function controllable by a control parameter, for mapping a domain of symbol sequence words to a co-domain of the integer-valued syntax elements.
- a reconstructor 605 is configured to reconstruct the media data 606 based on the integer-valued syntax elements.
- the desymbolizer 602 is configured to perform the desymbolization such that the control parameter varies in accordance with the data stream at a first rate in case of the high-efficiency mode being activated and the control parameter is constant irrespective of the data stream or changes depending on the data stream, but at a second rate lower than the first rate in case of the low-complexity mode being activated, , as it is illustrated by arrow 607.
- the control parameter may vary in accordance with previously desymbolized symbols.
- Fig. 12 Some of the above embodiments made use of the aspect of Fig. 12 .
- the syntax elements coeff_abs_minus3 and MVD within sequence 327 were, for example, binarized in desymbolizer 314 depending on the mode selected as indicated by 407, and the reconstructor 605 used these syntax elements for reconstruction.
- both aspects of Fig. 11 and 12 are readily combinable, but the aspect of Fig. 12 may also be combined with other coding environments.
- the desymbolizer 602 may be configured such that the mapping function uses a truncated unary code to perform the mapping within a first interval of the domain of integer-valued syntax elements below a cutoff value and a combination of a prefix in form of the truncated unary code for the cutoff value and a suffix in form of a VLC codeword within a second interval of the domain of integer-valued syntax elements inclusive and above the cutoff value, wherein the decoder may comprise an entropy decoder 608 configured to derive a number of first bins of the truncated unary code from the data stream 601 using entropy decoding with varying probability estimation and a number of second bins of the VLC codeword using a constant equi-probability bypass mode.
- the entropy coding may be more complex than in LC coding as illustrated by arrow 609. That is, context-adaptivity and/or probability adaptation may be applied in HE mode and suppressed in LC mode, or the complexity may be scaled in other terms, as set out above with respect to the various embodiments.
- FIG. 13 An encoder fitting to decoder of Fig. 11 , for encoding media data into a data stream is shown in Fig. 13 . It may comprise an inserter 500 configured to signal within the data stream 501 an activation of a low-complexity mode or a high efficiency mode, a constructor 504 configured to precode the media data 505 into a sequence 506 of syntax elements, a symbolizer 507 configured to symbolize the sequence 506 of syntax elements into a sequence 508 of symbols, a plurality of entropy encoders 310 each of which is configured to convert partial sequences of symbols into codewords of the data stream, and a selector 502 configured to forward each symbol of the sequence 508 of symbols to a selected one of the plurality of entropy encoders 310, wherein the selector 502 is configured to perform the selection depending on the activated one of the low complexity mode and the high-efficiency mode as illustrated by arrow 511.
- An interleaver 510 may be optionally provided for interleaving the
- FIG. 14 An encoder fitting to decoder of Fig. 12 , for encoding media data into a data stream is shown in Fig. 14 as comprising an inserter 700 configured to signal within the data stream 701 an activation of a low-complexity mode or a high efficiency mode, a constructor 704 configured to precode the media data 705 into a sequence 706 of syntax elements comprising an integer-valued syntax element, and a symbolizer 707 configured to symbolize the integer-valued syntax element using a mapping function controllable by a control parameter, for mapping a domain of integer-valued syntax elements to a co-domain of the symbol sequence words, wherein the symbolizer 707 is configured to perform the symbolization such that the control parameter varies in accordance with the data stream at a first rate in case of the high-efficiency mode being activated and the control parameter is constant irrespective of the data stream or changes depending on the data stream, but at a second rate lower than the first rate in case of the low-complexity mode being activated as illustrated by arrow 7
- selector 509 and entropy encoders 310 would condense into a context-adaptive binary arithmetic encoder which would output the data stream 401 directly and select the context for a bin currently to be derived from the data stream. This is especially true for context adaptivity and/or probability adaptivity. Both functionalities/adaptivities may be switched off, or designed more relaxed, during low complexity mode.
- Fig. 16 shows a decoder for decoding a video from a data stream 401 into which syntax elements 327 are coded using binarizations of the syntax elements 327. It is essential to note that in the above description, the whole details provided with the Figs. 1-15 are also transferable onto the entities shown in Fig. 16 such as, for example, as far as the functionality of the desymbolizer 314, the reconstructor 404 and the entropy decoder 409 is concerned. Nevertheless, for the sake of completeness, some of these details are again outlined below.
- the decoder comprises an entropy decoder 409 configured to derive a number of bins 326 of the binarizations from the data stream 401 using binary entropy decoding by selecting a context among different contexts and updating probability states associated with the different contexts, dependent on previously decoded portions of the data stream 401.
- the entropy decoder 409 may be configured to derive the number of bins 326 of the binarizations from the data stream 401 using binary entropy decoding such as the above-mentioned CABAC scheme, or binary PIPE decoding, i.e. using the construction involving several parallel operating entropy decoders 322 along with a respective selector/assigner.
- the entropy decoder may be configured to perform the context selection for a bin currently to be derived depending on a bin position of the bin currently to the derived within the binarization to which the bin currently to be derived belongs, a syntax element type of a syntax element, the integer value of which is obtained by debinarizing the binarization to which the bin currently to be derived belongs, or one or more bins previously derived from the data stream 401 or the integer value of a syntax element previously debinarized.
- the context selected may differ between the first and second bin of the binarization of a certain syntax element.
- different groups of contexts may be provided for different syntax element types such as transform coefficient levels, motion vector differences, coding mode parameters and the like.
- entropy decoder 409 may be configured to perform same, for a bin currently derived, by transitioning from a current probability state associated with the context selected for the bin currently derived within the 126 probability states to a new probability state among the 126 probability states depending on the bin currently derived. As described above, the entropy decoder 409 may, for example, access a table entry using the current state and the value of the bin currently derived with the accessed table entry revealing the new probability state. See above tables Next_State_LPS and Next_State_MPS the table look-up with respect to which is performed by the entropy decoder in addition to the other steps 0 to 5 listed above.
- the entropy decoder 409 may be configured to binary arithmetic decode a bin currently to be derived by quantizing a current probability interval bit value (R) representing a current probability interval to obtain a probability interval index q_index and performing an interval subdivision by indexing a table entry among table entries (Rtab) using the probability interval index and a probability state index p_state which depends on a current probability state associated with the context selected for the bin currently to be derived, to obtain the subdivision of the current probability interval into two partial intervals.
- the entropy decoder 409 may use an 8 bit representation for the current probability interval width value R.
- the entropy decoder 409 may, for example, grab-out two or three most significant bits of the 8 bit representation.
- Entropy decoder 409 may then perform the selection among the two partial intervals based on an offset state value from an interior of the current probability interval, update the probability interval width value and an offset state value, and infer a value of the bin currently to be derived, using the selected partial interval and perform a renormalization of the updated probability width value and the offset state value, namely V in the above description, including a continuation of reading bits from the data stream 401.
- the selection among the two partial intervals based on the offset state value V may involve a comparison between R and V while the update of the probability interval width value and the offset state value may depend on the value of the bin currently to be derived.
- the decoder further describes a desymbolizer 314 which is configured to debinarize the binarizations of the syntax elements 327 to obtain integer values of the syntax elements.
- the reconstructor 404 which is also comprised by the decoder of Fig. 16 , then reconstructs the video 405 based on the integer values of syntax elements using a quantization parameter QP.
- the reconstructor 404 may, as described above, operate in a predictive manner with using the quantization parameter in order to set the accuracy for representing the prediction residual such as the transform coefficient levels representing a transformed version of the prediction residual.
- the entropy decoder 409 is, as described above, configured to distinguish between 126 probability states.
- pState_current[bin] in combination with the indication of valMPS i..e the indication of the MBS among 0 and 1, i.e. among the possible symbol states, is able to assume 126 different states.
- the entropy decoder 409 initializes the probability states associated with the different contexts, i.e. pState_current for the different available contexts, according to a linear equation of the quantization parameter, i.e. an equation according to a . QP + d. It should be recalled that pState_current actually merely indicates the probability of the LSB. Thus, a ⁇ QP + d reveals both, namely pState_current and valMPS, i.e.
- the entropy decoder 126 derives, for each of the different contexts, slope a and offset b of the linear equation from first and second 4 bit parts of a respective 8 bit initialization value, namely the four MSBs on the one hand and the lower four LSBs.
- the entropy decoder 409 may be configured to initialize the probability states associated with the different contexts as beginnings of slices of the video.
- the entropy decoder may, for example, be configured to individually determine the quantization parameter for each slice of the video. That is, the entropy decoder 409 may derive from the data stream 401 information as to how to set the quantization parameter for each slice. Then, using slope and offset, the probability estimates are set at the beginning of each slice using the respective quantization parameter of the respective slice. "At the beginning of a slice” may, for example, mean "in advance of decoding the first bin to be entropy decoded using any of the context".
- the entropy decoder 409 may be configured to initialize the probability states associated with a different context at beginnings of slices of the video by reading the quantization parameter QP for a current slice from the data stream 401 and initializing the probability states associated with the different contexts according to a linear equation of the quantization parameter for the current slice, wherein the entropy decoder may, for each of the slices, derive the slope and the offset of the linear equation from the first and second 4 bit parts of the same respective 8 bit initialization value. That is, while the quantization parameter QP varies between the slices of the video, the pairs of slope and offset do not.
- the reconstructor 404 may, as just described, operate in a predictive manner. Accordingly, the reconstructor 404 may, in reconstructing the video 405 based on the integer values of the syntax elements 327, dequantize transform coefficient levels comprised by the syntax elements using the quantization parameter QP, perform a retransformation onto the dequantized transform coefficient levels to obtain the prediction residual, perform a spatial and/or temporal prediction to obtain a prediction signal, and combine the prediction residual and the prediction signal to reconstruct the video 405.
- the entropy decoder 409 may be configured to derive, for each of the different contexts, the slope and offset from the first and second 4 bit parts independently from each other such as, for example by table look-up as described above or, alternatively, using separate arithmetic operations such as linear operations. That is, in order to cross the gap between the 4 bits of the two 4 bit parts of the 8 bit initialization values on the one hand, and the 126 different probability state values on the other hand, the entropy decoder 409 may individually subject both 4 bit parts to linear equations.
- Fig. 17 shows an encoder fitting to the decoder of Fig. 16 , wherein the encoder of Fig. 17 closely corresponds to the construction of for example the encoder of Fig. 20 and the other embodiments for an encoder in a similar manner as the decoder of Fig. 16 corresponded to the decoder of Fig. 11 , i.e.
- a decoder for decoding a video from a data stream 401 into which syntax elements are coded using binarizations of the syntax elements 327 may comprise an entropy decoder 409 configured to derive a number of bins 326 of the binarizations from the data stream 401 using binary entropy decoding by selecting a context among different contexts and updating probability states associated with the different contexts, dependent on previously decoded portions of the data stream 401; a desymbolizer 314 configured to debinarize the binarizations of the syntax elements 327 to obtain integer values of the syntax elements; a reconstructor 404 configured to reconstruct the video based on the integer values of the syntax elements using a quantization parameter, wherein the entropy decoder 409 may be configured to distinguish between 126 probability states and to initialize the probability states associated with the different contexts according to a linear equation of the quantization parameter, wherein the entropy decoder may be configured to, for each of the different contexts
- the entropy decoder 409 may be configured to derive the number of bins of 326 the binarizations from the data stream 401 using binary arithmetic decoding or binary PIPE decoding.
- the entropy decoder 409 may be configured to perform the context selection for a bin currently to be derived depending on one or more of a bin position of the bin currently to be derived within the binarization to which the bin currently to be derived belongs, a syntax element type of a syntax element the integer value of which is obtained by debinarizing the binarization to which the bin currently to be derived belongs, and one or more bins previously derived from the data stream 401, or the integer value of a syntax element previously debinarized.
- the entropy decoder 409 may be configured to perform the probability state update by, for a bin currently derived, transitioning from a current probability state associated with the context selected for the bin currently derived within the 126 probability sates, to a new probability state among the 126 probability sates depending on the bin currently derived.
- the entropy decoder 409 may be configured to binary arithmetic decode a bin currently to be derived by quantizing a current probability interval width value representing a current probability interval to obtain a probability interval index and performing an interval subdivision by indexing a table entry among tables entries using the probability interval index and a probability state index depending on a current probability state associated with the context selected for the bin currently to be derived, to obtain a sub-division of the current probability interval into two partial intervals.
- the entropy decoder 409 may be configured to use an 8 bit representation for the current probability interval width value and to grab-out 2 or 3 most significant bits of the 8 bit representation in quantizing the current probability interval width value.
- the entropy decoder 409 may be configured to select among the two partial intervals based on an offset state value from an interior of the current probability interval, update the probability interval width value and an offset state value, and infer a value of the bin currently to be derived, using the selected partial interval and perform a renormalization of the updated probability interval width value and the offset state value including a continuation of reading bits from the data stream 401.
- the entropy decoder 409 may be configured to initialize the probability states associated with the different contexts at beginnings of slices of the video.
- the entropy decoder 409 may be configured to individually determine the quantization parameter for each slice of the video.
- the entropy decoder 409 may be configured to initialize the probability states associated with the different contexts at beginnings of slices of the video by reading the quantization parameter for a current slice from the data stream 401, and initializing the probability states associated with the different contexts according to a linear equation of the quantization parameter for the current slice, wherein the entropy decoder 409 may be configured to, for each of the slices, derive the slope and the offset of the linear equation from the first and second four bit parts of the same respective 8 bit initialization value.
- the reconstructor 404 may be configured to, in reconstructing the video 405 based on the integer values of the syntax elements 327, dequantize transform coefficient levels comprised by the syntax elements using the quantization parameter, performing a re-transformation onto the dequantized transform coefficient levels so as to obtain a prediction residual, perform a spatial and/or temporal prediction so as to obtain a prediction signal, and combine the prediction residual and the prediction signal so as to reconstruct the video 405.
- the entropy decoder 409 may be configured to derive, for each of the different contexts, the slope and the offset of the linear equation from the first and second four bit parts of the respective 8 bit initialization value independently from each other.
- the entropy decoder may be configured to derive, for each of the different contexts, the slope and the offset of the linear equation from the first and second four bit parts of the respective 8 bit initialization value by table look-up or using an arithmetic operation.
- the entropy decoder may be configured to derive, for each of the different contexts, the slope and the offset of the linear equation by multiplying and offsetting the first four bit part by a first pair of parameters, and the offset by multiplying and offsetting the second four bit part by a second pair of parameters.
- an encoder for encoding a video into a data stream by coding syntax elements into the data stream using binarizations of the syntax elements may comprise a constructor configured to represent the video by setting integer values of the syntax elements in dependence on a quantization parameter, a symbolizer configured to binarize the integer values of syntax elements to obtain binarizations of the syntax elements; an entropy encoder configured to encode a number of bins of the binarizations into the data stream using binary entropy encoding by selecting a context among different contexts and updating probability states associated with the different contexts, dependent on previously encoded portions of the data stream; wherein the entropy encoder may be configured to distinguish between 126 probability states and to initialize the probability states associated with the different contexts according to a linear equation of the quantization parameter, wherein the entropy encoder may be configured to, for each of the different contexts, derive a slope and an offset of the linear equation from first and second four bit parts of a respective 8 bit initialization value
- the entropy encoder may be configured to encode the number of bins of the binarizations into the data stream using binary arithmetic encoding or binary PIPE encoding.
- the entropy encoder may be configured to perform the context selection for a bin currently to be encoded depending on one or more of a bin position of the bin currently to be encoded within the binarization to which the bin currently to be encoded belongs, a syntax element type the integer value of which is binarized to the binarization to which the bin currently to be encoded belongs, and one or more bins previously encoded into the data stream, or the integer value of a syntax element the binarization of which has previously been encoded.
- the entropy decoder may be configured to perform the probability state update by, for a bin currently encoded, transition from a current probability state associated with the context selected for the bin currently encoded within the 126 probability sates, to a new probability state among the 126 probability sates depending on the bin currently derived.
- the entropy encoder may be configured to binary arithmetic encode a bin currently to be encoded by quantizing a current probability interval width value representing a current probability interval to obtain a probability interval index and performing a interval subdivision by indexing a table entry among tables entries using the probability interval index and a probability state index which depends on a current probability state associated with the context selected for the bin currently to be encoded, to obtain a sub-division of the current probability interval into two partial intervals.
- the entropy encoder may be configured to use an 8 bit representation for the current probability interval width value and to grab-out 2 or 3 most significant bits of the 8 bit representation in quantizing the current probability interval width value.
- the entropy encoder may be configured to select among the two partial intervals based on the integer value of the bin currently to be encoded, update the probability interval width value and a probability interval offset using the selected partial interval and perform a renormalization of the probability interval width value and the probability interval offset including a continuation of writing bits to the data stream.
- the entropy decoder may be configured to initialize the probability states associated with the different contexts at beginnings of slices of the video.
- the entropy encoder may be configured to initialize the probability states associated with the different contexts at beginnings of slices of the video.
- the entropy encoder may be configured to initialize the probability states associated with the different contexts at beginnings of slices of the video by individually setting the quantization parameter for a current slice from the data stream, and initializing the probability states associated with the different contexts according to a linear equation of the quantization parameter for the current slice, wherein the entropy encoder is configured to, for each of the slices, derive the slope and the offset of the linear equation from the first and second four bit parts of the same respective 8 bit initialization value.
- the constructor may be configured to, in setting the integer values of the syntax elements, perform a spatial and/or temporal prediction so as to obtain a prediction signal, derive a prediction residual from the prediction signal and the video, perform a transformation onto the prediction residual so as to obtain transform coefficient levels, and quantize the transform coefficient levels using the quantization parameter so as to obtain quantized transform coefficient levels comprised by the syntax elements.
- the entropy encoder may be configured to derive, for each of the different contexts, the slope and the offset of the linear equation from the first and second four bit parts of the respective 8 bit initialization value independently from each other.
- the entropy encoder may be configured to derive, for each of the different contexts, the slope and the offset of the linear equation from the first and second four bit parts of the respective 8 bit initialization value by table look-up or using an arithmetic operation.
- the entropy encoder may be configured to derive, for each of the different contexts, the slope and the offset of the linear equation by multiplying and offsetting the first four bit part by a first pair of parameters, and the offset by multiplying and offsetting the second four bit part by a second pair of parameters.
- a method for decoding a video from a data stream into which syntax elements are coded using binarizations of the syntax elements may comprise deriving a number of bins of the binarizations from the data stream using binary entropy decoding by selecting a context among different contexts and updating probability states associated with the different contexts, dependent on previously decoded portions of the data stream; debinarizing the binarizations of the syntax elements to obtain integer values of the syntax elements; reconstructing the video based on the integer values of the syntax elements using a quantization parameter, wherein the derivation of the number of bins of the binarizations distinguishes between 126 probability states and the method for comprises initializing the probability states associated with the different contexts according to a linear equation of the quantization parameter, and, for each of the different contexts, deriving a slope and an offset of the linear equation from first and second four bit parts of a respective 8 bit initialization value.
- a method for encoding a video into a data stream by coding syntax elements into the data stream using binarizations of the syntax elements may comprise representing the video by setting integer values of the syntax elements in dependence on a quantization parameter, binarizing the integer values of syntax elements to obtain binarizations of the syntax elements; encoding a number of bins of the binarizations into the data stream using binary entropy encoding by selecting a context among different contexts and updating probability states associated with the different contexts, dependent on previously encoded portions of the data stream; wherein the representation of the video distinguishes between 126 probability states and the method further comprises initializing the probability states associated with the different contexts according to a linear equation of the quantization parameter, and, for each of the different contexts, deriving a slope and an offset of the linear equation from first and second four bit parts of a respective 8 bit initialization value.
- a computer program may have a program code for performing, when running on a computer, a method in accordance with any of the twenty-ninth to thirtieth aspects.
- aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus.
- Some or all of the method steps may be executed by (or using) a hardware apparatus, like for example, a microprocessor, a programmable computer or an electronic circuit. In some embodiments, some one or more of the most important method steps may be executed by such an apparatus.
- the inventive encoded signal 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.
- embodiments of the invention can be implemented in hardware or in software.
- the implementation can be performed using a digital storage medium, for example a floppy disk, a DVD, a Blue-Ray, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed. Therefore, the digital storage medium may be computer readable.
- Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the methods described herein is performed.
- embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer.
- the program code may for example be stored on a machine readable carrier.
- inventions comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.
- an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.
- a further 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 performing one of the methods described herein.
- the data carrier, the digital storage medium or the recorded medium are typically tangible and/or non-transitionary.
- a further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein.
- the data stream or the sequence of signals may for example be configured to be transferred via a data communication connection, for example via the Internet.
- a further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.
- a processing means for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.
- a further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.
- a further embodiment according to the invention comprises an apparatus or a 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, for example, be 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 .
- a programmable logic device for example a field programmable gate array
- a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods described herein.
- the methods are preferably performed by any hardware apparatus.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Sealing Devices (AREA)
- Diaphragms And Bellows (AREA)
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161497794P | 2011-06-16 | 2011-06-16 | |
US201161508506P | 2011-07-15 | 2011-07-15 | |
EP18152613.8A EP3343781B1 (en) | 2011-06-16 | 2012-06-18 | Context initialization in entropy coding |
PCT/EP2012/061614 WO2012172114A1 (en) | 2011-06-16 | 2012-06-18 | Context initialization in entropy coding |
EP12728524.5A EP2721820A1 (en) | 2011-06-16 | 2012-06-18 | Context initialization in entropy coding |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP12728524.5A Division EP2721820A1 (en) | 2011-06-16 | 2012-06-18 | Context initialization in entropy coding |
EP18152613.8A Division EP3343781B1 (en) | 2011-06-16 | 2012-06-18 | Context initialization in entropy coding |
Publications (1)
Publication Number | Publication Date |
---|---|
EP4033672A1 true EP4033672A1 (en) | 2022-07-27 |
Family
ID=46319135
Family Applications (11)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP12734832.4A Active EP2721822B1 (en) | 2011-06-16 | 2012-06-18 | Entropy coding of motion vector differences |
EP24166608.0A Pending EP4407996A2 (en) | 2011-06-16 | 2012-06-18 | Entropy coding of motion vector differences |
EP18203401.7A Active EP3471415B1 (en) | 2011-06-16 | 2012-06-18 | Entropy coding of motion vector differences |
EP21189232.8A Active EP3930330B1 (en) | 2011-06-16 | 2012-06-18 | Entropy coding of motion vector differences |
EP21211399.7A Pending EP4033672A1 (en) | 2011-06-16 | 2012-06-18 | Context initialization in entropy coding |
EP23177778.0A Pending EP4277276A1 (en) | 2011-06-16 | 2012-06-18 | Entropy coding of motion vector differences |
EP18152613.8A Active EP3343781B1 (en) | 2011-06-16 | 2012-06-18 | Context initialization in entropy coding |
EP12728524.5A Ceased EP2721820A1 (en) | 2011-06-16 | 2012-06-18 | Context initialization in entropy coding |
EP24166607.2A Pending EP4407995A2 (en) | 2011-06-16 | 2012-06-18 | Entropy coding of motion vector differences |
EP12728084.0A Active EP2721819B1 (en) | 2011-06-16 | 2012-06-18 | Entropy coding supporting mode switching |
EP20155692.5A Pending EP3703367A1 (en) | 2011-06-16 | 2012-06-18 | Entropy coding supporting mode switching |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP12734832.4A Active EP2721822B1 (en) | 2011-06-16 | 2012-06-18 | Entropy coding of motion vector differences |
EP24166608.0A Pending EP4407996A2 (en) | 2011-06-16 | 2012-06-18 | Entropy coding of motion vector differences |
EP18203401.7A Active EP3471415B1 (en) | 2011-06-16 | 2012-06-18 | Entropy coding of motion vector differences |
EP21189232.8A Active EP3930330B1 (en) | 2011-06-16 | 2012-06-18 | Entropy coding of motion vector differences |
Family Applications After (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP23177778.0A Pending EP4277276A1 (en) | 2011-06-16 | 2012-06-18 | Entropy coding of motion vector differences |
EP18152613.8A Active EP3343781B1 (en) | 2011-06-16 | 2012-06-18 | Context initialization in entropy coding |
EP12728524.5A Ceased EP2721820A1 (en) | 2011-06-16 | 2012-06-18 | Context initialization in entropy coding |
EP24166607.2A Pending EP4407995A2 (en) | 2011-06-16 | 2012-06-18 | Entropy coding of motion vector differences |
EP12728084.0A Active EP2721819B1 (en) | 2011-06-16 | 2012-06-18 | Entropy coding supporting mode switching |
EP20155692.5A Pending EP3703367A1 (en) | 2011-06-16 | 2012-06-18 | Entropy coding supporting mode switching |
Country Status (31)
Country | Link |
---|---|
US (36) | US9455744B2 (ko) |
EP (11) | EP2721822B1 (ko) |
JP (11) | JP5925884B2 (ko) |
KR (13) | KR101662136B1 (ko) |
CN (26) | CN107529708B (ko) |
AP (3) | AP4072A (ko) |
AU (11) | AU2012268951B2 (ko) |
BR (4) | BR122020024986B1 (ko) |
CA (2) | CA2839560C (ko) |
CL (2) | CL2013003601A1 (ko) |
CO (2) | CO6852031A2 (ko) |
CY (1) | CY1124687T1 (ko) |
DK (5) | DK3343781T3 (ko) |
ES (5) | ES2897209T3 (ko) |
FI (2) | FI3930330T3 (ko) |
HK (17) | HK1197128A1 (ko) |
HR (1) | HRP20220272T1 (ko) |
HU (5) | HUE062605T2 (ko) |
IL (17) | IL305221B2 (ko) |
LT (4) | LT2721819T (ko) |
MX (7) | MX364201B (ko) |
MY (3) | MY202391A (ko) |
PH (15) | PH12018500331A1 (ko) |
PL (5) | PL2721822T3 (ko) |
PT (5) | PT2721822T (ko) |
RS (4) | RS63053B1 (ko) |
RU (7) | RU2615681C2 (ko) |
SI (4) | SI2721819T1 (ko) |
UA (2) | UA115186C2 (ko) |
WO (3) | WO2012172113A1 (ko) |
ZA (2) | ZA201400029B (ko) |
Families Citing this family (228)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BR122020008249B1 (pt) | 2010-04-13 | 2021-02-17 | Ge Video Compression, Llc | herança em amostra de arranjo em subdivisão multitree |
CN106231337B (zh) | 2010-04-13 | 2020-06-19 | Ge视频压缩有限责任公司 | 解码器、解码方法、编码器以及编码方法 |
CN106067983B (zh) | 2010-04-13 | 2019-07-12 | Ge视频压缩有限责任公司 | 解码数据流的方法、生成数据流的方法及解码器 |
EP3703369B1 (en) | 2010-04-13 | 2024-07-24 | GE Video Compression, LLC | Sample region merging |
US9288089B2 (en) | 2010-04-30 | 2016-03-15 | Ecole Polytechnique Federale De Lausanne (Epfl) | Orthogonal differential vector signaling |
US9985634B2 (en) | 2010-05-20 | 2018-05-29 | Kandou Labs, S.A. | Data-driven voltage regulator |
US9251873B1 (en) | 2010-05-20 | 2016-02-02 | Kandou Labs, S.A. | Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications |
US9288082B1 (en) | 2010-05-20 | 2016-03-15 | Kandou Labs, S.A. | Circuits for efficient detection of vector signaling codes for chip-to-chip communication using sums of differences |
US9077386B1 (en) | 2010-05-20 | 2015-07-07 | Kandou Labs, S.A. | Methods and systems for selection of unions of vector signaling codes for power and pin efficient chip-to-chip communication |
US8593305B1 (en) | 2011-07-05 | 2013-11-26 | Kandou Labs, S.A. | Efficient processing and detection of balanced codes |
US9246713B2 (en) | 2010-05-20 | 2016-01-26 | Kandou Labs, S.A. | Vector signaling with reduced receiver complexity |
WO2011151469A1 (en) | 2010-06-04 | 2011-12-08 | Ecole Polytechnique Federale De Lausanne | Error control coding for orthogonal differential vector signaling |
US20120182388A1 (en) * | 2011-01-18 | 2012-07-19 | Samsung Electronics Co., Ltd. | Apparatus and method for processing depth image |
CN107529708B (zh) | 2011-06-16 | 2019-05-07 | Ge视频压缩有限责任公司 | 解码器、编码器、解码和编码视频的方法及存储介质 |
PL3309969T3 (pl) | 2011-06-24 | 2023-09-18 | Sun Patent Trust | Sposób i urządzenie kodujące obraz |
ES2711671T3 (es) | 2011-06-28 | 2019-05-06 | Samsung Electronics Co Ltd | Procedimiento de decodificación de vídeo usando decodificación |
US11647197B2 (en) * | 2011-06-30 | 2023-05-09 | Velos Media, Llc | Context initialization based on slice header flag and slice type |
UA114674C2 (uk) | 2011-07-15 | 2017-07-10 | ДЖ.І. ВІДІЕУ КЕМПРЕШН, ЛЛСі | Ініціалізація контексту в ентропійному кодуванні |
EP4152749B1 (en) | 2011-07-15 | 2024-04-10 | GE Video Compression, LLC | Sample array coding for low-delay |
CN106101727B (zh) | 2011-08-04 | 2019-10-08 | 寰发股份有限公司 | 基于上下文自适应二进制算术编码的方法及装置 |
EP2740263B1 (en) * | 2011-09-16 | 2019-02-27 | HFI Innovation Inc. | Method and apparatus for prediction mode and partition mode syntax coding for coding units in hevc |
WO2013050612A1 (en) * | 2011-10-06 | 2013-04-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Entropy coding buffer arrangement |
US20130101047A1 (en) * | 2011-10-19 | 2013-04-25 | Sony Corporation | Context reduction of significance map coding of 4x4 and 8x8 transform coefficient in hm4.0 |
US9871537B2 (en) * | 2011-10-27 | 2018-01-16 | Qualcomm Incorporated | Mapping states in binary arithmetic coder for video coding |
US9484952B2 (en) | 2011-11-03 | 2016-11-01 | Qualcomm Incorporated | Context state and probability initialization for context adaptive entropy coding |
IN2014CN03598A (ko) * | 2011-11-04 | 2015-07-31 | Sharp Kk | |
KR20130050403A (ko) * | 2011-11-07 | 2013-05-16 | 오수미 | 인터 모드에서의 복원 블록 생성 방법 |
US9503717B2 (en) | 2012-01-09 | 2016-11-22 | Texas Instruments Incorporated | Context adaptive binary arithmetic coding (CABAC) with scalable throughput and coding efficiency |
WO2013106987A1 (en) * | 2012-01-16 | 2013-07-25 | Mediatek Singapore Pte. Ltd. | Methods and apparatuses of bypass coding and reducing contexts for some syntax elements |
US20130188698A1 (en) * | 2012-01-19 | 2013-07-25 | Qualcomm Incorporated | Coefficient level coding |
US9866829B2 (en) * | 2012-01-22 | 2018-01-09 | Qualcomm Incorporated | Coding of syntax elements that correspond to coefficients of a coefficient block in video coding |
US10158855B2 (en) * | 2012-03-08 | 2018-12-18 | Sun Patent Trust | Image decoding method, and image decoding apparatus using a selected context related to neighboring coefficients |
US11039138B1 (en) | 2012-03-08 | 2021-06-15 | Google Llc | Adaptive coding of prediction modes using probability distributions |
US9237344B2 (en) * | 2012-03-22 | 2016-01-12 | Qualcomm Incorporated | Deriving context for last position coding for video coding |
US9584802B2 (en) | 2012-04-13 | 2017-02-28 | Texas Instruments Incorporated | Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput |
US9621921B2 (en) | 2012-04-16 | 2017-04-11 | Qualcomm Incorporated | Coefficient groups and coefficient coding for coefficient scans |
AU2013264361B2 (en) | 2012-05-25 | 2017-01-05 | Sun Patent Trust | Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device |
CA2841112C (en) | 2012-05-25 | 2019-09-17 | Panasonic Corporation | Moving picture coding and decoding using context adaptive binary arithmetic coding with fixed probability for some sample adaptive offset parameters |
WO2013175736A1 (ja) * | 2012-05-25 | 2013-11-28 | パナソニック株式会社 | 動画像符号化方法、動画像符号化装置、動画像復号方法、動画像復号装置、および、動画像符号化復号装置 |
WO2013183232A1 (ja) | 2012-06-04 | 2013-12-12 | パナソニック株式会社 | 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置 |
DE102012224060A1 (de) * | 2012-12-20 | 2014-06-26 | Robert Bosch Gmbh | Verfahren zur Datenübertragung für ein Batteriemanagementsystem |
CN104995612B (zh) | 2013-01-17 | 2020-01-03 | 康杜实验室公司 | 低同步开关噪声芯片间通信方法和系统 |
WO2014124450A1 (en) | 2013-02-11 | 2014-08-14 | Kandou Labs, S.A. | Methods and systems for high bandwidth chip-to-chip communications interface |
CN104053007B (zh) * | 2013-03-15 | 2019-05-07 | 乐金电子(中国)研究开发中心有限公司 | 深度图像帧内编码模式索引值配置方法及装置 |
GB2513111A (en) | 2013-04-08 | 2014-10-22 | Sony Corp | Data encoding and decoding |
KR102241045B1 (ko) | 2013-04-16 | 2021-04-19 | 칸도우 랩스 에스에이 | 고 대역폭 통신 인터페이스를 위한 방법 및 시스템 |
BR112015031918A2 (pt) | 2013-06-25 | 2017-07-25 | Numeri Ltd | aumento de resolução espaço-temporal de múltiplos níveis de vídeo |
EP2997704B1 (en) | 2013-06-25 | 2020-12-16 | Kandou Labs S.A. | Vector signaling with reduced receiver complexity |
US10021419B2 (en) * | 2013-07-12 | 2018-07-10 | Qualcomm Incorported | Rice parameter initialization for coefficient level coding in video coding process |
US20150098504A1 (en) * | 2013-10-09 | 2015-04-09 | Qualcomm Incorporated | Block vector coding for intra block copying |
US10270590B2 (en) | 2013-12-16 | 2019-04-23 | Mcafee, Llc | Process efficient preprocessing for any encryption standard |
GB2521828A (en) | 2013-12-23 | 2015-07-08 | Sony Corp | Data encoding and decoding |
WO2015100522A1 (en) * | 2013-12-30 | 2015-07-09 | Mediatek Singapore Pte. Ltd. | Methods for inter-component residual prediction |
US9806761B1 (en) | 2014-01-31 | 2017-10-31 | Kandou Labs, S.A. | Methods and systems for reduction of nearest-neighbor crosstalk |
CN105993151B (zh) | 2014-02-02 | 2019-06-21 | 康杜实验室公司 | 低isi比低功率芯片间通信方法和装置 |
US9787799B2 (en) | 2014-02-27 | 2017-10-10 | Dropbox, Inc. | Systems and methods for managing content items having multiple resolutions |
US10885104B2 (en) * | 2014-02-27 | 2021-01-05 | Dropbox, Inc. | Systems and methods for selecting content items to store and present locally on a user device |
EP3672176B1 (en) | 2014-02-28 | 2022-05-11 | Kandou Labs, S.A. | Clock-embedded vector signaling codes |
US9509437B2 (en) | 2014-05-13 | 2016-11-29 | Kandou Labs, S.A. | Vector signaling code with improved noise margin |
US20150334425A1 (en) * | 2014-05-14 | 2015-11-19 | Blackberry Limited | Adaptive context initialization |
US9148087B1 (en) | 2014-05-16 | 2015-09-29 | Kandou Labs, S.A. | Symmetric is linear equalization circuit with increased gain |
WO2015184069A1 (en) | 2014-05-28 | 2015-12-03 | Arris Enterprises, Inc. | Acceleration of context adaptive binary arithmetic coding (cabac) in video codecs |
US9337862B2 (en) | 2014-06-09 | 2016-05-10 | Tidal Systems, Inc. | VLSI efficient Huffman encoding apparatus and method |
US9852806B2 (en) | 2014-06-20 | 2017-12-26 | Kandou Labs, S.A. | System for generating a test pattern to detect and isolate stuck faults for an interface using transition coding |
US9930341B2 (en) * | 2014-06-20 | 2018-03-27 | Qualcomm Incorporated | Block vector coding for intra block copying |
US9112550B1 (en) | 2014-06-25 | 2015-08-18 | Kandou Labs, SA | Multilevel driver for high speed chip-to-chip communications |
US9854253B2 (en) * | 2014-06-30 | 2017-12-26 | Qualcomm Incorporated | Method for motion vector difference (MVD) and intra block copy vector difference (BVD) coding of screen content video data |
US9900186B2 (en) | 2014-07-10 | 2018-02-20 | Kandou Labs, S.A. | Vector signaling codes with increased signal to noise characteristics |
US9432082B2 (en) | 2014-07-17 | 2016-08-30 | Kandou Labs, S.A. | Bus reversable orthogonal differential vector signaling codes |
KR101943048B1 (ko) | 2014-07-21 | 2019-01-28 | 칸도우 랩스 에스에이 | 다분기 데이터 전송 |
CN110008166B (zh) | 2014-08-01 | 2023-07-18 | 康杜实验室公司 | 带内嵌时钟的正交差分向量信令码 |
US10283091B2 (en) * | 2014-10-13 | 2019-05-07 | Microsoft Technology Licensing, Llc | Buffer optimization |
CN105578180B (zh) * | 2014-10-16 | 2019-01-15 | 联想(北京)有限公司 | 一种编码方法及装置 |
US9674014B2 (en) | 2014-10-22 | 2017-06-06 | Kandou Labs, S.A. | Method and apparatus for high speed chip-to-chip communications |
CN104392725A (zh) * | 2014-12-02 | 2015-03-04 | 中科开元信息技术(北京)有限公司 | 多声道无损音频混合编解码方法及装置 |
US10097833B2 (en) | 2014-12-26 | 2018-10-09 | Intel Corporation | Method and system of entropy coding using look-up table based probability updating for video coding |
CN107211136B (zh) * | 2015-01-30 | 2019-10-29 | 联发科技股份有限公司 | 具有大字母表的源样本的熵编码与熵解码的方法 |
US9942551B2 (en) * | 2015-01-30 | 2018-04-10 | Qualcomm Incorporated | Palette index grouping for video coding |
EP3254465A1 (en) * | 2015-02-05 | 2017-12-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Multi-view video codec supporting residual prediction |
US9930378B2 (en) * | 2015-02-11 | 2018-03-27 | Qualcomm Incorporated | Signaling of operation points for carriage of HEVC extensions |
US10200711B2 (en) | 2015-03-27 | 2019-02-05 | Qualcomm Incorporated | Motion vector derivation in video coding |
WO2016161967A1 (en) | 2015-04-08 | 2016-10-13 | Mediatek Inc. | Methods of palette mode coding in video coding |
CN107810632B (zh) * | 2015-05-06 | 2020-06-23 | Ng编译码器股份有限公司 | 具有降低代价的块分割和细化的帧内模式选择的帧内预测处理器 |
KR102051200B1 (ko) * | 2015-05-19 | 2019-12-02 | 미디어텍 인크. | 다중 테이블 기반의 컨텍스트 적응 이진 산술 코딩을 위한 방법 및 장치 |
CN113225159B (zh) | 2015-06-26 | 2024-06-07 | 康杜实验室公司 | 高速通信系统 |
KR20240000649A (ko) * | 2015-08-24 | 2024-01-02 | 엘지전자 주식회사 | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
WO2017041271A1 (en) * | 2015-09-10 | 2017-03-16 | Mediatek Singapore Pte. Ltd. | Efficient context modeling for coding a block of data |
ES2710234B1 (es) * | 2015-09-11 | 2020-03-09 | Kt Corp | Procedimiento y dispositivo para procesar señales de vídeo |
US10158874B2 (en) * | 2015-09-30 | 2018-12-18 | Apple Inc. | Parallel bypass and regular bin coding |
US10198355B2 (en) | 2015-10-29 | 2019-02-05 | Dropbox, Inc. | Proving a dynamic digital content cache |
US10440399B2 (en) * | 2015-11-13 | 2019-10-08 | Qualcomm Incorporated | Coding sign information of video data |
US10055372B2 (en) | 2015-11-25 | 2018-08-21 | Kandou Labs, S.A. | Orthogonal differential vector signaling codes with embedded clock |
WO2017132292A1 (en) | 2016-01-25 | 2017-08-03 | Kandou Labs, S.A. | Voltage sampler driver with enhanced high-frequency gain |
FR3047379A1 (fr) * | 2016-01-29 | 2017-08-04 | Orange | Procede de codage et decodage de donnees, dispositif de codage et decodage de donnees et programmes d'ordinateur correspondants |
US10791097B2 (en) | 2016-04-14 | 2020-09-29 | Sophos Limited | Portable encryption format |
US10573324B2 (en) | 2016-02-24 | 2020-02-25 | Dolby International Ab | Method and system for bit reservoir control in case of varying metadata |
US10003454B2 (en) | 2016-04-22 | 2018-06-19 | Kandou Labs, S.A. | Sampler with low input kickback |
EP3446403B1 (en) | 2016-04-22 | 2021-01-06 | Kandou Labs S.A. | High performance phase locked loop |
CN109313622B (zh) | 2016-04-28 | 2022-04-15 | 康杜实验室公司 | 用于密集路由线组的向量信令码 |
US10153591B2 (en) | 2016-04-28 | 2018-12-11 | Kandou Labs, S.A. | Skew-resistant multi-wire channel |
EP3449606A4 (en) | 2016-04-28 | 2019-11-27 | Kandou Labs S.A. | LOW POWER MULTILAYER ATTACK CIRCUIT |
US10708164B2 (en) * | 2016-05-03 | 2020-07-07 | Qualcomm Incorporated | Binarizing secondary transform index |
US10142652B2 (en) * | 2016-05-05 | 2018-11-27 | Google Llc | Entropy coding motion vector residuals obtained using reference motion vectors |
FR3054764B1 (fr) * | 2016-07-28 | 2018-07-27 | B<>Com | Procede de decodage d'une image, procede de codage, dispositifs, equipement terminal et programmes d'ordinateurs associes |
WO2018030293A1 (ja) * | 2016-08-10 | 2018-02-15 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
US9906358B1 (en) | 2016-08-31 | 2018-02-27 | Kandou Labs, S.A. | Lock detector for phase lock loop |
US10411922B2 (en) | 2016-09-16 | 2019-09-10 | Kandou Labs, S.A. | Data-driven phase detector element for phase locked loops |
US10419781B2 (en) * | 2016-09-20 | 2019-09-17 | Qualcomm Incorporated | Storing and retrieving high bit depth image data |
US10264264B2 (en) * | 2016-09-24 | 2019-04-16 | Apple Inc. | Multi-bin decoding systems and methods |
US11356693B2 (en) * | 2016-09-29 | 2022-06-07 | Qualcomm Incorporated | Motion vector coding for video coding |
US10462462B2 (en) * | 2016-09-29 | 2019-10-29 | Qualcomm Incorporated | Motion vector difference coding technique for video coding |
CN106231318B (zh) * | 2016-09-30 | 2020-04-28 | 浙江宇视科技有限公司 | 一种基于量化变换系数的视频加扰方法及装置 |
PE20191058A1 (es) * | 2016-10-11 | 2019-08-06 | Genomsys Sa | Metodo y sistema para el acceso selectivo de datos bioinformaticos almacenados o transmitidos |
US10200188B2 (en) | 2016-10-21 | 2019-02-05 | Kandou Labs, S.A. | Quadrature and duty cycle error correction in matrix phase lock loop |
US10200218B2 (en) | 2016-10-24 | 2019-02-05 | Kandou Labs, S.A. | Multi-stage sampler with increased gain |
US10372665B2 (en) | 2016-10-24 | 2019-08-06 | Kandou Labs, S.A. | Multiphase data receiver with distributed DFE |
CN110100440B (zh) * | 2016-12-22 | 2023-04-25 | 株式会社Kt | 一种用于对视频进行解码、编码的方法 |
US11240526B2 (en) | 2017-01-02 | 2022-02-01 | Industry-University Cooperation Foundation Hanyang University | Method and apparatus for decoding image using interpicture prediction |
WO2018128222A1 (ko) * | 2017-01-03 | 2018-07-12 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 디코딩 방법 및 장치 |
US10757412B2 (en) | 2017-01-03 | 2020-08-25 | Avago Technologies International Sales Pte. Limited | Architecture flexible binary arithmetic coding system |
KR20180087771A (ko) * | 2017-01-25 | 2018-08-02 | 삼성전자주식회사 | 엔트로피 인코더 및 이를 포함하는 비디오 인코더 |
US10595033B2 (en) | 2017-02-15 | 2020-03-17 | Sony Corporation | Variable length coding of header data for image compression |
KR102450863B1 (ko) * | 2017-03-22 | 2022-10-05 | 에스케이텔레콤 주식회사 | 움직임벡터를 부호화 또는 복호화하기 위한 장치 및 방법 |
US10554988B2 (en) * | 2017-03-22 | 2020-02-04 | Qualcomm Incorporated | Binary arithmetic coding with parameterized probability estimation finite state machines |
CA3222632A1 (en) | 2017-04-13 | 2018-10-18 | Lg Electronics Inc. | Method and device for entropy encoding and decoding video signal |
EP4216444A1 (en) | 2017-04-14 | 2023-07-26 | Kandou Labs, S.A. | Pipelined forward error correction for vector signaling code channel |
US10116468B1 (en) | 2017-06-28 | 2018-10-30 | Kandou Labs, S.A. | Low power chip-to-chip bidirectional communications |
US10686583B2 (en) | 2017-07-04 | 2020-06-16 | Kandou Labs, S.A. | Method for measuring and correcting multi-wire skew |
US10693587B2 (en) | 2017-07-10 | 2020-06-23 | Kandou Labs, S.A. | Multi-wire permuted forward error correction |
US11477492B2 (en) * | 2017-08-04 | 2022-10-18 | Google Inc. | Adaptation for entropy coding of blocks of image data |
US10203226B1 (en) | 2017-08-11 | 2019-02-12 | Kandou Labs, S.A. | Phase interpolation circuit |
US10791341B2 (en) * | 2017-10-10 | 2020-09-29 | Qualcomm Incorporated | Binary arithmetic coding with progressive modification of adaptation parameters |
US10484695B2 (en) * | 2017-10-23 | 2019-11-19 | Google Llc | Refined entropy coding for level maps |
US11039143B2 (en) * | 2017-11-20 | 2021-06-15 | Qualcomm Incorporated | Memory reduction for context initialization with temporal prediction |
EP3490253A1 (en) * | 2017-11-23 | 2019-05-29 | Thomson Licensing | Encoding and decoding methods and corresponding devices |
EP3721631A1 (en) * | 2017-12-06 | 2020-10-14 | V-Nova International Limited | Method and apparatus for decoding a received set of encoded data |
US10609421B2 (en) * | 2018-07-12 | 2020-03-31 | Google Llc | Context derivation for coefficient coding |
US10326623B1 (en) | 2017-12-08 | 2019-06-18 | Kandou Labs, S.A. | Methods and systems for providing multi-stage distributed decision feedback equalization |
US10694205B2 (en) * | 2017-12-18 | 2020-06-23 | Google Llc | Entropy coding of motion vectors using categories of transform blocks |
US10602178B1 (en) * | 2017-12-21 | 2020-03-24 | Mozilla Corporation | Systems and methods for frame context selection |
EP3503557A1 (en) * | 2017-12-22 | 2019-06-26 | Thomson Licensing | Method and apparatus for video encoding and decoding based on context switching |
US10554380B2 (en) | 2018-01-26 | 2020-02-04 | Kandou Labs, S.A. | Dynamically weighted exclusive or gate having weighted output segments for phase detection and phase interpolation |
EP4221201A1 (en) * | 2018-01-29 | 2023-08-02 | InterDigital VC Holdings, Inc. | Encoding and decoding with refinement of the reconstructed picture |
KR102566836B1 (ko) * | 2018-03-29 | 2023-08-16 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 병렬 코딩 기능들 향상을 위한 컨셉 |
TWI799785B (zh) * | 2018-03-29 | 2023-04-21 | 弗勞恩霍夫爾協會 | 視訊解碼器、視訊編碼器、用以解碼視訊內容之方法、用以編碼視訊內容之方法、電腦程式及視訊位元串流 |
US10986354B2 (en) * | 2018-04-16 | 2021-04-20 | Panasonic Intellectual Property Corporation Of America | Encoder, decoder, encoding method, and decoding method |
US10645381B2 (en) | 2018-04-30 | 2020-05-05 | Google Llc | Intra-prediction for smooth blocks in image/video |
US10630990B1 (en) * | 2018-05-01 | 2020-04-21 | Amazon Technologies, Inc. | Encoder output responsive to quality metric information |
CN108810553B (zh) * | 2018-05-02 | 2021-01-12 | 上海大学 | 一种基于稀疏化处理的移动节点监测数据序列压缩方法 |
TWI675441B (zh) * | 2018-05-14 | 2019-10-21 | 欣興電子股份有限公司 | 封裝載板結構及其製造方法 |
JP7183304B6 (ja) * | 2018-05-25 | 2022-12-20 | ライン プラス コーポレーション | 複数のチャネルを利用して動的ビットレートのビデオを配信および再生する方法およびシステム |
EP3782369B1 (en) | 2018-05-30 | 2023-08-23 | Huawei Technologies Co., Ltd. | Multi-type tree depth extension for picture boundary handling |
US10986340B2 (en) * | 2018-06-01 | 2021-04-20 | Qualcomm Incorporated | Coding adaptive multiple transform information for video coding |
US10939115B2 (en) * | 2018-06-19 | 2021-03-02 | Qualcomm Incorporated | Efficient weighted probability estimation for binary arithmetic coding |
CN108848380B (zh) * | 2018-06-20 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 视频编码和解码方法、装置、计算机设备及存储介质 |
TWI728389B (zh) * | 2018-07-01 | 2021-05-21 | 大陸商北京字節跳動網絡技術有限公司 | 基於優先級的非相鄰merge設計 |
US20210274182A1 (en) * | 2018-07-02 | 2021-09-02 | Interdigital Vc Holdings, Inc. | Context-based binary arithmetic encoding and decoding |
US11051025B2 (en) * | 2018-07-13 | 2021-06-29 | Tencent America LLC | Method and apparatus for video coding |
CN108989825B (zh) * | 2018-07-18 | 2021-05-07 | 北京奇艺世纪科技有限公司 | 一种算术编码方法、装置及电子设备 |
US11218737B2 (en) | 2018-07-23 | 2022-01-04 | Google Llc | Asymmetric probability model update and entropy coding precision |
US10743029B2 (en) * | 2018-07-30 | 2020-08-11 | Tencent America LLC | Constraints on coding unit partition |
CN110809165B (zh) | 2018-08-04 | 2022-07-26 | 北京字节跳动网络技术有限公司 | 仿射的运动矢量差精度 |
US11336918B2 (en) | 2018-09-05 | 2022-05-17 | Qualcomm Incorporated | Regular coded bin reduction for coefficient coding |
CN110891180B (zh) | 2018-09-10 | 2023-11-17 | 华为技术有限公司 | 视频解码方法及视频解码器 |
CN114125467A (zh) * | 2018-09-13 | 2022-03-01 | 华为技术有限公司 | 一种预测运动信息的解码方法及装置 |
US11006150B2 (en) * | 2018-09-24 | 2021-05-11 | Tencent America LLC | Method and apparatus for video coding |
KR20240068680A (ko) * | 2018-10-05 | 2024-05-17 | 로즈데일 다이나믹스 엘엘씨 | 변환 계수 코딩 방법 및 그 장치 |
CN111010569B (zh) | 2018-10-06 | 2023-02-28 | 北京字节跳动网络技术有限公司 | Bio中的时间梯度计算的改善 |
US20200143226A1 (en) * | 2018-11-05 | 2020-05-07 | Samsung Electronics Co., Ltd. | Lossy compression of neural network activation maps |
US10983677B2 (en) | 2018-11-16 | 2021-04-20 | Dropbox, Inc. | Prefetching digital thumbnails from remote servers to client devices based on a dynamic determination of file display criteria |
US10841595B2 (en) * | 2018-11-27 | 2020-11-17 | Semiconductor Components Industries, Llc | Methods and apparatus for transform coefficient encoding and decoding |
US10917636B2 (en) * | 2018-12-03 | 2021-02-09 | Tencent America LLC | Method and apparatus for video coding |
US10904548B2 (en) * | 2018-12-06 | 2021-01-26 | Qualcomm Incorporated | Coefficient processing for video encoding and decoding |
US11323748B2 (en) | 2018-12-19 | 2022-05-03 | Qualcomm Incorporated | Tree-based transform unit (TU) partition for video coding |
CN111355958B (zh) * | 2018-12-21 | 2022-07-29 | 华为技术有限公司 | 视频解码方法及装置 |
BR112021009911A2 (pt) * | 2018-12-29 | 2021-08-17 | Huawei Technologies Co., Ltd. | codificador, decodificador e métodos correspondentes usando armazenamento de mv compacto |
JP7257524B2 (ja) | 2019-01-02 | 2023-04-13 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | ビデオエンコーディング/デコーディングシステムにおけるサイド動き精細化 |
US11032560B2 (en) * | 2019-01-17 | 2021-06-08 | Tencent America LLC | Method and apparatus for video coding without updating the HMVP table |
CN111475424B (zh) * | 2019-01-23 | 2023-07-28 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法、设备和计算机可读存储介质 |
US11134273B2 (en) | 2019-02-14 | 2021-09-28 | Qualcomm Incorporated | Regular coded bin reduction for coefficient coding |
CN109946229B (zh) * | 2019-02-25 | 2024-07-16 | 南京文易特电子科技有限公司 | 一种香烟条包智能数字双拉线检测系统及检测方法 |
US10652581B1 (en) * | 2019-02-27 | 2020-05-12 | Google Llc | Entropy coding in image and video compression using machine learning |
US10939107B2 (en) * | 2019-03-01 | 2021-03-02 | Sony Corporation | Embedded codec circuitry for sub-block based allocation of refinement bits |
WO2020180153A1 (ko) * | 2019-03-06 | 2020-09-10 | 엘지전자 주식회사 | 인터 예측을 위한 비디오 신호의 처리 방법 및 장치 |
US11202100B2 (en) * | 2019-03-11 | 2021-12-14 | Qualcomm Incorporated | Coefficient coding for transform skip mode |
CA3133210A1 (en) * | 2019-03-12 | 2020-09-17 | Interdigital Vc Holdings, Inc. | Flexible allocation of regular bins in residual coding for video coding |
US11178399B2 (en) * | 2019-03-12 | 2021-11-16 | Qualcomm Incorporated | Probability initialization for video coding |
KR102223790B1 (ko) * | 2019-03-15 | 2021-03-05 | 삼성전자주식회사 | 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치 |
KR20220007853A (ko) * | 2019-03-18 | 2022-01-19 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 신경망의 매개변수를 압축하기 위한 방법 및 장치 |
CN109947398B (zh) * | 2019-03-25 | 2020-12-25 | 武汉轻工大学 | 三重积分求解方法、装置、终端设备及可读存储介质 |
EP3928524A4 (en) * | 2019-04-15 | 2022-06-22 | Beijing Bytedance Network Technology Co., Ltd. | TIME PREDICTION OF PARAMETERS IN A NONLINEAR ADAPTIVE LOOP FILTER |
KR20210135337A (ko) | 2019-05-14 | 2021-11-12 | 엘지전자 주식회사 | 적응적 루프 필터 기반 비디오 또는 영상 코딩 |
CN112135149B (zh) * | 2019-06-24 | 2023-07-18 | 华为技术有限公司 | 语法元素的熵编码/解码方法、装置以及编解码器 |
US11184642B2 (en) | 2019-08-02 | 2021-11-23 | Mediatek Inc. | Methods and apparatus for simplification of coding residual blocks |
CN114556927A (zh) * | 2019-08-06 | 2022-05-27 | 现代自动车株式会社 | 用于视频编码和解码的熵编码 |
EP4024869A4 (en) * | 2019-08-31 | 2023-08-16 | LG Electronics Inc. | METHOD AND DEVICE FOR ENCODING TRANSFORMATION COEFFICIENTS IN A VIDEO/IMAGE ENCODING SYSTEM |
CN114731446A (zh) * | 2019-09-24 | 2022-07-08 | 弗劳恩霍夫应用研究促进协会 | 用于信息值序列的编码概念 |
EP4035369A1 (en) * | 2019-09-24 | 2022-08-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Arithmetic encoders and decoders, video encoders and decoders, methods for encoding or decoding symbols, and methods for encoding or decoding video content |
JP7389898B2 (ja) * | 2019-10-01 | 2023-11-30 | ベイジン・ダジア・インターネット・インフォメーション・テクノロジー・カンパニー,リミテッド | 残差及び係数のコーディングの方法及び装置 |
US20230007260A1 (en) * | 2019-11-08 | 2023-01-05 | Google Llc | Probability Estimation for Video Coding |
CN112866181B (zh) * | 2019-11-28 | 2023-05-26 | 上海商汤智能科技有限公司 | 数据解码装置、加速器、以及片上系统 |
US11468601B2 (en) | 2020-01-13 | 2022-10-11 | Samsung Display Co., Ltd. | Systems and methods for scalable throughput entropy coder |
US11822902B2 (en) * | 2020-01-21 | 2023-11-21 | California Institute Of Technology | Systems and methods for performing lossless source coding |
WO2021162722A1 (en) * | 2020-02-12 | 2021-08-19 | Google Llc | Multi-context entropy coding for compression of graphs |
GB2593691B (en) * | 2020-03-30 | 2022-08-24 | Imagination Tech Ltd | Efficient encoding methods |
CN116018647A (zh) * | 2020-07-10 | 2023-04-25 | 皇家飞利浦有限公司 | 通过基于可配置机器学习的算术编码进行的基因组信息压缩 |
US11362681B2 (en) * | 2020-08-21 | 2022-06-14 | Seagate Technology Llc | One-shot state transition probability encoder and decoder |
CN112260699B (zh) * | 2020-09-15 | 2024-06-28 | 深圳拓邦股份有限公司 | 属性通讯编解码方法、编码装置、解码装置及系统 |
FR3114717B1 (fr) * | 2020-09-30 | 2023-10-13 | Fond B Com | Procédé et dispositif électronique de décodage d’un flux de données, programme d’ordinateur et flux de données associés |
US11722672B2 (en) | 2020-10-06 | 2023-08-08 | Qualcomm Incorporated | Adaptively deriving rice parameter values for high bit-depth video coding |
CN114501036A (zh) * | 2020-11-13 | 2022-05-13 | 联发科技股份有限公司 | 熵解码装置及相关熵解码方法 |
CN114727109B (zh) * | 2021-01-05 | 2023-03-24 | 腾讯科技(深圳)有限公司 | 多媒体的量化处理方法、装置及编码、解码设备 |
CN115086657A (zh) * | 2021-03-14 | 2022-09-20 | 腾讯科技(深圳)有限公司 | 视频编解码方法、装置、计算机可读介质及电子设备 |
US11356197B1 (en) | 2021-03-19 | 2022-06-07 | Kandou Labs SA | Error-tolerant forward error correction ordered set message decoder |
CN113079377B (zh) * | 2021-04-01 | 2022-09-30 | 中国科学技术大学 | 一种深度图像/视频压缩网络的训练方法 |
WO2022217245A1 (en) * | 2021-04-07 | 2022-10-13 | Innopeak Technology, Inc. | Remaining level binarization for video coding |
CN113489979A (zh) * | 2021-05-28 | 2021-10-08 | 杭州博雅鸿图视频技术有限公司 | 熵编码方法、装置、电子设备及存储介质 |
CN113422964B (zh) * | 2021-06-04 | 2024-07-30 | 绍兴市北大信息技术科创中心 | 一种串长度参数编解码方法和装置 |
WO2023023039A1 (en) * | 2021-08-17 | 2023-02-23 | Beijing Dajia Internet Information Technology Co., Ltd. | Sign prediction for block-based video coding |
US11871038B2 (en) * | 2021-09-29 | 2024-01-09 | Tencent America LLC | Techniques for constraint flag signaling for range extension with residual rice coding extension |
EP4449722A1 (en) * | 2021-12-16 | 2024-10-23 | Beijing Dajia Internet Information Technology Co., Ltd. | Sign prediction for block-based video coding |
US20230247206A1 (en) * | 2022-02-03 | 2023-08-03 | Tencent America LLC | Methods, devices, and storage medium for multi-symbol arithmetic coding |
US20230291935A1 (en) * | 2022-03-11 | 2023-09-14 | Tencent America LLC | Systems and methods for division-free probability regularization for arithmetic coding |
US20230308651A1 (en) * | 2022-03-22 | 2023-09-28 | Tencent America LLC | Systems and methods for regularization-free multi-hypothesis arithmetic coding |
WO2023195643A1 (ko) * | 2022-04-05 | 2023-10-12 | 삼성전자 주식회사 | 엔트로피 부호화 및 복호화 장치 및 그 방법 |
WO2024007090A1 (zh) * | 2022-07-04 | 2024-01-11 | 嘉兴尚坤科技有限公司 | 一种超高清视频数据编码/解码处理方法及系统 |
WO2024148491A1 (zh) * | 2023-01-09 | 2024-07-18 | Oppo广东移动通信有限公司 | 编解码方法、码流、编码器、解码器以及存储介质 |
WO2024155078A1 (ko) * | 2023-01-16 | 2024-07-25 | 주식회사 케이티 | 영상 부호화/복호화 방법 및 비트스트림을 저장하는 기록 매체 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011128268A1 (en) | 2010-04-13 | 2011-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Probability interval partioning encoder and decoder |
Family Cites Families (126)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6885864B2 (en) | 1992-03-06 | 2005-04-26 | Aircell, Inc. | Virtual private network for cellular communications |
US5381145A (en) | 1993-02-10 | 1995-01-10 | Ricoh Corporation | Method and apparatus for parallel decoding and encoding of data |
US5717394A (en) | 1993-02-10 | 1998-02-10 | Ricoh Company Ltd. | Method and apparatus for encoding and decoding data |
JPH06334993A (ja) * | 1993-03-26 | 1994-12-02 | Sony Corp | 動画像符号化又は復号化装置、並びに動きベクトルの可変長符号化及び復号化方法 |
KR970003102B1 (ko) * | 1993-09-17 | 1997-03-14 | 대우전자 주식회사 | 영상 복호기에서의 하프 픽셀 움직임 보상 회로 |
JP3560393B2 (ja) | 1995-07-06 | 2004-09-02 | 株式会社日鉱マテリアルズ | アルミニウム合金スパッタリングターゲットの製造方法 |
JP2866616B2 (ja) | 1996-06-24 | 1999-03-08 | 昇 大串 | 健康ベッド |
US5847776A (en) | 1996-06-24 | 1998-12-08 | Vdonet Corporation Ltd. | Method for entropy constrained motion estimation and coding of motion vectors with increased search range |
JPH10151789A (ja) | 1996-11-22 | 1998-06-09 | Eiji Shiozaki | 粉体飛翔式印字制御方法および印字装置 |
WO1998044479A1 (fr) * | 1997-03-31 | 1998-10-08 | Matsushita Electric Industrial Co., Ltd. | Procede de visualisation du premier plan d'images et dispositif connexe |
KR100255754B1 (ko) * | 1997-08-30 | 2000-05-01 | 전주범 | 이진 형상 신호 부호화 방법 |
CN1146245C (zh) * | 1997-12-22 | 2004-04-14 | 株式会社大宇电子 | 隔行二进制形状编码方法和装置 |
US6677868B2 (en) * | 2001-03-16 | 2004-01-13 | Sharp Laboratories Of America, Inc. | Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols |
US6865298B2 (en) | 2001-03-30 | 2005-03-08 | Sharp Laboratories Of America, Inc. | Compound document compression based upon neighboring pixels |
JP4125565B2 (ja) * | 2001-08-31 | 2008-07-30 | 松下電器産業株式会社 | 画像符号化方法、画像復号化方法及びその装置 |
US20030048808A1 (en) * | 2001-09-12 | 2003-03-13 | Stahl Thomas Anthony | Method and apparatus for changing received streaming content channels |
KR100765060B1 (ko) | 2001-11-09 | 2007-10-09 | 주식회사 포스코 | 침전조의 워터배출 조정장치 |
US7435543B2 (en) * | 2001-11-27 | 2008-10-14 | Animal Technology Institute Of Taiwan | Genetic markers for pig backfat thickness |
WO2003053066A1 (en) * | 2001-12-17 | 2003-06-26 | Microsoft Corporation | Skip macroblock coding |
US7003035B2 (en) * | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
JP2003348598A (ja) * | 2002-04-12 | 2003-12-05 | Seiko Epson Corp | メモリ効率のいい圧縮領域ビデオ処理のための且つ因数分解及び整数近似法を用いる高速逆動き補償のための方法並びに装置 |
JP2003319391A (ja) * | 2002-04-26 | 2003-11-07 | Sony Corp | 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム |
PT1467491E (pt) | 2002-05-02 | 2007-03-30 | Fraunhofer Ges Forschung | Codificação aritmética de coeficientes de transformação |
SI1550219T1 (sl) * | 2002-05-02 | 2009-04-30 | Fraunhofer Ges Forschung | Postopek in razvrstitev za aritmetično kodiranje in dekodiranje binarnih stanj kot tudi ustrezen računalniški program in ustrezno računalniško berljivo pomnilniško sredstvo |
JP4230188B2 (ja) * | 2002-06-06 | 2009-02-25 | パナソニック株式会社 | 可変長符号化方法および可変長復号化方法 |
US6919105B2 (en) | 2003-01-06 | 2005-07-19 | Philip Morris Usa Inc. | Continuous process for retaining solid adsorbent particles on shaped micro-cavity fibers |
US6900748B2 (en) * | 2003-07-17 | 2005-05-31 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Method and apparatus for binarization and arithmetic coding of a data value |
US6894628B2 (en) | 2003-07-17 | 2005-05-17 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables |
US7499495B2 (en) * | 2003-07-18 | 2009-03-03 | Microsoft Corporation | Extended range motion vectors |
US20050013498A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
US7233622B2 (en) * | 2003-08-12 | 2007-06-19 | Lsi Corporation | Reduced complexity efficient binarization method and/or circuit for motion vector residuals |
EP1513350A1 (en) * | 2003-09-03 | 2005-03-09 | Thomson Licensing S.A. | Process and arrangement for encoding video pictures |
US6771197B1 (en) | 2003-09-26 | 2004-08-03 | Mitsubishi Electric Research Laboratories, Inc. | Quantizing signals using sparse generator factor graph codes |
US7599435B2 (en) | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
JP4241417B2 (ja) * | 2004-02-04 | 2009-03-18 | 日本ビクター株式会社 | 算術復号化装置、および算術復号化プログラム |
JP4408766B2 (ja) | 2004-07-30 | 2010-02-03 | Ntn株式会社 | Icタグ付き車輪用軸受装置 |
CN1589023A (zh) * | 2004-08-06 | 2005-03-02 | 联合信源数字音视频技术(北京)有限公司 | 一种基于上下文的多码表变长编解码方法及编解码装置 |
US7609947B2 (en) | 2004-09-10 | 2009-10-27 | Panasonic Corporation | Method and apparatus for coordinating playback from multiple video sources |
CN101052972A (zh) * | 2004-09-22 | 2007-10-10 | 液滴技术有限公司 | 多技术熵编码系统和方法 |
DE102004049156B4 (de) * | 2004-10-08 | 2006-07-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codierschema für einen ein zeitlich veränderliches Graphikmodell darstellenden Datenstrom |
KR20060038189A (ko) * | 2004-10-29 | 2006-05-03 | 삼성전자주식회사 | 컨텍스트 기반 적응형 이진 산술 복부호화 방법 및 장치 |
KR100636229B1 (ko) * | 2005-01-14 | 2006-10-19 | 학교법인 성균관대학 | 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치 |
KR100703760B1 (ko) | 2005-03-18 | 2007-04-06 | 삼성전자주식회사 | 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치 |
AU2006201490B2 (en) * | 2005-04-19 | 2008-05-22 | Samsung Electronics Co., Ltd. | Method and apparatus for adaptively selecting context model for entropy coding |
RU2336661C2 (ru) * | 2005-04-19 | 2008-10-20 | Самсунг Электроникс Ко., Лтд. | Способ и устройство адаптивного выбора контекстной модели для кодирования по энтропии |
EP1727371A1 (en) * | 2005-05-27 | 2006-11-29 | Thomson Licensing | Method for controlling the encoder output bit rate in a block-based video encoder, and corresponding video encoder apparatus |
CN1878309A (zh) * | 2005-06-08 | 2006-12-13 | 松下电器产业株式会社 | 视频编码装置 |
JP4856954B2 (ja) * | 2005-06-08 | 2012-01-18 | パナソニック株式会社 | 画像符号化装置 |
KR100683788B1 (ko) | 2005-06-25 | 2007-02-20 | 삼성에스디아이 주식회사 | 복수의 층들의 전극 라인들이 형성된 교류형 방전디스플레이 패널 |
RU2371881C1 (ru) * | 2005-07-08 | 2009-10-27 | ЭлДжи ЭЛЕКТРОНИКС ИНК. | Способ моделирования информации кодирования видеосигнала для компрессии/декомпрессии информации |
CN101223780A (zh) * | 2005-07-18 | 2008-07-16 | 三星电子株式会社 | 减少编码器和解码器之间的不匹配的视频编码方法和设备 |
CN100461863C (zh) * | 2005-08-05 | 2009-02-11 | 上海富瀚微电子有限公司 | 基于上下文自适应二进制算术解码器 |
EP1755341A1 (en) * | 2005-08-19 | 2007-02-21 | Texas Instruments Incorporated | Method of quantization of transform coefficients |
US7221296B2 (en) * | 2005-08-22 | 2007-05-22 | Streaming Networks (Pvt.) Ltd. | Method and system for fast context based adaptive binary arithmetic coding |
KR100813963B1 (ko) * | 2005-09-16 | 2008-03-14 | 세종대학교산학협력단 | 동영상의 무손실 부호화, 복호화 방법 및 장치 |
CN100403801C (zh) * | 2005-09-23 | 2008-07-16 | 联合信源数字音视频技术(北京)有限公司 | 一种基于上下文的自适应熵编/解码方法 |
CN100466739C (zh) | 2005-10-12 | 2009-03-04 | 华为技术有限公司 | Cabac解码系统及方法 |
AU2005338015C1 (en) | 2005-10-31 | 2010-11-18 | Life Spring Biotech Co., Ltd. | Scleral buckle band and method for making it |
KR100873636B1 (ko) * | 2005-11-14 | 2008-12-12 | 삼성전자주식회사 | 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치 |
PL1955484T3 (pl) | 2005-11-25 | 2013-01-31 | Gregor Zebic | Aplikacja sieci domowej wykorzystująca przewodowe oraz bezprzewodowe bezpieczne łącza |
US7245242B2 (en) * | 2005-11-28 | 2007-07-17 | Conexant Systems, Inc. | Decoding systems and methods |
US7956930B2 (en) | 2006-01-06 | 2011-06-07 | Microsoft Corporation | Resampling and picture resizing operations for multi-resolution video coding and decoding |
JP4318050B2 (ja) | 2006-01-24 | 2009-08-19 | ソニー株式会社 | ワイヤレスチャンネル決定選択方法およびアクセスポイント装置 |
KR100750165B1 (ko) * | 2006-02-22 | 2007-08-17 | 삼성전자주식회사 | 압축률 향상을 위해 개선된 컨텍스트 모델 선택을 사용하는cabac 부호화 방법 및 장치, 그리고 cabac복호화 방법 및 장치 |
US20070217702A1 (en) * | 2006-03-14 | 2007-09-20 | Sung Chih-Ta S | Method and apparatus for decoding digital video stream |
US8848789B2 (en) | 2006-03-27 | 2014-09-30 | Qualcomm Incorporated | Method and system for coding and decoding information associated with video compression |
US7929608B2 (en) * | 2006-03-28 | 2011-04-19 | Sony Corporation | Method of reducing computations in intra-prediction and mode decision processes in a digital video encoder |
JP2007300455A (ja) * | 2006-05-01 | 2007-11-15 | Victor Co Of Japan Ltd | 算術符号化装置、および算術符号化装置におけるコンテキストテーブル初期化方法 |
JP2007306370A (ja) * | 2006-05-12 | 2007-11-22 | Victor Co Of Japan Ltd | 画像符号化記録装置 |
US8472527B2 (en) * | 2006-09-13 | 2013-06-25 | Texas Instruments Incorporated | Hierarchical motion estimation using original frame for sub-sampled reference |
CN101198051B (zh) * | 2006-12-07 | 2011-10-05 | 深圳艾科创新微电子有限公司 | 基于h.264的熵解码器的实现方法及装置 |
US7573405B2 (en) * | 2006-12-29 | 2009-08-11 | Texas Instruments Incorporated | System updating accumulated statistics coding variable values after multiple encodings |
US20080162432A1 (en) * | 2006-12-29 | 2008-07-03 | Wen-Shan Wang | Search table for unary k-th order exp-golomb decoder |
CN101005287A (zh) * | 2007-01-26 | 2007-07-25 | 北京中星微电子有限公司 | 提高算术编码速度的方法、系统及编码装置 |
US20080225947A1 (en) * | 2007-03-13 | 2008-09-18 | Matthias Narroschke | Quantization for hybrid video coding |
CN101115200B (zh) * | 2007-04-20 | 2010-05-19 | 西安交通大学 | 一种有效的运动矢量可伸缩编码方法 |
KR101166732B1 (ko) * | 2007-05-04 | 2012-07-19 | 퀄컴 인코포레이티드 | 추정된 코딩 비용을 이용하는 비디오 코딩 모드 선택 |
JP2008300455A (ja) | 2007-05-29 | 2008-12-11 | Sumitomo Electric Ind Ltd | パワーモジュール |
CN107105257B (zh) * | 2007-06-29 | 2020-08-28 | 威勒斯媒体国际有限公司 | 图像编码装置、图像编码方法、图像译码装置、图像译码方法 |
US8254455B2 (en) * | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
US9648325B2 (en) * | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
KR101408698B1 (ko) | 2007-07-31 | 2014-06-18 | 삼성전자주식회사 | 가중치 예측을 이용한 영상 부호화, 복호화 방법 및 장치 |
US7839311B2 (en) * | 2007-08-31 | 2010-11-23 | Qualcomm Incorporated | Architecture for multi-stage decoding of a CABAC bitstream |
US7535387B1 (en) * | 2007-09-10 | 2009-05-19 | Xilinx, Inc. | Methods and systems for implementing context adaptive binary arithmetic coding |
CN101478672B (zh) * | 2008-01-04 | 2012-12-19 | 华为技术有限公司 | 视频编码、解码方法及装置和视频处理系统 |
EP2077550B8 (en) * | 2008-01-04 | 2012-03-14 | Dolby International AB | Audio encoder and decoder |
JP4915350B2 (ja) * | 2008-01-16 | 2012-04-11 | 日本電気株式会社 | エントロピ符号化器、映像符号化装置、映像符号化方法および映像符号化プログラム |
US8855196B2 (en) | 2008-01-22 | 2014-10-07 | Dolby Laboratories Licensing Corporation | Adaptive motion information cost estimation with dynamic look-up table updating |
US20090201983A1 (en) | 2008-02-07 | 2009-08-13 | Motorola, Inc. | Method and apparatus for estimating high-band energy in a bandwidth extension system |
JP4479829B2 (ja) | 2008-04-03 | 2010-06-09 | ソニー株式会社 | 撮像装置及び撮像方法 |
US7656320B2 (en) | 2008-04-10 | 2010-02-02 | Red Hat, Inc. | Difference coding adaptive context model using counting |
JP4962400B2 (ja) | 2008-04-30 | 2012-06-27 | ソニー株式会社 | 算術復号装置 |
US8179974B2 (en) * | 2008-05-02 | 2012-05-15 | Microsoft Corporation | Multi-level representation of reordered transform coefficients |
CN101267559A (zh) * | 2008-05-08 | 2008-09-17 | 上海交通大学 | 视频解码器的通用熵解码方法及装置 |
US20090304071A1 (en) * | 2008-06-06 | 2009-12-10 | Apple Inc. | Adaptive application of entropy coding methods |
CN101304522A (zh) * | 2008-06-20 | 2008-11-12 | 中国民航大学 | 一种以jpeg2000压缩图像为载体的大容量信息隐藏方法 |
WO2010041855A2 (en) * | 2008-10-06 | 2010-04-15 | Lg Electronics Inc. | A method and an apparatus for processing a video signal |
US7932843B2 (en) * | 2008-10-17 | 2011-04-26 | Texas Instruments Incorporated | Parallel CABAC decoding for video decompression |
US9973739B2 (en) * | 2008-10-17 | 2018-05-15 | Nokia Technologies Oy | Sharing of motion vector in 3D video coding |
EP2182732A1 (en) * | 2008-10-28 | 2010-05-05 | Panasonic Corporation | Switching between scans in image coding |
US20100127904A1 (en) | 2008-11-26 | 2010-05-27 | Horizon Semiconductors Ltd. | Implementation of a rapid arithmetic binary decoding system of a suffix length |
CA2745314A1 (en) * | 2008-12-03 | 2010-06-10 | Nokia Corporation | Switching between dct coefficient coding modes |
JP2010268094A (ja) * | 2009-05-13 | 2010-11-25 | Sony Corp | 画像復号化装置および画像復号化方法 |
JP2010278668A (ja) | 2009-05-27 | 2010-12-09 | Sony Corp | 符号化装置及び符号化方法、並びに復号装置及び復号方法 |
US9479812B2 (en) * | 2009-06-05 | 2016-10-25 | Time Warner Cable Enterprises Llc | User selection of software components in a television set-top box |
KR101678968B1 (ko) * | 2009-08-21 | 2016-11-25 | 에스케이텔레콤 주식회사 | 참조 픽처 보간 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
KR101377530B1 (ko) * | 2009-08-21 | 2014-03-27 | 에스케이텔레콤 주식회사 | 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치 |
CN102055483B (zh) * | 2009-10-29 | 2013-05-08 | 鸿富锦精密工业(深圳)有限公司 | 熵解码装置 |
JP5409268B2 (ja) * | 2009-10-30 | 2014-02-05 | 株式会社日立ソリューションズ | 情報提示装置及び携帯端末 |
KR20110071047A (ko) * | 2009-12-20 | 2011-06-28 | 엘지전자 주식회사 | 비디오 신호 디코딩 방법 및 장치 |
US9237355B2 (en) | 2010-02-19 | 2016-01-12 | Qualcomm Incorporated | Adaptive motion resolution for video coding |
US9973768B2 (en) | 2010-03-16 | 2018-05-15 | Texas Instruments Incorporated | CABAC decoder with decoupled arithmetic decoding and inverse binarization |
CN101841707B (zh) * | 2010-03-19 | 2012-01-04 | 西安电子科技大学 | 基于jpeg2000标准的高速实时处理算术熵编码方法 |
US20120014429A1 (en) * | 2010-07-15 | 2012-01-19 | Jie Zhao | Methods and Systems for Parallel Video Encoding and Parallel Video Decoding |
US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
CN101938654B (zh) * | 2010-08-17 | 2013-04-10 | 浙江大学 | 一种变换系数的优化量化方法及装置 |
CN101951516B (zh) * | 2010-09-25 | 2013-06-05 | 清华大学 | 基于h.264/avc中cabac的并行编码实现电路及编码方法 |
US8913666B2 (en) * | 2010-10-01 | 2014-12-16 | Qualcomm Incorporated | Entropy coding coefficients using a joint context model |
US10327008B2 (en) * | 2010-10-13 | 2019-06-18 | Qualcomm Incorporated | Adaptive motion vector resolution signaling for video coding |
JP5570437B2 (ja) * | 2011-01-12 | 2014-08-13 | 三菱電機株式会社 | エントロピー符号化装置、エントロピー復号装置、エントロピー符号化方法及びエントロピー復号方法 |
US9008181B2 (en) | 2011-01-24 | 2015-04-14 | Qualcomm Incorporated | Single reference picture list utilization for interprediction video coding |
ITTO20110414A1 (it) * | 2011-05-11 | 2012-11-12 | St Microelectronics Pvt Ltd | Procedimento ed apparecchiatura per elaborare segnali video, prodotto informatico e segnale codificato relativi |
CN107529708B (zh) * | 2011-06-16 | 2019-05-07 | Ge视频压缩有限责任公司 | 解码器、编码器、解码和编码视频的方法及存储介质 |
US9654772B2 (en) | 2012-01-19 | 2017-05-16 | Qualcomm Incorporated | Context adaptive entropy coding with a reduced initialization value set |
US9584802B2 (en) | 2012-04-13 | 2017-02-28 | Texas Instruments Incorporated | Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput |
US10856009B2 (en) * | 2014-09-04 | 2020-12-01 | Mediatek Inc. | Method of block vector clipping and coding for screen content coding and video coding |
-
2012
- 2012-06-18 CN CN201710694424.6A patent/CN107529708B/zh active Active
- 2012-06-18 IL IL305221A patent/IL305221B2/en unknown
- 2012-06-18 CN CN201710491640.0A patent/CN107333142B/zh active Active
- 2012-06-18 CA CA2839560A patent/CA2839560C/en active Active
- 2012-06-18 EP EP12734832.4A patent/EP2721822B1/en active Active
- 2012-06-18 CN CN201710977462.2A patent/CN107517384B/zh active Active
- 2012-06-18 EP EP24166608.0A patent/EP4407996A2/en active Pending
- 2012-06-18 CN CN201710695327.9A patent/CN107360423B/zh active Active
- 2012-06-18 BR BR122020024986-2A patent/BR122020024986B1/pt active IP Right Grant
- 2012-06-18 MX MX2017000909A patent/MX364201B/es unknown
- 2012-06-18 PL PL12734832T patent/PL2721822T3/pl unknown
- 2012-06-18 AP AP2014007360A patent/AP4072A/en active
- 2012-06-18 EP EP18203401.7A patent/EP3471415B1/en active Active
- 2012-06-18 PT PT12734832T patent/PT2721822T/pt unknown
- 2012-06-18 LT LTEPPCT/EP2012/061615T patent/LT2721819T/lt unknown
- 2012-06-18 UA UAA201600953A patent/UA115186C2/uk unknown
- 2012-06-18 ES ES18203401T patent/ES2897209T3/es active Active
- 2012-06-18 KR KR1020147001047A patent/KR101662136B1/ko active IP Right Grant
- 2012-06-18 ES ES21189232T patent/ES2953667T3/es active Active
- 2012-06-18 AP AP2016009618A patent/AP2016009618A0/en unknown
- 2012-06-18 JP JP2014515230A patent/JP5925884B2/ja active Active
- 2012-06-18 PL PL18152613T patent/PL3343781T3/pl unknown
- 2012-06-18 CN CN201710694354.4A patent/CN107529704B/zh active Active
- 2012-06-18 AU AU2012268951A patent/AU2012268951B2/en active Active
- 2012-06-18 KR KR1020197018337A patent/KR102160647B1/ko active IP Right Grant
- 2012-06-18 EP EP21189232.8A patent/EP3930330B1/en active Active
- 2012-06-18 ES ES12734832T patent/ES2704627T3/es active Active
- 2012-06-18 LT LTEP21189232.8T patent/LT3930330T/lt unknown
- 2012-06-18 CN CN201710694799.2A patent/CN107529710B/zh active Active
- 2012-06-18 UA UAA201701791A patent/UA123987C2/uk unknown
- 2012-06-18 PT PT211892328T patent/PT3930330T/pt unknown
- 2012-06-18 ES ES18152613T patent/ES2906869T3/es active Active
- 2012-06-18 KR KR1020187000824A patent/KR101994869B1/ko active IP Right Grant
- 2012-06-18 WO PCT/EP2012/061613 patent/WO2012172113A1/en active Application Filing
- 2012-06-18 PL PL12728084.0T patent/PL2721819T3/pl unknown
- 2012-06-18 EP EP21211399.7A patent/EP4033672A1/en active Pending
- 2012-06-18 CN CN201710694425.0A patent/CN107529709B/zh active Active
- 2012-06-18 CN CN201710694423.1A patent/CN107529707B/zh active Active
- 2012-06-18 CN CN201280039832.3A patent/CN103733622B/zh active Active
- 2012-06-18 CN CN201710965903.7A patent/CN107613307B/zh active Active
- 2012-06-18 HU HUE21189232A patent/HUE062605T2/hu unknown
- 2012-06-18 IL IL297827A patent/IL297827B2/en unknown
- 2012-06-18 MY MYPI2018001555A patent/MY202391A/en unknown
- 2012-06-18 HU HUE12734832A patent/HUE042350T2/hu unknown
- 2012-06-18 CN CN201710694395.3A patent/CN107529706B/zh active Active
- 2012-06-18 JP JP2014515229A patent/JP6059212B2/ja active Active
- 2012-06-18 HR HRP20220272TT patent/HRP20220272T1/hr unknown
- 2012-06-18 KR KR1020227029290A patent/KR102631388B1/ko active IP Right Grant
- 2012-06-18 CN CN201710694392.XA patent/CN107529705B/zh active Active
- 2012-06-18 LT LTEP18203401.7T patent/LT3471415T/lt unknown
- 2012-06-18 KR KR1020207034609A patent/KR102437504B1/ko active IP Right Grant
- 2012-06-18 WO PCT/EP2012/061614 patent/WO2012172114A1/en active Application Filing
- 2012-06-18 WO PCT/EP2012/061615 patent/WO2012172115A1/en active Application Filing
- 2012-06-18 EP EP23177778.0A patent/EP4277276A1/en active Pending
- 2012-06-18 DK DK18152613.8T patent/DK3343781T3/da active
- 2012-06-18 KR KR1020207015415A patent/KR102254000B1/ko active IP Right Grant
- 2012-06-18 HU HUE18203401A patent/HUE056273T2/hu unknown
- 2012-06-18 IL IL299953A patent/IL299953B2/en unknown
- 2012-06-18 MX MX2013014868A patent/MX2013014868A/es active IP Right Grant
- 2012-06-18 CN CN201280039896.3A patent/CN103931194B/zh active Active
- 2012-06-18 CN CN201280039922.2A patent/CN103748886B/zh active Active
- 2012-06-18 SI SI201232044T patent/SI2721819T1/sl unknown
- 2012-06-18 FI FIEP21189232.8T patent/FI3930330T3/fi active
- 2012-06-18 PL PL21189232.8T patent/PL3930330T3/pl unknown
- 2012-06-18 CN CN201710477936.7A patent/CN107465928B/zh active Active
- 2012-06-18 EP EP18152613.8A patent/EP3343781B1/en active Active
- 2012-06-18 DK DK21189232.8T patent/DK3930330T3/da active
- 2012-06-18 RU RU2014101166A patent/RU2615681C2/ru active
- 2012-06-18 IL IL309379A patent/IL309379B1/en unknown
- 2012-06-18 KR KR1020197035422A patent/KR102187981B1/ko active IP Right Grant
- 2012-06-18 RS RS20220220A patent/RS63053B1/sr unknown
- 2012-06-18 IL IL311563A patent/IL311563A/en unknown
- 2012-06-18 RU RU2016129117A patent/RU2642373C1/ru active
- 2012-06-18 MX MX2016001282A patent/MX345195B/es unknown
- 2012-06-18 AP AP2014007361A patent/AP3686A/xx active
- 2012-06-18 KR KR1020187021221A patent/KR102052471B1/ko active IP Right Grant
- 2012-06-18 RS RS20211362A patent/RS62714B1/sr unknown
- 2012-06-18 CN CN201710477937.1A patent/CN107333140B/zh active Active
- 2012-06-18 BR BR112013032333-7A patent/BR112013032333B1/pt active IP Right Grant
- 2012-06-18 BR BR112013032332-9A patent/BR112013032332B1/pt active IP Right Grant
- 2012-06-18 IL IL312098A patent/IL312098A/en unknown
- 2012-06-18 KR KR1020167026722A patent/KR101818978B1/ko active IP Right Grant
- 2012-06-18 KR KR1020167003248A patent/KR101730587B1/ko active IP Right Grant
- 2012-06-18 IL IL304856A patent/IL304856B2/en unknown
- 2012-06-18 JP JP2014515231A patent/JP5952900B2/ja active Active
- 2012-06-18 IL IL290229A patent/IL290229B2/en unknown
- 2012-06-18 ES ES12728084T patent/ES2961663T3/es active Active
- 2012-06-18 CN CN201710478537.2A patent/CN107333141B/zh active Active
- 2012-06-18 CN CN201710694391.5A patent/CN107347161B/zh active Active
- 2012-06-18 LT LTEP18152613.8T patent/LT3343781T/lt unknown
- 2012-06-18 KR KR1020247003097A patent/KR20240017975A/ko active Application Filing
- 2012-06-18 DK DK12728084.0T patent/DK2721819T3/da active
- 2012-06-18 CN CN201710694312.0A patent/CN107801042B/zh active Active
- 2012-06-18 CA CA2839569A patent/CA2839569C/en active Active
- 2012-06-18 CN CN201710694292.7A patent/CN107801025B/zh active Active
- 2012-06-18 BR BR122021000264-9A patent/BR122021000264B1/pt active IP Right Grant
- 2012-06-18 CN CN201710694268.3A patent/CN107801041B/zh active Active
- 2012-06-18 EP EP12728524.5A patent/EP2721820A1/en not_active Ceased
- 2012-06-18 PT PT181526138T patent/PT3343781T/pt unknown
- 2012-06-18 PL PL18203401T patent/PL3471415T3/pl unknown
- 2012-06-18 RU RU2017109078A patent/RU2658883C1/ru active
- 2012-06-18 DK DK18203401.7T patent/DK3471415T3/da active
- 2012-06-18 CN CN201710694930.5A patent/CN107360434B/zh active Active
- 2012-06-18 HU HUE12728084A patent/HUE063990T2/hu unknown
- 2012-06-18 RU RU2014101164/08A patent/RU2595934C2/ru active
- 2012-06-18 HU HUE18152613A patent/HUE057958T2/hu unknown
- 2012-06-18 CN CN201710477823.7A patent/CN107465926B/zh active Active
- 2012-06-18 MY MYPI2014000424A patent/MY170940A/en unknown
- 2012-06-18 EP EP24166607.2A patent/EP4407995A2/en active Pending
- 2012-06-18 IL IL252388A patent/IL252388B/en unknown
- 2012-06-18 PT PT182034017T patent/PT3471415T/pt unknown
- 2012-06-18 CN CN201710962381.5A patent/CN107517383B/zh active Active
- 2012-06-18 SI SI201231980T patent/SI3343781T1/sl unknown
- 2012-06-18 EP EP12728084.0A patent/EP2721819B1/en active Active
- 2012-06-18 FI FIEP12728084.0T patent/FI2721819T3/fi active
- 2012-06-18 RS RS20231075A patent/RS64867B1/sr unknown
- 2012-06-18 SI SI201232038T patent/SI3930330T1/sl unknown
- 2012-06-18 SI SI201231961T patent/SI3471415T1/sl unknown
- 2012-06-18 EP EP20155692.5A patent/EP3703367A1/en active Pending
- 2012-06-18 KR KR1020147000948A patent/KR101619333B1/ko active IP Right Grant
- 2012-06-18 CN CN201710962467.8A patent/CN107770559B/zh active Active
- 2012-06-18 CN CN201710477825.6A patent/CN107465927B/zh active Active
- 2012-06-18 PT PT127280840T patent/PT2721819T/pt unknown
- 2012-06-18 MX MX2013014867A patent/MX336735B/es unknown
- 2012-06-18 MY MYPI2014000425A patent/MY184473A/en unknown
- 2012-06-18 RS RS20230766A patent/RS64604B1/sr unknown
- 2012-06-18 AU AU2012268950A patent/AU2012268950B2/en active Active
- 2012-06-18 DK DK12734832.4T patent/DK2721822T3/en active
- 2012-06-18 KR KR1020177010779A patent/KR101882848B1/ko active IP Right Grant
-
2013
- 2013-12-16 US US14/108,132 patent/US9455744B2/en active Active
- 2013-12-16 MX MX2019004403A patent/MX2019004403A/es unknown
- 2013-12-16 US US14/108,173 patent/US9918090B2/en active Active
- 2013-12-16 CL CL2013003601A patent/CL2013003601A1/es unknown
- 2013-12-16 US US14/108,108 patent/US9473170B2/en active Active
- 2013-12-16 MX MX2023005265A patent/MX2023005265A/es unknown
- 2013-12-16 MX MX2023005264A patent/MX2023005264A/es unknown
- 2013-12-16 CL CL2013003603A patent/CL2013003603A1/es unknown
- 2013-12-17 IL IL230023A patent/IL230023A/en active IP Right Grant
-
2014
- 2014-01-06 ZA ZA2014/00029A patent/ZA201400029B/en unknown
- 2014-01-06 ZA ZA2014/00030A patent/ZA201400030B/en unknown
- 2014-01-12 IL IL230415A patent/IL230415A/en not_active IP Right Cessation
- 2014-01-16 CO CO14007528A patent/CO6852031A2/es active IP Right Grant
- 2014-01-16 CO CO14007521A patent/CO6852030A2/es unknown
- 2014-10-23 HK HK14110575.6A patent/HK1197128A1/xx unknown
-
2016
- 2016-04-20 JP JP2016084671A patent/JP6356723B2/ja active Active
- 2016-04-26 AU AU2016202638A patent/AU2016202638B2/en active Active
- 2016-08-16 US US15/238,294 patent/US9596475B2/en active Active
- 2016-08-16 US US15/238,523 patent/US9729883B2/en active Active
- 2016-08-23 US US15/244,126 patent/US9628827B2/en active Active
- 2016-08-23 US US15/244,156 patent/US9686568B2/en active Active
- 2016-12-08 JP JP2016238858A patent/JP6492047B2/ja active Active
- 2016-12-19 IL IL249644A patent/IL249644A/en active IP Right Grant
-
2017
- 2017-01-30 US US15/419,006 patent/US9743090B2/en active Active
- 2017-02-13 US US15/430,826 patent/US9762913B2/en active Active
- 2017-05-15 US US15/595,097 patent/US9768804B1/en active Active
- 2017-06-28 US US15/636,425 patent/US9918104B2/en active Active
- 2017-06-28 US US15/636,451 patent/US10021393B2/en active Active
- 2017-06-28 US US15/636,476 patent/US9930370B2/en active Active
- 2017-07-05 US US15/641,992 patent/US9936227B2/en active Active
- 2017-07-05 US US15/642,085 patent/US9930371B2/en active Active
- 2017-08-10 US US15/674,150 patent/US9973761B2/en active Active
- 2017-09-03 IL IL254274A patent/IL254274B/en active IP Right Grant
- 2017-09-14 AU AU2017228613A patent/AU2017228613B2/en active Active
- 2017-12-15 US US15/843,679 patent/US10057603B2/en active Active
-
2018
- 2018-01-09 RU RU2018100106A patent/RU2699677C2/ru active
- 2018-01-26 US US15/880,772 patent/US10148962B2/en active Active
- 2018-01-26 US US15/880,837 patent/US10063858B2/en active Active
- 2018-01-30 AU AU2018200699A patent/AU2018200699B2/en active Active
- 2018-02-14 PH PH12018500331A patent/PH12018500331A1/en unknown
- 2018-02-14 PH PH12018500329A patent/PH12018500329A1/en unknown
- 2018-02-14 PH PH12018500328A patent/PH12018500328B1/en unknown
- 2018-02-14 PH PH12018500330A patent/PH12018500330B1/en unknown
- 2018-02-15 PH PH12018500354A patent/PH12018500354B1/en unknown
- 2018-02-15 PH PH12018500355A patent/PH12018500355A1/en unknown
- 2018-02-15 PH PH12018500352A patent/PH12018500352A1/en unknown
- 2018-02-15 PH PH12018500351A patent/PH12018500351B1/en unknown
- 2018-02-15 PH PH12018500350A patent/PH12018500350B1/en unknown
- 2018-02-15 PH PH12018500353A patent/PH12018500353A1/en unknown
- 2018-02-15 PH PH12018500349A patent/PH12018500349A1/en unknown
- 2018-02-15 PH PH12018500356A patent/PH12018500356B1/en unknown
- 2018-02-15 PH PH12018500348A patent/PH12018500348B1/en unknown
- 2018-03-12 US US15/918,105 patent/US10440364B2/en active Active
- 2018-04-02 JP JP2018070521A patent/JP6560393B2/ja active Active
- 2018-05-02 HK HK18105679.7A patent/HK1246541A1/zh unknown
- 2018-05-02 HK HK18105680.4A patent/HK1246542A1/zh unknown
- 2018-05-02 HK HK18105678.8A patent/HK1246540A1/zh unknown
- 2018-05-03 HK HK18105710.8A patent/HK1246543A1/zh unknown
- 2018-05-03 HK HK18105749.3A patent/HK1246545A1/zh unknown
- 2018-05-24 HK HK18106770.3A patent/HK1247487A1/zh unknown
- 2018-05-24 HK HK18106785.6A patent/HK1247489A1/zh unknown
- 2018-05-24 HK HK18106776.7A patent/HK1247488A1/zh unknown
- 2018-05-25 HK HK18106812.3A patent/HK1247490A1/zh unknown
- 2018-06-03 IL IL259768A patent/IL259768A/en active IP Right Grant
- 2018-06-06 RU RU2018120845A patent/RU2758981C2/ru active
- 2018-06-10 HK HK18107525.9A patent/HK1248434B/zh unknown
- 2018-06-12 US US16/006,288 patent/US10298964B2/en active Active
- 2018-06-14 HK HK18107723.9A patent/HK1248436A1/zh unknown
- 2018-06-27 JP JP2018121555A patent/JP6867334B2/ja active Active
- 2018-06-28 HK HK18108379.4A patent/HK1248949A1/zh unknown
- 2018-06-28 HK HK18108377.6A patent/HK1248947A1/zh unknown
- 2018-06-28 HK HK18108378.5A patent/HK1248948B/zh unknown
- 2018-07-03 HK HK18108563.0A patent/HK1249313B/zh unknown
- 2018-07-04 HK HK18108644.3A patent/HK1248951A1/zh unknown
- 2018-07-17 US US16/037,914 patent/US10313672B2/en active Active
- 2018-07-20 US US16/040,764 patent/US10230954B2/en active Active
- 2018-08-14 US US16/103,266 patent/US10306232B2/en active Active
- 2018-11-19 JP JP2018216486A patent/JP6814780B2/ja active Active
-
2019
- 2019-01-02 US US16/238,013 patent/US10425644B2/en active Active
- 2019-01-18 AU AU2019200328A patent/AU2019200328B2/en active Active
- 2019-01-28 US US16/259,815 patent/US10432940B2/en active Active
- 2019-01-28 US US16/259,738 patent/US10432939B2/en active Active
- 2019-03-26 IL IL265636A patent/IL265636B/en active IP Right Grant
- 2019-04-11 PH PH12019500792A patent/PH12019500792A1/en unknown
- 2019-04-11 PH PH12019500790A patent/PH12019500790A1/en unknown
- 2019-05-30 AU AU2019203792A patent/AU2019203792B2/en active Active
- 2019-06-27 US US16/454,387 patent/US10630988B2/en active Active
- 2019-06-27 US US16/454,247 patent/US10630987B2/en active Active
- 2019-08-28 RU RU2019127048A patent/RU2755020C2/ru active
- 2019-11-25 US US16/693,886 patent/US10819982B2/en active Active
-
2020
- 2020-01-31 US US16/778,048 patent/US11533485B2/en active Active
- 2020-05-05 US US16/867,149 patent/US11277614B2/en active Active
- 2020-10-23 JP JP2020178469A patent/JP7231594B2/ja active Active
-
2021
- 2021-04-08 JP JP2021065563A patent/JP7100836B2/ja active Active
- 2021-06-02 IL IL283649A patent/IL283649B/en unknown
- 2021-07-29 AU AU2021209284A patent/AU2021209284B2/en active Active
- 2021-11-03 CY CY20211100947T patent/CY1124687T1/el unknown
-
2022
- 2022-02-01 US US17/590,596 patent/US11838511B2/en active Active
- 2022-06-30 IL IL294454A patent/IL294454B2/en unknown
- 2022-09-09 US US17/930,997 patent/US12069267B2/en active Active
- 2022-09-19 AU AU2022235513A patent/AU2022235513B2/en active Active
- 2022-11-07 US US18/053,219 patent/US20230188719A1/en active Pending
-
2023
- 2023-02-16 JP JP2023022627A patent/JP7464768B2/ja active Active
- 2023-06-16 AU AU2023203785A patent/AU2023203785B2/en active Active
- 2023-10-06 US US18/482,683 patent/US20240048708A1/en active Pending
-
2024
- 2024-03-15 AU AU2024201731A patent/AU2024201731B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011128268A1 (en) | 2010-04-13 | 2011-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Probability interval partioning encoder and decoder |
Non-Patent Citations (3)
Title |
---|
MARPE D ET AL: "Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 13, no. 7, 1 July 2003 (2003-07-01), pages 620 - 636, XP011099255, ISSN: 1051-8215, DOI: 10.1109/TCSVT.2003.815173 * |
SZE (TI) V ET AL: "Simplified MVD context selection (Extension of JCTVC-E324)", 6. JCT-VC MEETING; 97. MPEG MEETING; 14-7-2011 - 22-7-2011; TORINO; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-F133, 14 July 2011 (2011-07-14), XP030009156 * |
WINKEN (FRAUNHOFER HHI) M ET AL: "Video coding technology proposal by Fraunhofer HHI", 1. JCT-VC MEETING; 15-4-2010 - 23-4-2010; DRESDEN; (JOINTCOLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-TSG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. XP030007557, 24 April 2010 (2010-04-24), XP030007557, ISSN: 0000-0049 * |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12069267B2 (en) | Context initialization in entropy coding | |
US11516474B2 (en) | Context initialization in entropy coding | |
AU2022291506B2 (en) | Context initialization in entropy coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20220222 |
|
AC | Divisional application: reference to earlier application |
Ref document number: 2721820 Country of ref document: EP Kind code of ref document: P Ref document number: 3343781 Country of ref document: EP Kind code of ref document: P |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40077443 Country of ref document: HK |
|
P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230803 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20230920 |