WO2011162723A1 - Entropy encoder arrangement and entropy decoder arrangement - Google Patents
Entropy encoder arrangement and entropy decoder arrangement Download PDFInfo
- Publication number
- WO2011162723A1 WO2011162723A1 PCT/SG2011/000220 SG2011000220W WO2011162723A1 WO 2011162723 A1 WO2011162723 A1 WO 2011162723A1 SG 2011000220 W SG2011000220 W SG 2011000220W WO 2011162723 A1 WO2011162723 A1 WO 2011162723A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- signal sample
- signal
- sample values
- bit
- entropy
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 36
- 230000005236 sound signal Effects 0.000 claims description 9
- 241000209094 Oryza Species 0.000 description 8
- 235000007164 Oryza sativa Nutrition 0.000 description 8
- 235000009566 rice Nutrition 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000010606 normalization Methods 0.000 description 6
- 238000007906 compression Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000013144 data compression Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/0017—Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error
-
- 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
Definitions
- Embodiments relate generally to signal encoding and decoding. Specifically, embodiments relate to an entropy encoder arrangement and an entropy decoder arrangement.
- time-domain Linear Predictive Coding is employed to remove the redundancy of the input signal so that it can be encoded more efficiently by the subsequent entropy coder.
- LPC Linear Predictive Coding
- FIG. 1(a) shows an encoder
- FIG. 1(b) shows a corresponding decoder.
- FIG. 1(a) shows an encoder
- FIG. 1(b) shows a corresponding decoder.
- FIG. 1(a) shows an encoder
- FIG. 1(b) shows a corresponding decoder.
- an input signal is partitioned into a sequence of data blocks. Each data block is LPC analyzed in order to derive the optimal LPC parameters.
- the data block is processed with an LPC filter whereby each sample in the data block is subtracted to its prediction calculated from previous samples and the LPC parameters.
- the differences, or the residual data are then entropy coded.
- the resulting encoded residual data and the LPC parameters are transmitted to the decoder. In the decoder, the whole process is reverted to restore the original audio signal.
- Parametric entropy coder designs such as Rice code, are usually employed in lossless audio coding. These entropy coders assume that the signals to be coded are issued from sources that have a common probability distribution after properly normalization. With this assumption, the design of entropy coder can be based on the common probability distribution that generally either has a reduced alphabet size, or is more regularized for more structural entropy coder design. For example, in Rice code, the signal x(n) is first normalized based on Rice code parameter 5 as [0008] After normalization, amplitude of the scaled residual signal x'(n) is unitary coded, assuming that it is geometrically distributed according to
- the least significant bits (LSB)
- the Rice code parameter 5 indicates the energy level of the original signal x ⁇ n) which can be calculated as follows:
- the amplitudes of the first few samples, which are generated from a LPC predictor of reduced order, may be higher than those of the remaining fully predicted samples from the same data block.
- the coding efficiency may be compromised.
- those non- fully predicted samples can be entropy coded using different parameters obtained by modifying the coding parameter of the fully predicted samples.
- This approach assumes that the amplitude decaying from non-fully predicted samples to fully predicted ones follows a predetermined signal independent contour. Therefore, the parameters used for coding those non-fully predicted samples are modifying that of fully predicted ones in a fixed and signal independent manner, which would compromise the performance of the coding.
- Various embodiments provide an entropy encoder arrangement, an entropy decoder arrangement, an entropy encoding method and an entropy decoding method.
- the entropy encoder arrangement may include an input configured to receive an input signal, wherein the input signal includes a plurality of signal blocks and each signal block includes a plurality of signal sample values.
- the entropy encoder arrangement may include a predictor coefficient determining circuit configured to determine signal sample value prediction coefficients using one or more signal sample values from the plurality of signal sample values.
- the entropy encoder arrangement may further include a bit-shifter coupled to the input and configured to receive one or more non-fully predicted signal sample values out of the plurality of signal sample values, and to determine a number of least significant bits depending on the one or more signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values, and to provide a respective bit-shifted signal sample value shifted by the number of determined least significant bits for the respective signal sample value, and a least significant bit signal representing the determined least significant bits for the respective signal sample value.
- the entropy encoder arrangement may further include an entropy encoder configured to entropy encode fully predicted signal sample values out of the plurality of signal sample values and the bit-shifted signal sample values to generate an encoded bit-stream.
- Fig. 1 shows a time-domain prediction lossless audio coder.
- Fig. 2 shows the amplitudes of non-fully predicted samples and fully predicted samples from a data block.
- Fig. 3 shows an entropy encoder arrangement according to an embodiment.
- Fig. 4 shows an entropy encoder arrangement according to another embodiment.
- Fig. 5 shows a lattice filter structure of a linear predictive encoder according to an embodiment.
- Fig. 6 shows an entropy decoder arrangement according to an embodiment.
- Fig. 7 shows an entropy decoder arrangement according to another embodiment.
- Fig. 8 shows a flowchart illustrating an entropy encoding method according to an embodiment.
- Fig. 9 shows a flowchart illustrating an entropy decoding method according to an embodiment.
- Fig. 10 shows the test results comparing the ALS method and the method of the embodiments.
- Various embodiments provide an entropy encoder and an entropy decoder with good performance, without requiring a large encoding alphabet size and without decreasing the achievable compression ratio.
- Various embodiments are based on the finding that the amplitude decaying of non-fully predicted samples is related to the underlying property of the LPC predictor and is signal dependent.
- the entropy encoder arrangement as described in this description may include a memory which is for example used in the processing carried out by the entropy encoder.
- the encoder arrangement and the decoder arrangement as described in this description may each include a memory which is for example used in the processing carried out by the encoder and the decoder, respectively.
- a memory used in the embodiments may be a volatile memory, for example a DRAM (Dynamic Random Access Memory) or a non-volatile memory, for example a PROM (Programmable Read Only Memory), an EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM), or a flash memory, e.g., a floating gate memory, a charge trapping memory, an MRAM (Magnetoresistive Random Access Memory) or a PCRAM (Phase Change Random Access Memory).
- DRAM Dynamic Random Access Memory
- PROM Programmable Read Only Memory
- EPROM Erasable PROM
- EEPROM Electrical Erasable PROM
- flash memory e.g., a floating gate memory, a charge trapping memory, an MRAM (Magnetoresistive Random Access Memory) or a PCRAM (Phase Change Random Access Memory).
- the encoder arrangement and the decoder arrangement as described in this description may be or may include an encoding circuit and a decoding circuit, respectively.
- a “circuit” may be understood as any kind of a logic implementing entity, which may be special purpose circuitry or a processor executing software stored in a memory, firmware, or any combination thereof.
- a “circuit” may be a hard-wired logic circuit or a programmable logic circuit such as a programmable processor, e.g. a microprocessor (e.g. a Complex Instruction Set Computer (CISC) processor or a Reduced Instruction Set Computer (RISC) processor).
- a “circuit” may also be a processor executing software, e.g. any kind of computer program, e.g. a computer program using a virtual machine code such as e.g. Java. Any other kind of implementation of the respective functions which will be described in more detail below may also be understood as a "circuit” in accordance with an alternative embodiment.
- the entropy encoder arrangement may include an input configured to receive an input signal, wherein the input signal includes a plurality of signal blocks and each signal block includes a plurality of signal sample values.
- the entropy encoder arrangement may include a predictor coefficient determining circuit configured to determine signal sample value prediction coefficients using one or more signal sample values from the plurality of signal sample values.
- the entropy encoder arrangement may further include a bit-shifter coupled to the input and configured to receive one or more non-fully predicted signal sample values out of the plurality of signal sample values, and to determine a number of least significant bits depending on the one or more signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values, and to provide a respective bit-shifted signal sample value shifted by the number of determined least significant bits for the respective signal sample value, and a least significant bit signal representing the determined least significant bits for the respective signal sample value.
- the entropy encoder arrangement may further include an entropy encoder configured to entropy encode fully predicted signal sample values out of the plurality of signal sample values and the bit-shifted signal sample values to generate an encoded bit-stream.
- the input signal may include an audio signal, an image signal, or a video signal.
- the entropy encoder arrangement may further include a multiplexer configured to multiplex the encoded bit-stream, the least significant bit signal and the signal sample value prediction coefficients.
- the signal sample value prediction coefficients may be encoded before being input to the multiplexer for multiplexing.
- the multiplexer may output a compressed bit-stream, which may be transmitted and received by a corresponding entropy decoder arrangement for decoding.
- the entropy encoder arrangement may include a linear predictive encoder (LPC) configured to generate the non-fully predicted signal sample values and the fully-predicted signal sample values from an original signal by linear prediction.
- LPC linear predictive encoder
- the linear predictive encoder may be configured to receive an original signal and process the original signal to generate the input signal comprising the non- fiilly predicted signal sample values and the fully-predicted signal sample values.
- the input signal may be a residual signal, or may be referred to as a prediction error signal.
- the linear predictive encoder may include a lattice filter for performing the linear prediction.
- the linear predictive encoder may perform the linear prediction using the signal sample value prediction coefficients.
- the signal sample value prediction coefficients are partial correlation coefficients.
- the partial correlation coefficients may be determined in accordance with Levinson-Durbin algorithm.
- the partial correlation coefficients may be determined in accordance with the following equation:
- ki represents the partial correlation coefficients
- the signal sample value prediction coefficients may be quantized before being used by the bit-shifter and/or the linear predictive encoder.
- the quantization may be performed by the predictor coefficient determining circuit or may be performed by a separate quantizer.
- the bit-shifter is configured to determine the number of least significant bits depending on the one or more signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values.
- the number of least significant bits are determined in accordance with the following equation:
- sun represents the number of least significant bits for the ⁇ ⁇ non-fully predicted signal sample value of a signal block
- the bit-shifter is configured to determine the number of least significant bits using a look-up table.
- the look-up table may provide intermediate parameter values in correspondence with partial correlation coefficients, wherein the intermediate parameter values may be used in the determination of the number of least significant bits to save computation cost and time.
- the entropy encoder is an arithmetic encoder which encodes the sample values using arithmetic encoding.
- the entropy encoder may be a Huffman encoder, a Golomb encoder, a Rice encoder, or other types of entropy encoder.
- Another embodiment is directed to an entropy decoder arrangement corresponding to the entropy encoder arrangement described in the above embodiments.
- the entropy decoder arrangement may include an input configured to receive an encoded bit-stream, a least significant bit signal representing determined least significant bits for one or more non-fully predicted signal sample values, and signal sample value prediction coefficients.
- the entropy decoder arrangement may include an entropy decoder configured to receive the encoded bit-stream, and to entropy decode the encoded bit-stream to generate decoded fully predicted signal sample values and decoded bit-shifted signal sample values.
- the entropy decoder arrangement may further include a bit-shifter coupled to the input and the entropy decoder and configured to receive decoded bit-shifted signal sample values and the least significant bit signal, wherein the bit-shifter is configured to determine a number of least significant bits depending on the signal sample value prediction coefficients for one or more non-fully predicted signal sample values, and to restore one or more non-fully predicted signal sample values from the decoded bit-shifted signal sample values and the least significant bit signal using the determined number of least significant bits.
- a bit-shifter coupled to the input and the entropy decoder and configured to receive decoded bit-shifted signal sample values and the least significant bit signal, wherein the bit-shifter is configured to determine a number of least significant bits depending on the signal sample value prediction coefficients for one or more non-fully predicted signal sample values, and to restore one or more non-fully predicted signal sample values from the decoded bit-shifted signal sample values and the least significant bit signal using the determined number of least significant bits.
- the entropy decoder arrangement may further include a signal combiner configured to receive the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values, and to generate a restored signal from the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values.
- a signal combiner configured to receive the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values, and to generate a restored signal from the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values.
- the entropy decoder arrangement may include a demultiplexer configured to de-multiplex a received bit-stream to generate the encoded bit- stream, the least significant bit signal, and the signal sample value prediction coefficients.
- the received bit-stream may be a compressed bit-stream generated by the entropy encoder arrangement described above.
- the entropy encoder arrangement may include a linear predictive decoder (LPC) configured to restore a plurality of signal sample values from the restored non-fully predicted signal sample values and the decoded fully- predicted signal sample values.
- LPC linear predictive decoder
- the restored non-fully predicted signal sample values and the decoded fully-predicted signal sample values may be a residual signal or a prediction error signal generated by the linear predictive encoder described above.
- the restored signal sample values output from the linear predictive decoder may be the original signal before being encoded by the entropy encoder arrangement described above.
- the linear predictive decoder may include a lattice filter for performing the linear predictive decoding. In an embodiment, the linear predictive decoder may perform the linear predictive decoding using the signal sample value prediction coefficients.
- the signal sample value prediction coefficients are partial correlation coefficients.
- the partial correlation coefficients may be determined in accordance with Levinson-Durbin algorithm in the entropy encoder arrangement described above.
- the received signal sample value prediction coefficients may be quantized prediction coefficients as generated by the predictor coefficient determining circuit of the entropy encoder arrangement described above.
- the bit-shifter is configured to determine the number of least significant bits depending on the one or more signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values.
- the number of least significant bits are determined in accordance with the following equation:
- sun represents the number of least significant bits for the ⁇ ⁇ non-fully predicted signal sample value of a signal block
- ki represents partial correlation coefficients in the signal sample value prediction coefficients
- P represents the order of the linear predictive decoder, and denotes the largest integer not greater than x.
- the bit-shifter is configured to determine the number of least significant bits using a look-up table.
- the look-up table may provide intermediate parameter values in correspondence with partial correlation coefficients, wherein the intermediate parameter values may be used in the determination of the number of least significant bits to save computation cost and time.
- the number of least significant bits may be transmitted by the entropy encoder arrangement and may be received by the entropy decoder arrangement for direct usage.
- the entropy decoder is an arithmetic decoder which decodes the encoded bit-stream using arithmetic decoding.
- the entropy decoder may be a Huffman decoder, a Golomb decoder, a Rice decoder, or other types of entropy decoder.
- the restored signal generated by the signal combiner may be an audio signal, an image signal, or a video signal.
- Another embodiment is directed to an entropy encoding method, corresponding to the entropy encoder arrangement described above.
- the entropy encoding method may include receiving an input signal, the input signal comprising a plurality of signal blocks, each signal block comprising a plurality of signal sample values; determining signal sample value prediction coefficients using one or more signal sample values from the plurality of signal sample values; determining a number of least significant bits depending on the one or more signal sample value prediction coefficients determined for one or more non-fully predicted signal sample values out of the plurality of signal sample values, providing a respective bit-shifted signal sample value shifted by the number of determined least significant bits for the respective signal sample value, and a least significant bit signal representing the determined least significant bits for the respective signal sample value; and entropy encoding fully predicted signal sample values out of the plurality of signal sample values and the bit-shifted signal sample values to generate an encoded bit-stream.
- a further embodiment is directed to an entropy decoding method, corresponding to the entropy decoder arrangement described above.
- the entropy decoding method may include receiving an encoded bit-stream, a least significant bit signal representing determined least significant bits for one or more non-fully predicted signal sample values, and signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values; entropy decoding the encoded bit-stream to generate decoded fully predicted signal sample values and decoded bit-shifted signal sample values; determining a number of least significant bits depending on the signal sample value prediction coefficients, restoring one or more non-fully predicted signal sample values from the decoded bit-shifted signal sample values and the least significant bit signal using the determined number of least significant bits; and generating a restored signal from the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values.
- FIG. 3 shows an entropy encoder arrangement according to an embodiment.
- the entropy encoder arrangement 300 includes an input 301 configured to receive an input signal e(n), wherein the input signal includes a plurality of signal blocks and each signal block includes a plurality of signal sample values.
- the entropy encoder arrangement 300 may include a predictor coefficient determining circuit 303 configured to determine signal sample value prediction coefficients using one or more signal sample values from the plurality of signal sample values.
- the entropy encoder arrangement 300 further includes a bit-shifter 305 coupled to the input and configured to receive one or more non-fully predicted signal sample values out of the plurality of signal sample values, and to determine a number of least significant bits depending on the one or more signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values. After determining the number of least significant bits, the bit-shifter 305 is configured to provide a respective bit-shifted signal sample value shifted by the number of determined least significant bits for the respective signal sample value, and to provide a least significant bit (LSB) signal representing the determined least significant bits for the respective signal sample value.
- LSB least significant bit
- the entropy encoder arrangement 300 further includes an entropy encoder 307 configured to entropy encode fully predicted signal sample values out of the plurality of signal sample values and the bit-shifted signal sample values, so as to generate an encoded bit-stream.
- the input signal may include an audio signal, an image signal, or a video signal.
- the input signal e(n) may be a residual signal or a prediction error signal, e.g. generated based on an original input signal by prediction, e.g. by linear predication. Accordingly, the residual signal which excludes the redundant signal is processed and encoded, to achieve a higher encoding efficiency.
- the signal sample value prediction coefficients may be also used in the prediction process, by which the residual signal is obtained.
- the entropy encoder arrangement 300 may include a signal separator configured to separate the plurality of signal sample values in the input signal into one or more non-fully predicated signal sample values and a plurality of fully predicted signal sample values.
- the input signal may be separated in a predictor configured to generate the input signal, wherein one or more non-fully predicated signal sample values and the plurality of fully predicted signal sample values may be output separately.
- the signal separator is illustratively shown in the embodiment of Fig. 4 below.
- Fig. 4 shows an entropy encoder arrangement according to another embodiment.
- the entropy encoder arrangement 400 of Fig. 4 similarly include the input 301, the predictor coefficient determining circuit, the bit- shifter 305 and the entropy encoder 307 as described in Fig. 3 above.
- the entropy encoder arrangement 400 further includes an original input 401, a linear predictive encoder 409, a signal separator 411 and a multiplexer 413 as described in more detail below.
- the linear predictive encoder 409 is configured to receive the original signal X(n) and generate a residual signal e(n) (i.e. the input signal described in Fig. 3) based on the original input signal X(n).
- the linear predictive encoder 409 may perform the linear prediction using the signal sample value prediction coefficients.
- the signal sample value prediction coefficients are partial correlation coefficients.
- the signal sample value prediction coefficients may be determined from partial correlation coefficients.
- the partial correlation coefficients may be determined in accordance with Levinson-Durbin algorithm, for example.
- the linear predictive encoder 409 may be configured to generate the residual signal e(n) according to the following equation: where n represents the time index, a t , i - ⁇ ,...,P represents the LPC coefficients and P is the prediction order.
- the linear predictive encoder 409 may include a lattice filter for performing the linear prediction.
- LPC filter as in FIR (finite impulse response) filter format can be equivalently implemented as a lattice filter.
- Fig. 5 shows a lattice filter structure of a linear predictive encoder according to an embodiment.
- two types of prediction residuals are generated, the forward prediction error and the backward prediction
- CORR in each stage of Fig. 5 represents the correlation of
- ki represents the partial correlation coefficients
- the partial correlation coefficients are determined by the predictor coefficient determining circuit 303 as described in the embodiments above.
- the signal sample value prediction coefficients e.g. the partial correlation coefficients may be quantized before being used by the bit-shifter 305 and/or the linear predictive encoder 409. The quantization may be performed by the predictor coefficient determining circuit 303 or may be performed by a separate quantizer.
- LPC filter not only provides fully predicted residual signal , but also the partially or non-fully predicted residuals
- the linear predictive encoder 409 is configured to output the fully predicted residual signal and the non-fully predicted residual signal separately, such that the fully predicted residual signal is directly input to the entropy encoder 307 for encoding, and the non-fully predicted residual signal is input to the bit-shifter 305 to provide a bit-shifted signal and a LSB signal as shown in Figs. 3 and 4.
- the linear predictive encoder 409 may be configured to output the fully predicted residual signal and the non-fully predicted residual signal in one input signal to a signal separator 411.
- the signal separator 411 may be configured to separate the received input signal into the fully predicted residual signal and the non-fully predicted residual signal, which are then input to the entropy encoder 307 and the bit- shifter 305, respectively.
- the input 301 may include the signal separator 409.
- the data from previous data block can not be used in calculating the prediction residual signal. For this reason, instead of using a full -order LPC predictor, the residual samples of a randomly accessible data block e(n) are generated from order LPC predictor. That is,
- those residual samples are generated from a reduced order LPC predictor, they may have a larger amplitude or energy compared to those generated from the full order LPC predictor (n > P).
- the variance of the first P residual samples may be calculated to derive:
- the non-fully predicted samples e ⁇ n can be normalized as follows: wherein the normalization factors or scaled factors g n can be determined by: wherein
- ki represents partial correlation coefficients
- P represents the order of the linear predictive encoder.
- the scale factors g n may be further quantized into powers of 2 as follows: wherein
- s n is quantized scale factor, and may represent the number of least significant bits for the n 4 non-fully predicted signal sample value of a signal block, and
- the number of least significant bits s n determined in accordance with the above description may be determined by the bit-shifter 305 dependent on one or more partial correlation coefficients h determined for the one or more non-fully predicted residual signal samples.
- bit-shifter 305 is configured to normalize or bit-shift the non-fully predicted signal sample value e(n) by a bit-shifting operation in accordance with the following equation:
- e'(n) , 0 ⁇ n ⁇ P represents the scaled non-fully predicted residual sample value, or referred to as the bit-shifted signal sample value.
- bit-shifted signal sample value e'(n) , 0 ⁇ n ⁇ P are then provided to the entropy encoder 307 to be entropy encoded together with the fully predicted signal sample values, as shown in Fig. 4.
- the entropy encoder 307 may be an arithmetic encoder, or may be a Huffman encoder, a Golomb encoder, a Rice encoder, or other types of entropy encoder. [0083J
- the remaining bits shifting out in the bit-shifting operation given by: can be directly transmitted as is using s n bits, or further entropy coded with a separate entropy coder dedicated to them.
- the remaining bits shifting out in the bit-shifting operation is also referred as a LSB signal r(n).
- the input signal e(n) can be losslessly restored as follows:
- the entropy encoder arrangement 400 may further include a multiplexer 413 configured to multiplex the encoded bit-stream, the least significant bit signal and the signal sample value prediction coefficients.
- the signal sample value prediction coefficients may be encoded before being input to the multiplexer for multiplexing.
- the multiplexer may output a compressed bit-stream, which may be transmitted and received by a corresponding entropy decoder arrangement for decoding, as described in more detail below.
- bit-shifter is configured to determine the number of least significant bits in accordance with the equations (12) and (13).
- the bit-shifter may determine the number of least significant bits using a look-up table as described below.
- the look-up table may provide intermediate parameter values in correspondence with partial correlation coefficients, wherein the intermediate parameter values may be used in the determination of the number of least significant bits to save computation cost and time.
- P represents the order of the linear predicative encoder 409.
- the number of least significant bits shift[n] may be determined in accordance with the following equation:
- shift[n] represents the number of least significant bits, wherein the symbol shift[n] different from s n is utilized for illustration purpose.
- i3 ⁇ 4 represents the partial correlation coefficients, which may be quantized partial correlation coefficients in an embodiments.
- RA_shiftl2[a k ] and RA shiftfak] represent intermediate parameter values provided in a look-up table, e.g., in Table 1 and Table 2 below:
- the following pseudo code illustrates the bit-shifting process or normalization process for the non-fully predicted signal sample values, which may be performed by the bit-shifter 305.
- the symbol of the residual sample values (indicating whether the values are positive or negative) may be output in accordance with the following pseudo code: [0091]
- the sequence of residual signal sample values can maintain a smaller dynamic range, which helps to improve the efficiency of the subsequent entropy encoding.
- Fig. 6 shows an entropy decoder arrangement according to an embodiment.
- the entropy decoder arrangement 600 is corresponding to the entropy encoder arrangement 300described in the above embodiments.
- the entropy decoder arrangement 600 may include an input (not shown) configured to receive an encoded bit-stream, a least significant bit signal representing determined least significant bits for one or more non- fully predicted signal sample values, and signal sample value prediction coefficients.
- the entropy decoder arrangement 600 may include an entropy decoder 601 configured to receive the encoded bit-stream, and to entropy decode the encoded bit- stream to generate decoded fully predicted signal sample values and decoded bit-shifted signal sample values.
- the entropy decoder arrangement 600 may further include a bit-shifter 603 coupled to the input and the entropy decoder 601 and configured to receive decoded bit- shifted signal sample values and the least significant bit signal.
- the bit-shifter 603 is configured to determine a number of least significant bits depending on the signal sample value prediction coefficients for one or more non-fully predicted signal sample values.
- the bit-shifter 603 is also configured to restore one or more non-fully predicted signal sample values from the decoded bit-shifted signal sample values and the least significant bit signal using the determined number of least significant bits.
- the entropy decoder arrangement 600 may further include a signal combiner 605 configured to receive the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values, and to generate a restored signal e(n) from the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values.
- a signal combiner 605 configured to receive the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values, and to generate a restored signal e(n) from the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values.
- Fig. 7 shows an entropy decoder arrangement according to another embodiment.
- the entropy decoder arrangement 700 is corresponding to the entropy encoder arrangement 400 described in the above embodiments.
- the entropy decoder arrangement 700 includes the entropy decoder 601, the bit-shifter 603 and the signal combiner 605.
- the entropy decoder arrangement 700 further includes a de-multiplexer 701 and a linear predictive decoder 703 as described in more detail below.
- the de-multiplexer 701 is configured to de-multiplex a received bit-stream to generate the encoded bit-stream, the least significant bit (LSB) signal, and the signal sample value prediction coefficients.
- the received bit-stream may be a compressed bit- stream generated by the entropy encoder arrangement 300, 400 described above.
- the encoded bit-stream is sent to the entropy decoder 601 for decoding, the LSB signal is sent to the bit-shifter 603 for signal restoration, and the signal sample value prediction coefficients are sent to the bit-shifter 603 and the linear predicative decoder 703 for their processing.
- the restored signal e(n) is generated by combining the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values.
- the restored signal e(n) may represent a residual signal, which is obtained by removing redundant signal from an original signal as described in the entropy encoder arrangement 400 above.
- the linear predictive decoder 703 is provided to restore a plurality of signal sample values X(n) from the restored signal e(n) including the restored non-fully predicted signal sample values and the decoded fully-predicted signal sample values.
- the restored signal sample values X(n) output from the linear predictive decoder may be the original signal before being encoded by the entropy encoder arrangement described above..
- the linear predictive decoder may include a lattice filter for performing the linear predictive decoding. In an embodiment, the linear predictive decoder may perform the linear predictive decoding using the signal sample value prediction coefficients.
- the signal sample value prediction coefficients are partial correlation coefficients.
- the partial correlation coefficients may be determined in accordance with Levinson-Durbin algorithm in the entropy encoder arrangement described above.
- the received signal sample value prediction coefficients may be quantized prediction coefficients as generated by the predictor coefficient determining circuit 303 of the entropy encoder arrangement 400 described above.
- the bit-shifter 603 is configured to determine the number of least significant bits depending on the one or more signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values.
- the number of least significant bits are determined in accordance with the following equation:
- sun represents the number of least significant bits for the ⁇ ⁇ non-fully predicted signal sample value of a signal block
- ki represents partial correlation coefficients in the signal sample value prediction coefficients
- the bit-shifter is configured to determine the number of least significant bits using a look-up table.
- the look-up table may provide intermediate parameter values in correspondence with partial correlation coefficients, wherein the intermediate parameter values may be used in the determination of the number of least significant bits to save computation cost and time.
- the number of least significant bits may be transmitted by the entropy encoder arrangement 400 and may be received by the entropy decoder arrangement 700 for direct usage.
- the entropy decoder 601 may be an arithmetic decoder, or may be a Huffman decoder, a Golomb decoder, a Rice decoder, or other types of entropy decoder.
- the restored plurality of signal sample values X(n) output from the entropy decoder arrangement 700 may be an audio signal, an image signal, or a video signal.
- Fig. 8 shows a flowchart illustrating an entropy encoding method according to an embodiment.
- an input signal is received, wherein the input signal includes a plurality of signal blocks and each signal block includes a plurality of signal sample values.
- signal sample value prediction coefficients are determined using one or more signal sample values from the plurality of signal sample values.
- a number of least significant bits are determined depending on the one or more signal sample value prediction coefficients determined for one or more non-fully predicted signal sample values out of the plurality of signal sample values.
- a respective bit-shifted signal sample value shifted by the number of determined least significant bits for the respective signal sample value is provided, and a least significant bit signal representing the determined least significant bits for the respective signal sample value is provided.
- fully predicted signal sample values out of the plurality of signal sample values and the bit-shifted signal sample values are entropy encoded to generate an encoded bit-stream.
- FIG. 9 shows a flowchart illustrating an entropy decoding method according to an embodiment, corresponding to the entropy decoder arrangement 600, 700 described above.
- an encoded bit-stream, a least significant bit signal representing determined least significant bits for one or more non-fully predicted signal sample values, and signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values are received.
- the encoded bit-stream is entropy decoded to generate decoded fully predicted signal sample values and decoded bit- shifted signal sample values.
- a number of least significant bits is determined depending on the signal sample value prediction coefficients.
- one or more non-fully predicted signal sample values are restored from the decoded bit-shifted signal sample values and the least significant bit signal using the determined number of least significant bits.
- a restored signal is generated from the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values.
- Various embodiments described in the context of the entropy decoder arrangement 600, 700 are analogously valid for the entropy decoding method.
- the various embodiments described in the context of the entropy encoder arrangement, entropy decoder arrangement, entropy encoding method and entropy decoding method may be implemented in AVS-P3 RMO platform to verify the performance.
- the encoding/decoding method used in MPEG-4 ALS is also implemented for comparison.
- Fig. 10 shows the test results comparing the ALS method and the method of the embodiments.
- test sequences are two sets of AVS test sequences with different sampling rate (44.1 KHz and 32KHz).
- sampling rate 44.1 KHz and 32KHz.
- the method of the embodiments achieves compression ratios comparable to the compression ratio achieved by the AVS method, and at the same time only requires a small encoding alphabet size.
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Embodiments provide an entropy encoder arrangement, including an input configured to receive an input signal, wherein the input signal includes a plurality of signal blocks and each signal block includes a plurality of signal sample values. The entropy encoder arrangement may include a predictor coefficient determining circuit configured to determine signal sample value prediction coefficients using one or more signal sample values from the plurality of signal sample values; and a bit-shifter configured to determine a number of least significant bits depending on the one or more signal sample value prediction coefficients determined for one or more non-fully predicted signal sample values. The bit-shifter is configured to provide a respective bit-shifted signal sample value shifted by the number of determined least significant bits for the respective signal sample value, and a least significant bit signal representing the determined least significant bits for the respective signal sample value. The entropy encoder arrangement may further include an entropy encoder configured to entropy encode fully predicted signal sample values out of the plurality of signal sample values and the bit-shifted signal sample values to generate an encoded bit-stream.
Description
ENTROPY ENCODER ARRANGEMENT AND ENTROPY DECODER
ARRANGEMENT
Cross-reference to Related Applications
[0001] The present application claims the benefit of the Singapore patent application 201004434-5 filed on 21 June 2010, the entire contents of which are incorporated herein by reference for all purposes.
Technical Field
[0002] Embodiments relate generally to signal encoding and decoding. Specifically, embodiments relate to an entropy encoder arrangement and an entropy decoder arrangement.
Background
[0003] Nowadays, data compression is applied in many fields because it helps to reduce the consumption of storage resources or transmission bandwidth. Among the current data compression technologies, entropy encoding is a lossless data compression scheme useful in scenario which require high quality data.
[0004] In time-domain prediction based coding schemes, such as lossless audio coding schemes, time-domain Linear Predictive Coding (LPC) is employed to remove the redundancy of the input signal so that it can be encoded more efficiently by the subsequent entropy coder.
[0005] The system diagram of a time-domain prediction lossless audio coder is illustrated in FIG. 1, wherein FIG. 1(a) shows an encoder and FIG. 1(b) shows a corresponding decoder. Typically, in a time-domain prediction lossless audio encoder as shown in FIG. 1(a), an input signal is partitioned into a sequence of data blocks. Each data block is LPC analyzed in order to derive the optimal LPC parameters. After that, the data block is processed with an LPC filter whereby each sample in the data block is subtracted to its prediction calculated from previous samples and the LPC parameters. The differences, or the residual data, are then entropy coded. The resulting encoded residual data and the LPC parameters are transmitted to the decoder. In the decoder, the whole process is reverted to restore the original audio signal.
[0006] Due to the non-stationary nature audio signal, the residual signal produced by the LPC predictor will have a high dynamic range. As a result, brute-force encoding of residual signal will require an entropy coder with a very large alphabet size, which is difficult to design and implement.
[0007] Parametric entropy coder designs, such as Rice code, are usually employed in lossless audio coding. These entropy coders assume that the signals to be coded are issued from sources that have a common probability distribution after properly normalization. With this assumption, the design of entropy coder can be based on the common probability distribution that generally either has a reduced alphabet size, or is more regularized for more structural entropy coder design. For example, in Rice code, the signal x(n) is first normalized based on Rice code parameter 5 as
[0008] After normalization, amplitude of the scaled residual signal x'(n) is unitary coded, assuming that it is geometrically distributed according to
being shifted out in the normalization process according to equation (1) are simply transmitted out as is. The Rice code parameter 5 indicates the energy level of the original signal x{n) which can be calculated as follows:
[0009] However, for random access mode wherein the data from previous data block can not be used in calculating the prediction residual signal for current data block, the prediction orders of the first few samples are reduced. Therefore, the statistical characteristic of these prediction errors may also be different from the others.
[0010] For example, as illustrated in FIG. 2, the amplitudes of the first few samples, which are generated from a LPC predictor of reduced order, may be higher than those of the remaining fully predicted samples from the same data block. In this case, if all the samples are encoded with an entropy coder with the same coding parameters, the coding efficiency may be compromised.
[0011] In MPEG-4 Audio Lossless Coding (ALS), those non- fully predicted samples can be entropy coded using different parameters obtained by modifying the coding parameter of the fully predicted samples. This approach assumes that the amplitude decaying from non-fully predicted samples to fully predicted ones follows a predetermined signal independent contour. Therefore, the parameters used for coding
those non-fully predicted samples are modifying that of fully predicted ones in a fixed and signal independent manner, which would compromise the performance of the coding.
[0012] There is a need to provide an entropy coder which needs a smaller encoding alphabet size without decreasing the achievable compression ratio.
Summary
[0013] Various embodiments provide an entropy encoder arrangement, an entropy decoder arrangement, an entropy encoding method and an entropy decoding method.
[0014] Various embodiments provide an entropy encoder arrangement. The entropy encoder arrangement may include an input configured to receive an input signal, wherein the input signal includes a plurality of signal blocks and each signal block includes a plurality of signal sample values. The entropy encoder arrangement may include a predictor coefficient determining circuit configured to determine signal sample value prediction coefficients using one or more signal sample values from the plurality of signal sample values. The entropy encoder arrangement may further include a bit-shifter coupled to the input and configured to receive one or more non-fully predicted signal sample values out of the plurality of signal sample values, and to determine a number of least significant bits depending on the one or more signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values, and to provide a respective bit-shifted signal sample value shifted by the number of determined least significant bits for the respective signal sample value, and a least significant bit signal representing the determined least significant bits for the respective signal sample value. The entropy encoder arrangement may further include an entropy
encoder configured to entropy encode fully predicted signal sample values out of the plurality of signal sample values and the bit-shifted signal sample values to generate an encoded bit-stream.
Brief Description of the Drawings
[0015] In the drawings, like reference characters generally refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention. In the following description, various embodiments are described with reference to the following drawings, in which:
Fig. 1 shows a time-domain prediction lossless audio coder.
Fig. 2 shows the amplitudes of non-fully predicted samples and fully predicted samples from a data block.
Fig. 3 shows an entropy encoder arrangement according to an embodiment.
Fig. 4 shows an entropy encoder arrangement according to another embodiment.
Fig. 5 shows a lattice filter structure of a linear predictive encoder according to an embodiment.
Fig. 6 shows an entropy decoder arrangement according to an embodiment.
Fig. 7 shows an entropy decoder arrangement according to another embodiment. Fig. 8 shows a flowchart illustrating an entropy encoding method according to an embodiment.
Fig. 9 shows a flowchart illustrating an entropy decoding method according to an embodiment.
Fig. 10 shows the test results comparing the ALS method and the method of the embodiments.
Description
[0016] Various embodiments provide an entropy encoder and an entropy decoder with good performance, without requiring a large encoding alphabet size and without decreasing the achievable compression ratio. Various embodiments are based on the finding that the amplitude decaying of non-fully predicted samples is related to the underlying property of the LPC predictor and is signal dependent.
[0017] Embodiments described below in context of the encoder arrangement and encoding method are analogously valid for the decoder arrangement and decoding method, and vice versa.
[0018] Various features described below in the context of the encoder arrangement and the decoder arrangement may analogously hold true for the corresponding encoding method and decoding method, and vice versa.
[0019] In this context, the entropy encoder arrangement as described in this description may include a memory which is for example used in the processing carried out by the entropy encoder. The encoder arrangement and the decoder arrangement as described in this description may each include a memory which is for example used in the processing carried out by the encoder and the decoder, respectively. A memory used in the embodiments may be a volatile memory, for example a DRAM (Dynamic Random Access Memory) or a non-volatile memory, for example a PROM (Programmable Read Only Memory), an EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM),
or a flash memory, e.g., a floating gate memory, a charge trapping memory, an MRAM (Magnetoresistive Random Access Memory) or a PCRAM (Phase Change Random Access Memory).
[0020] In this context, the encoder arrangement and the decoder arrangement as described in this description may be or may include an encoding circuit and a decoding circuit, respectively.
[0021] In an embodiment, a "circuit" may be understood as any kind of a logic implementing entity, which may be special purpose circuitry or a processor executing software stored in a memory, firmware, or any combination thereof. Thus, in an embodiment, a "circuit" may be a hard-wired logic circuit or a programmable logic circuit such as a programmable processor, e.g. a microprocessor (e.g. a Complex Instruction Set Computer (CISC) processor or a Reduced Instruction Set Computer (RISC) processor). A "circuit" may also be a processor executing software, e.g. any kind of computer program, e.g. a computer program using a virtual machine code such as e.g. Java. Any other kind of implementation of the respective functions which will be described in more detail below may also be understood as a "circuit" in accordance with an alternative embodiment.
[0022] One embodiment is directed to an entropy encoder arrangement. The entropy encoder arrangement may include an input configured to receive an input signal, wherein the input signal includes a plurality of signal blocks and each signal block includes a plurality of signal sample values. The entropy encoder arrangement may include a predictor coefficient determining circuit configured to determine signal sample value prediction coefficients using one or more signal sample values from the plurality of
signal sample values. The entropy encoder arrangement may further include a bit-shifter coupled to the input and configured to receive one or more non-fully predicted signal sample values out of the plurality of signal sample values, and to determine a number of least significant bits depending on the one or more signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values, and to provide a respective bit-shifted signal sample value shifted by the number of determined least significant bits for the respective signal sample value, and a least significant bit signal representing the determined least significant bits for the respective signal sample value. The entropy encoder arrangement may further include an entropy encoder configured to entropy encode fully predicted signal sample values out of the plurality of signal sample values and the bit-shifted signal sample values to generate an encoded bit-stream.
[0023] The input signal may include an audio signal, an image signal, or a video signal.
[0024] In an embodiment, the entropy encoder arrangement may further include a multiplexer configured to multiplex the encoded bit-stream, the least significant bit signal and the signal sample value prediction coefficients. In an embodiment, the signal sample value prediction coefficients may be encoded before being input to the multiplexer for multiplexing. The multiplexer may output a compressed bit-stream, which may be transmitted and received by a corresponding entropy decoder arrangement for decoding.
[0025] According to an embodiment, the entropy encoder arrangement may include a linear predictive encoder (LPC) configured to generate the non-fully predicted signal sample values and the fully-predicted signal sample values from an original signal by
linear prediction. The linear predictive encoder may be configured to receive an original signal and process the original signal to generate the input signal comprising the non- fiilly predicted signal sample values and the fully-predicted signal sample values. The input signal may be a residual signal, or may be referred to as a prediction error signal.
[0026] In an embodiment, the linear predictive encoder may include a lattice filter for performing the linear prediction.
[0027] In an embodiment, the linear predictive encoder may perform the linear prediction using the signal sample value prediction coefficients.
[0028] According to an embodiment, the signal sample value prediction coefficients are partial correlation coefficients. In an embodiment, the partial correlation coefficients may be determined in accordance with Levinson-Durbin algorithm.
[0029] In an embodiment, the partial correlation coefficients may be determined in accordance with the following equation:
wherein
wherein
ki represents the partial correlation coefficients,
P represents the order of the linear predictive encoder,
χ(ή) represents an original signal,
and
[0030] In an embodiment, the signal sample value prediction coefficients may be quantized before being used by the bit-shifter and/or the linear predictive encoder. The quantization may be performed by the predictor coefficient determining circuit or may be performed by a separate quantizer.
[0031] According to an embodiment, the bit-shifter is configured to determine the number of least significant bits depending on the one or more signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values. In an embodiment, the number of least significant bits are determined in accordance with the following equation:
wherein
s„ represents the number of least significant bits for the ηΛ non-fully predicted signal sample value of a signal block,
kj represents partial correlation coefficients,
P represents the order of the linear predictive encoder, and
denotes the largest integer not greater than x.
[0032] In an embodiment, the bit-shifter is configured to determine the number of least significant bits using a look-up table. The look-up table may provide intermediate parameter values in correspondence with partial correlation coefficients, wherein the intermediate parameter values may be used in the determination of the number of least significant bits to save computation cost and time.
[0033] In an embodiment, the entropy encoder is an arithmetic encoder which encodes the sample values using arithmetic encoding. In other embodiments, the entropy encoder may be a Huffman encoder, a Golomb encoder, a Rice encoder, or other types of entropy encoder.
[0034] Another embodiment is directed to an entropy decoder arrangement corresponding to the entropy encoder arrangement described in the above embodiments.
[0035] The entropy decoder arrangement may include an input configured to receive an encoded bit-stream, a least significant bit signal representing determined least significant bits for one or more non-fully predicted signal sample values, and signal sample value prediction coefficients. The entropy decoder arrangement may include an entropy decoder configured to receive the encoded bit-stream, and to entropy decode the encoded bit-stream to generate decoded fully predicted signal sample values and decoded bit-shifted signal sample values. The entropy decoder arrangement may further include a bit-shifter coupled to the input and the entropy decoder and configured to receive decoded bit-shifted signal sample values and the least significant bit signal, wherein the bit-shifter is configured to determine a number of least significant bits depending on the signal sample value prediction coefficients for one or more non-fully predicted signal sample values, and to restore one or more non-fully predicted signal sample values from
the decoded bit-shifted signal sample values and the least significant bit signal using the determined number of least significant bits. The entropy decoder arrangement may further include a signal combiner configured to receive the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values, and to generate a restored signal from the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values.
[0036] In an embodiment, the entropy decoder arrangement may include a demultiplexer configured to de-multiplex a received bit-stream to generate the encoded bit- stream, the least significant bit signal, and the signal sample value prediction coefficients. The received bit-stream may be a compressed bit-stream generated by the entropy encoder arrangement described above.
[0037] According to an embodiment, the entropy encoder arrangement may include a linear predictive decoder (LPC) configured to restore a plurality of signal sample values from the restored non-fully predicted signal sample values and the decoded fully- predicted signal sample values. The restored non-fully predicted signal sample values and the decoded fully-predicted signal sample values may be a residual signal or a prediction error signal generated by the linear predictive encoder described above. The restored signal sample values output from the linear predictive decoder may be the original signal before being encoded by the entropy encoder arrangement described above..
[0038] In an embodiment, the linear predictive decoder may include a lattice filter for performing the linear predictive decoding. In an embodiment, the linear predictive
decoder may perform the linear predictive decoding using the signal sample value prediction coefficients.
[0039] According to an embodiment, the signal sample value prediction coefficients are partial correlation coefficients. In an embodiment, the partial correlation coefficients may be determined in accordance with Levinson-Durbin algorithm in the entropy encoder arrangement described above.
[0040] In an embodiment, the received signal sample value prediction coefficients may be quantized prediction coefficients as generated by the predictor coefficient determining circuit of the entropy encoder arrangement described above.
[0041] According to an embodiment, the bit-shifter is configured to determine the number of least significant bits depending on the one or more signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values. In an embodiment, the number of least significant bits are determined in accordance with the following equation:
wherein
s„ represents the number of least significant bits for the ηΛ non-fully predicted signal sample value of a signal block,
ki represents partial correlation coefficients in the signal sample value prediction coefficients,
P represents the order of the linear predictive decoder, and
denotes the largest integer not greater than x.
[0042] In an embodiment, the bit-shifter is configured to determine the number of least significant bits using a look-up table. The look-up table may provide intermediate parameter values in correspondence with partial correlation coefficients, wherein the intermediate parameter values may be used in the determination of the number of least significant bits to save computation cost and time.
[0043] In another embodiment, the number of least significant bits may be transmitted by the entropy encoder arrangement and may be received by the entropy decoder arrangement for direct usage.
[0044] In an embodiment, the entropy decoder is an arithmetic decoder which decodes the encoded bit-stream using arithmetic decoding. In other embodiments, the entropy decoder may be a Huffman decoder, a Golomb decoder, a Rice decoder, or other types of entropy decoder.
[0045] The restored signal generated by the signal combiner may be an audio signal, an image signal, or a video signal.
[0046] Another embodiment is directed to an entropy encoding method, corresponding to the entropy encoder arrangement described above.
[0047] The entropy encoding method may include receiving an input signal, the input signal comprising a plurality of signal blocks, each signal block comprising a plurality of signal sample values; determining signal sample value prediction coefficients using one or more signal sample values from the plurality of signal sample values; determining a number of least significant bits depending on the one or more signal sample value prediction coefficients determined for one or more non-fully predicted signal sample
values out of the plurality of signal sample values, providing a respective bit-shifted signal sample value shifted by the number of determined least significant bits for the respective signal sample value, and a least significant bit signal representing the determined least significant bits for the respective signal sample value; and entropy encoding fully predicted signal sample values out of the plurality of signal sample values and the bit-shifted signal sample values to generate an encoded bit-stream.
[0048] Various embodiments described in the context of the entropy encoder arrangement are analogously valid for the entropy encoding method.
[0049] A further embodiment is directed to an entropy decoding method, corresponding to the entropy decoder arrangement described above.
[0050] The entropy decoding method may include receiving an encoded bit-stream, a least significant bit signal representing determined least significant bits for one or more non-fully predicted signal sample values, and signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values; entropy decoding the encoded bit-stream to generate decoded fully predicted signal sample values and decoded bit-shifted signal sample values; determining a number of least significant bits depending on the signal sample value prediction coefficients, restoring one or more non-fully predicted signal sample values from the decoded bit-shifted signal sample values and the least significant bit signal using the determined number of least significant bits; and generating a restored signal from the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values.
[0051] Various embodiments described in the context of the entropy decoder arrangement are analogously valid for the entropy decoding method.
[0052] Fig. 3 shows an entropy encoder arrangement according to an embodiment.
[0053] The entropy encoder arrangement 300 includes an input 301 configured to receive an input signal e(n), wherein the input signal includes a plurality of signal blocks and each signal block includes a plurality of signal sample values.
[0054] The entropy encoder arrangement 300 may include a predictor coefficient determining circuit 303 configured to determine signal sample value prediction coefficients using one or more signal sample values from the plurality of signal sample values.
[0055] The entropy encoder arrangement 300 further includes a bit-shifter 305 coupled to the input and configured to receive one or more non-fully predicted signal sample values out of the plurality of signal sample values, and to determine a number of least significant bits depending on the one or more signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values. After determining the number of least significant bits, the bit-shifter 305 is configured to provide a respective bit-shifted signal sample value shifted by the number of determined least significant bits for the respective signal sample value, and to provide a least significant bit (LSB) signal representing the determined least significant bits for the respective signal sample value.
[0056] The entropy encoder arrangement 300 further includes an entropy encoder 307 configured to entropy encode fully predicted signal sample values out of the plurality of signal sample values and the bit-shifted signal sample values, so as to generate an encoded bit-stream.
[0057] The input signal may include an audio signal, an image signal, or a video signal. In this embodiment, the input signal e(n) may be a residual signal or a prediction error signal, e.g. generated based on an original input signal by prediction, e.g. by linear predication. Accordingly, the residual signal which excludes the redundant signal is processed and encoded, to achieve a higher encoding efficiency.
[0058] According to an embodiment, the signal sample value prediction coefficients may be also used in the prediction process, by which the residual signal is obtained.
[0059] In an embodiment, the entropy encoder arrangement 300, e.g. the input 301, may include a signal separator configured to separate the plurality of signal sample values in the input signal into one or more non-fully predicated signal sample values and a plurality of fully predicted signal sample values. In another embodiment, the input signal may be separated in a predictor configured to generate the input signal, wherein one or more non-fully predicated signal sample values and the plurality of fully predicted signal sample values may be output separately. The signal separator is illustratively shown in the embodiment of Fig. 4 below.
[0060] Fig. 4 shows an entropy encoder arrangement according to another embodiment.
[0061] The entropy encoder arrangement 400 of Fig. 4 similarly include the input 301, the predictor coefficient determining circuit, the bit- shifter 305 and the entropy encoder 307 as described in Fig. 3 above. The entropy encoder arrangement 400 further includes an original input 401, a linear predictive encoder 409, a signal separator 411 and a multiplexer 413 as described in more detail below.
[0062] The original input 401 may receive an original signal X(n) (n=0, 1, N-l), which may be an audio signal, an image signal or a video signal.
[0063] The linear predictive encoder 409 is configured to receive the original signal X(n) and generate a residual signal e(n) (i.e. the input signal described in Fig. 3) based on the original input signal X(n).
[0064] In an embodiment, the linear predictive encoder 409 may perform the linear prediction using the signal sample value prediction coefficients.
[0065] According to an embodiment, the signal sample value prediction coefficients are partial correlation coefficients. In another embodiments, the signal sample value prediction coefficients may be determined from partial correlation coefficients. The partial correlation coefficients may be determined in accordance with Levinson-Durbin algorithm, for example.
[0066] In lossless coding, the linear predictive encoder 409 may be configured to generate the residual signal e(n) according to the following equation:
where n represents the time index, at , i - \,...,P represents the LPC coefficients and P is the prediction order.
[0067] In an embodiment, the linear predictive encoder 409 may include a lattice filter for performing the linear prediction. For example, LPC filter as in FIR (finite impulse response) filter format can be equivalently implemented as a lattice filter. [0068] Fig. 5 shows a lattice filter structure of a linear predictive encoder according to an embodiment.
[0069] In each stage of the lattice structure shown in Fig. 5, two types of prediction residuals are generated, the forward prediction error and the backward prediction
error as follows:
to obtain kt, wherein kt,i - l,...,P are partial correlation (PARCO) coefficients which may be calculated in accordance with the following equation:
wherein
wherein
ki represents the partial correlation coefficients,
P represents the order of the linear predictive encoder,
χ(ή) represents an original signal,
and
[0070] In an embodiment, the partial correlation coefficients are determined by the predictor coefficient determining circuit 303 as described in the embodiments above. In an embodiment, the signal sample value prediction coefficients, e.g. the partial correlation coefficients may be quantized before being used by the bit-shifter 305 and/or the linear predictive encoder 409. The quantization may be performed by the predictor coefficient determining circuit 303 or may be performed by a separate quantizer.
[0071] The lattice implementation of LPC filter not only provides fully predicted residual signal , but also the partially or non-fully predicted residuals
signal of each intermediate LPC order of
[0072] In an embodiment, the linear predictive encoder 409 is configured to output the fully predicted residual signal and the non-fully predicted residual signal separately, such that the fully predicted residual signal is directly input to the entropy encoder 307 for encoding, and the non-fully predicted residual signal is input to the bit-shifter 305 to provide a bit-shifted signal and a LSB signal as shown in Figs. 3 and 4.
[0073] In another embodiment, the linear predictive encoder 409 may be configured to output the fully predicted residual signal and the non-fully predicted residual signal in
one input signal to a signal separator 411. The signal separator 411 may be configured to separate the received input signal into the fully predicted residual signal and the non-fully predicted residual signal, which are then input to the entropy encoder 307 and the bit- shifter 305, respectively. The input 301 may include the signal separator 409.
[0074] In the random access mode of lossless coding, e.g. lossless audio coding, to make a randomly accessible data block decodable without referrmg to the previous decoded data block, the data from previous data block can not be used in calculating the prediction residual signal. For this reason, instead of using a full -order LPC predictor, the
residual samples of a randomly accessible data block e(n) are generated from order LPC predictor. That is,
[0075] Since those residual samples are generated from a reduced order LPC predictor, they may have a larger amplitude or energy compared to those generated from the full order LPC predictor (n > P). For example, the variance of the first P residual samples may be calculated to derive:
[0076] Based on the above derivation, it can be seen the variances of the non-fully predicted samples can be determined from that of the fully-predicted ones. Therefore, for optimal coding result, it is preferable to normalize those non-fully predicted samples so that their energy level matches that fully predicted ones before they are entropy coded. In an embodiment, the non-fully predicted samples e{n) can be normalized as follows:
wherein the normalization factors or scaled factors gn can be determined by:
wherein
ki represents partial correlation coefficients, and
P represents the order of the linear predictive encoder.
[0077] After the normalization, it can be shown from the equation (11) that the variances of the non-fully predicted residual sample values are now matched with that of the fully predicted residual sample values:
[0078] In order to make sure that the scaled residual samples are also integers for lossless coding, the scale factors gn may be further quantized into powers of 2 as follows:
wherein
sn is quantized scale factor, and may represent the number of least significant bits for the n4 non-fully predicted signal sample value of a signal block, and
denotes the largest integer not greater than x.
[0079] The number of least significant bits sn determined in accordance with the above description may be determined by the bit-shifter 305 dependent on one or more partial correlation coefficients h determined for the one or more non-fully predicted residual signal samples.
[0080] Once the number of least significant bitssn is obtained, the bit-shifter 305 is configured to normalize or bit-shift the non-fully predicted signal sample value e(n) by a bit-shifting operation in accordance with the following equation:
wherein e'(n) , 0 < n < P represents the scaled non-fully predicted residual sample value, or referred to as the bit-shifted signal sample value.
[0081] The bit-shifted signal sample value e'(n) , 0 < n < P are then provided to the entropy encoder 307 to be entropy encoded together with the fully predicted signal sample values, as shown in Fig. 4.
[0082] The entropy encoder 307 may be an arithmetic encoder, or may be a Huffman encoder, a Golomb encoder, a Rice encoder, or other types of entropy encoder.
[0083J The remaining bits shifting out in the bit-shifting operation given by:
can be directly transmitted as is using sn bits, or further entropy coded with a separate entropy coder dedicated to them. The remaining bits shifting out in the bit-shifting operation is also referred as a LSB signal r(n). At the decoder, once e'(n) and r(n) are decoded, the input signal e(n) can be losslessly restored as follows:
[0084] The entropy encoder arrangement 400 may further include a multiplexer 413 configured to multiplex the encoded bit-stream, the least significant bit signal and the signal sample value prediction coefficients. In an embodiment, the signal sample value prediction coefficients may be encoded before being input to the multiplexer for multiplexing. The multiplexer may output a compressed bit-stream, which may be transmitted and received by a corresponding entropy decoder arrangement for decoding, as described in more detail below.
[0085] In the above description, the bit-shifter is configured to determine the number of least significant bits in accordance with the equations (12) and (13).
[0086] In another embodiment, the bit-shifter may determine the number of least significant bits using a look-up table as described below. The look-up table may provide intermediate parameter values in correspondence with partial correlation coefficients,
wherein the intermediate parameter values may be used in the determination of the number of least significant bits to save computation cost and time.
[0087] The number of non-fully predicated sample values L may be determined by Z = min(P, 16) ,
wherein P represents the order of the linear predicative encoder 409.
[0088] The number of least significant bits shift[n] may be determined in accordance with the following equation:
wherein shift[n] represents the number of least significant bits, wherein the symbol shift[n] different from sn is utilized for illustration purpose. i¾ represents the partial correlation coefficients, which may be quantized partial correlation coefficients in an embodiments. RA_shiftl2[ak] and RA shiftfak] represent intermediate parameter values provided in a look-up table, e.g., in Table 1 and Table 2 below:
[0089] The following pseudo code illustrates the bit-shifting process or normalization process for the non-fully predicted signal sample values, which may be performed by the bit-shifter 305.
[0090] The symbol of the residual sample values (indicating whether the values are positive or negative) may be output in accordance with the following pseudo code:
[0091] In accordance with the various embodiments, by performing a bit-shifting on the first few residual signal sample values, the sequence of residual signal sample values can maintain a smaller dynamic range, which helps to improve the efficiency of the subsequent entropy encoding.
[0092] Fig. 6 shows an entropy decoder arrangement according to an embodiment.
[0093] The entropy decoder arrangement 600 is corresponding to the entropy encoder arrangement 300described in the above embodiments.
[0094] The entropy decoder arrangement 600 may include an input (not shown) configured to receive an encoded bit-stream, a least significant bit signal representing determined least significant bits for one or more non- fully predicted signal sample values, and signal sample value prediction coefficients.
[0095] The entropy decoder arrangement 600 may include an entropy decoder 601 configured to receive the encoded bit-stream, and to entropy decode the encoded bit- stream to generate decoded fully predicted signal sample values and decoded bit-shifted signal sample values.
[0096] The entropy decoder arrangement 600 may further include a bit-shifter 603 coupled to the input and the entropy decoder 601 and configured to receive decoded bit- shifted signal sample values and the least significant bit signal. The bit-shifter 603 is configured to determine a number of least significant bits depending on the signal sample value prediction coefficients for one or more non-fully predicted signal sample values. The bit-shifter 603 is also configured to restore one or more non-fully predicted signal sample values from the decoded bit-shifted signal sample values and the least significant bit signal using the determined number of least significant bits.
[0097] The entropy decoder arrangement 600 may further include a signal combiner 605 configured to receive the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values, and to generate a restored signal e(n) from the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values.
[0098] Fig. 7 shows an entropy decoder arrangement according to another embodiment.
[0099] The entropy decoder arrangement 700 is corresponding to the entropy encoder arrangement 400 described in the above embodiments.
[00100] Similar to the entropy decoder arrangement 600 of Fig. 6, the entropy decoder arrangement 700 includes the entropy decoder 601, the bit-shifter 603 and the signal combiner 605. The entropy decoder arrangement 700 further includes a de-multiplexer 701 and a linear predictive decoder 703 as described in more detail below.
[00101] The de-multiplexer 701 is configured to de-multiplex a received bit-stream to generate the encoded bit-stream, the least significant bit (LSB) signal, and the signal sample value prediction coefficients. The received bit-stream may be a compressed bit- stream generated by the entropy encoder arrangement 300, 400 described above. The encoded bit-stream is sent to the entropy decoder 601 for decoding, the LSB signal is sent to the bit-shifter 603 for signal restoration, and the signal sample value prediction coefficients are sent to the bit-shifter 603 and the linear predicative decoder 703 for their processing.
[00102] Similar to the description of Fig. 6 above, the restored signal e(n) is generated by combining the restored non-fully predicted signal sample values and the decoded fully
predicted signal sample values. The restored signal e(n) may represent a residual signal, which is obtained by removing redundant signal from an original signal as described in the entropy encoder arrangement 400 above.
[00103] The linear predictive decoder 703 is provided to restore a plurality of signal sample values X(n) from the restored signal e(n) including the restored non-fully predicted signal sample values and the decoded fully-predicted signal sample values. The restored signal sample values X(n) output from the linear predictive decoder may be the original signal before being encoded by the entropy encoder arrangement described above..
[00104] In an embodiment, the linear predictive decoder may include a lattice filter for performing the linear predictive decoding. In an embodiment, the linear predictive decoder may perform the linear predictive decoding using the signal sample value prediction coefficients.
[00105] According to an embodiment, the signal sample value prediction coefficients are partial correlation coefficients. In an embodiment, the partial correlation coefficients may be determined in accordance with Levinson-Durbin algorithm in the entropy encoder arrangement described above.
[00106] In an embodiment, the received signal sample value prediction coefficients may be quantized prediction coefficients as generated by the predictor coefficient determining circuit 303 of the entropy encoder arrangement 400 described above.
[00107] According to an embodiment, the bit-shifter 603 is configured to determine the number of least significant bits depending on the one or more signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample
values. In an embodiment, the number of least significant bits are determined in accordance with the following equation:
wherein
s„ represents the number of least significant bits for the ηΛ non-fully predicted signal sample value of a signal block,
ki represents partial correlation coefficients in the signal sample value prediction coefficients,
P represents the order of the linear predictive decoder, and
denotes the largest integer not greater than x.
[00108] In another embodiment, the bit-shifter is configured to determine the number of least significant bits using a look-up table. The look-up table may provide intermediate parameter values in correspondence with partial correlation coefficients, wherein the intermediate parameter values may be used in the determination of the number of least significant bits to save computation cost and time.
[00109] In another embodiment, the number of least significant bits may be transmitted by the entropy encoder arrangement 400 and may be received by the entropy decoder arrangement 700 for direct usage.
[00110] The entropy decoder 601 may be an arithmetic decoder, or may be a Huffman decoder, a Golomb decoder, a Rice decoder, or other types of entropy decoder.
[00111] The restored plurality of signal sample values X(n) output from the entropy decoder arrangement 700 may be an audio signal, an image signal, or a video signal.
[00112] The bit-shifting process performed by the bit-shifter 603 above is illustrated using the following pseudo code:
[00113] Fig. 8 shows a flowchart illustrating an entropy encoding method according to an embodiment.
[00114] At 801, an input signal is received, wherein the input signal includes a plurality of signal blocks and each signal block includes a plurality of signal sample values.
[00115] At 803, signal sample value prediction coefficients are determined using one or more signal sample values from the plurality of signal sample values.
[00116] At 805, a number of least significant bits are determined depending on the one or more signal sample value prediction coefficients determined for one or more non-fully predicted signal sample values out of the plurality of signal sample values.
[00117] At 807, a respective bit-shifted signal sample value shifted by the number of determined least significant bits for the respective signal sample value is provided, and a least significant bit signal representing the determined least significant bits for the respective signal sample value is provided.
[00118] At 809, fully predicted signal sample values out of the plurality of signal sample values and the bit-shifted signal sample values are entropy encoded to generate an encoded bit-stream.
[00119] Various embodiments described in the context of the entropy encoder arrangement 300, 400 above are analogously valid for the entropy encoding method.
[00120] Fig. 9 shows a flowchart illustrating an entropy decoding method according to an embodiment, corresponding to the entropy decoder arrangement 600, 700 described above.
[00121] At 901, an encoded bit-stream, a least significant bit signal representing determined least significant bits for one or more non-fully predicted signal sample values, and signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values are received.
[00122] At 903, the encoded bit-stream is entropy decoded to generate decoded fully predicted signal sample values and decoded bit- shifted signal sample values.
[00123] At 905, a number of least significant bits is determined depending on the signal sample value prediction coefficients.
[00124] At 907, one or more non-fully predicted signal sample values are restored from the decoded bit-shifted signal sample values and the least significant bit signal using the determined number of least significant bits.
[00125] At 909, a restored signal is generated from the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values.
[00126] Various embodiments described in the context of the entropy decoder arrangement 600, 700 are analogously valid for the entropy decoding method.
[00127] The various embodiments described in the context of the entropy encoder arrangement, entropy decoder arrangement, entropy encoding method and entropy decoding method may be implemented in AVS-P3 RMO platform to verify the performance. The encoding/decoding method used in MPEG-4 ALS is also implemented for comparison.
[00128] Fig. 10 shows the test results comparing the ALS method and the method of the embodiments.
[00129] The test sequences are two sets of AVS test sequences with different sampling rate (44.1 KHz and 32KHz). As shown in Fig. 10, the method of the embodiments achieves compression ratios comparable to the compression ratio achieved by the AVS method, and at the same time only requires a small encoding alphabet size.
[00130] While the invention has been particularly shown and described with reference to specific embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. The scope of the invention is thus indicated by the appended claims and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced.
Claims
claimed is: 1. An entropy encoder arrangement, comprising:
an input configured to receive an input signal, the input signal comprising a plurality of signal blocks, each signal block comprising a plurality of signal sample values;
a predictor coefficient determining circuit configured to determine signal sample value prediction coefficients using one or more signal sample values from the plurality of signal sample values;
a bit-shifter coupled to the input and configured to receive one or more non-fully predicted signal sample values out of the plurality of signal sample values, and to determine a number of least significant bits depending on the one or more signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values, and to provide a respective bit-shifted signal sample value shifted by the number of determined least significant bits for the respective signal sample value, and a least significant bit signal representing the determined least significant bits for the respective signal sample value; and an entropy encoder configured to entropy encode fully predicted signal sample values out of the plurality of signal sample values and the bit-shifted signal sample values to generate an encoded bit-stream.
2. The entropy encoder arrangement of claim 1, further comprising: a multiplexer configured to multiplex the encoded bit-stream, the least significant bit signal and the signal sample value prediction coefficients.
3. The entropy encoder arrangement of claim 1 or 2, further comprising:
a linear predictive encoder configured to generate non-fully predicted signal sample values and fully-predicted signal sample values from an original signal by linear prediction.
4. The entropy encoder arrangement of claim 3, wherein
the linear predictive encoder comprises a lattice filter.
5. The entropy encoder arrangement of any one of claims 1 to 4, wherein
the signal sample value prediction coefficients are partial correlation coefficients.
6. The entropy encoder arrangement of claim 5, wherein the
partial correlation coefficients are determined in accordance with Levinson- Durbin algorithm.
7. The entropy encoder arrangement of claim 5, wherein
wherein
wherein
represents the partial correlation coefficients,
P represents the order of the linear predictive encoder,
x{n) represents an original signal,
and
8. The entropy encoder arrangement of any one of claims 1 to 7, wherein
wherein s„ represents the number of least significant bits for the n non-fully predicted signal sample value of a signal block,
ki represents partial correlation coefficients,
P represents the order of the linear predictive encoder, and
denotes the largest integer not greater than x.
9. The entropy encoder arrangement of any one of claims 1 to 8, wherein
the input signal comprises an audio signal, an image signal, or a video signal.
10. An entropy decoder arrangement, comprising:
an input configured to receive an encoded bit-stream, a least significant bit signal representing determined least significant bits for one or more non-fully predicted signal sample values, and signal sample value prediction coefficients;
an entropy decoder configured to receive the encoded bit-stream, and to entropy decode the encoded bit-stream to generate decoded fully predicted signal sample values and decoded bit-shifted signal sample values;
a bit-shifter coupled to the input and the entropy decoder and configured to receive decoded bit-shifted signal sample values and the least significant bit signal, wherein the bit-shifter is configured to determine a number of least significant bits depending on the signal sample value prediction coefficients for one or more non-fully predicted signal sample values, and to restore one or more non-fully predicted signal sample values from the decoded bit-shifted signal sample values and the least significant bit signal using the determined number of least significant bits; and
a signal combiner configured to receive the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values, and to generate a restored signal from the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values.
11. The entropy decoder arrangement of claim 10, further comprising:
a de-multiplexer configured to de-multiplex a received bit-stream to generate the encoded bit-stream, the least significant bit signal, and the signal sample value prediction coefficients.
12. The entropy decoder arrangement of claim 10 or 11, wherein
the signal combiner comprises a linear predictive decoder configured to restore a plurality of signal sample values from the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values.
13. The entropy decoder arrangement of claim 12, wherein
the linear predictive decoder comprises a lattice filter.
14. The entropy decoder arrangement of any one of claims 10 to 13, wherein
the signal sample value prediction coefficients are partial correlation coefficients.
15. The entropy decoder arrangement of any one of claims 10 to 14, wherein the number of least significant bits are determined in accordance with the following equation:
wherein
s„ represents the number of least significant bits for the ηΛ non-fully predicted signal sample value of a signal block,
ki represents partial correlation coefficients in the signal sample value prediction coefficients,
P represents the order of the linear predictive decoder, and
denotes the largest integer not greater than x.
16. The entropy decoder arrangement of any one of claims 10 to 15, wherein
the restored signal comprises an audio signal, an image signal, or a video signal.
17. An entropy encoding method, comprising:
receiving an input signal, the input signal comprising a plurality of signal blocks, each signal block comprising a plurality of signal sample values;
determining signal sample value prediction coefficients using one or more signal sample values from the plurality of signal sample values; determining a number of least significant bits depending on the one or more signal sample value prediction coefficients determined for one or more non-fully predicted signal sample values out of the plurality of signal sample values, providing a respective bit-shifted signal sample value shifted by the number of determined least significant bits for the respective signal sample value, and a least significant bit signal representing the determined least significant bits for the respective signal sample value; and
entropy encoding fully predicted signal sample values out of the plurality of signal sample values and the bit-shifted signal sample values to generate an encoded bit-stream.
18. An entropy decoding method, comprising:
receiving an encoded bit-stream, a least significant bit signal representing determined least significant bits for one or more non-fully predicted signal sample values, and signal sample value prediction coefficients determined for the one or more non-fully predicted signal sample values;
entropy decoding the encoded bit-stream to generate decoded fully predicted signal sample values and decoded bit-shifted signal sample values;
determining a number of least significant bits depending on the signal sample value prediction coefficients,
restoring one or more non-fully predicted signal sample values from the decoded bit-shifted signal sample values and the least significant bit signal using the determined number of least significant bits; and generating a restored signal from the restored non-fully predicted signal sample values and the decoded fully predicted signal sample values.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG201004434-5 | 2010-06-21 | ||
SG201004434 | 2010-06-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011162723A1 true WO2011162723A1 (en) | 2011-12-29 |
Family
ID=45371689
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/SG2011/000220 WO2011162723A1 (en) | 2010-06-21 | 2011-06-21 | Entropy encoder arrangement and entropy decoder arrangement |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2011162723A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104392725A (en) * | 2014-12-02 | 2015-03-04 | 中科开元信息技术(北京)有限公司 | Method and device for hybrid coding/decoding of multi-channel lossless audios |
WO2017204704A1 (en) * | 2016-05-24 | 2017-11-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method, decoder and encoder for handling a bit stream for transmission over a transmission link between a remote unit and a base unit of a base station system |
US11329668B2 (en) | 2017-12-20 | 2022-05-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, decoder and encoder for handling a data stream for transmission between a remote unit and a base unit of a base station system |
WO2023086996A1 (en) * | 2021-11-15 | 2023-05-19 | Commscope Technologies Llc | Predictive channel estimation for low latency receiver |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2053749A2 (en) * | 2007-10-25 | 2009-04-29 | Sony Corporation | Encoding method and apparatus, and program |
-
2011
- 2011-06-21 WO PCT/SG2011/000220 patent/WO2011162723A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2053749A2 (en) * | 2007-10-25 | 2009-04-29 | Sony Corporation | Encoding method and apparatus, and program |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104392725A (en) * | 2014-12-02 | 2015-03-04 | 中科开元信息技术(北京)有限公司 | Method and device for hybrid coding/decoding of multi-channel lossless audios |
WO2017204704A1 (en) * | 2016-05-24 | 2017-11-30 | Telefonaktiebolaget Lm Ericsson (Publ) | Method, decoder and encoder for handling a bit stream for transmission over a transmission link between a remote unit and a base unit of a base station system |
US10855504B2 (en) | 2016-05-24 | 2020-12-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Method, decoder and encoder for handling a bit stream for transmission over a transmission link between a remote unit and a base unit of a base station system |
US11329668B2 (en) | 2017-12-20 | 2022-05-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods, decoder and encoder for handling a data stream for transmission between a remote unit and a base unit of a base station system |
WO2023086996A1 (en) * | 2021-11-15 | 2023-05-19 | Commscope Technologies Llc | Predictive channel estimation for low latency receiver |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10404984B2 (en) | Method and apparatus for pyramid vector quantization indexing and de-indexing of audio/video sample vectors | |
US8436755B2 (en) | Methods and devices for reducing sources in binary entropy coding and decoding | |
TWI453734B (en) | Method for encoding a symbol, method for decoding a symbol, method for transmitting a symbol from a transmitter to a receiver, encoder, decoder and system for transmitting a symbol from a transmitter to a receiver | |
US20090228284A1 (en) | Method and apparatus for encoding/decoding multi-channel audio signal by using a plurality of variable length code tables | |
US8558724B2 (en) | Coding method, coding appartaus, decoding method, decoding apparatus, program, and recording medium | |
NO341186B1 (en) | Selective application using multiple entropy models in adaptive coding and decoding | |
US8665945B2 (en) | Encoding method, decoding method, encoding device, decoding device, program, and recording medium | |
US8050334B2 (en) | Signal encoder, signal decoder, signal encoding method, signal decoding method, program, recording medium and signal codec method | |
US20100017196A1 (en) | Method, system, and apparatus for compression or decompression of digital signals | |
JP2019124947A (en) | Coding and decoding of spectral peak positions | |
US20160240206A1 (en) | Audio encoder and decoder | |
EP1847022B1 (en) | Encoder, decoder, method for encoding/decoding, computer readable media and computer program elements | |
WO2014096236A2 (en) | Signal adaptive fir/iir predictors for minimizing entropy | |
WO2011162723A1 (en) | Entropy encoder arrangement and entropy decoder arrangement | |
US20140006036A1 (en) | Method and apparatus for coding and decoding | |
US8576910B2 (en) | Parameter selection method, parameter selection apparatus, program, and recording medium | |
JP2004258603A (en) | Entropy encoding adapting encoding between level mode and run length/level mode | |
JP2005524300A (en) | Adaptive method and system for mapping parameter values to codeword indexes | |
JP4179638B2 (en) | Arithmetic encoding / decoding of digital information signals | |
JP2013130885A (en) | Encoding method, decoding method, apparatus thereof, program, and recording medium | |
US20100023575A1 (en) | Predictor | |
US8949117B2 (en) | Encoding device, decoding device and methods therefor | |
KR100686354B1 (en) | Huffman decoding method and device for using variable length tree | |
Wernik et al. | Lossless Audio Coding using Extended Activity Level Classification Model | |
WO2011129774A1 (en) | Probability table generator, encoder and decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11798489 Country of ref document: EP Kind code of ref document: A1 |
|
DPE1 | Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101) | ||
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11798489 Country of ref document: EP Kind code of ref document: A1 |