WO2011129774A1 - Probability table generator, encoder and decoder - Google Patents

Probability table generator, encoder and decoder Download PDF

Info

Publication number
WO2011129774A1
WO2011129774A1 PCT/SG2011/000151 SG2011000151W WO2011129774A1 WO 2011129774 A1 WO2011129774 A1 WO 2011129774A1 SG 2011000151 W SG2011000151 W SG 2011000151W WO 2011129774 A1 WO2011129774 A1 WO 2011129774A1
Authority
WO
WIPO (PCT)
Prior art keywords
mean
probability
index
frame
samples
Prior art date
Application number
PCT/SG2011/000151
Other languages
French (fr)
Inventor
Haibin Huang
Haiyan Shu
Rongshan Yu
Ti Eu Chan
Susanto Rahardja
Te Li
Original Assignee
Agency For Science, Technology And Research
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agency For Science, Technology And Research filed Critical Agency For Science, Technology And Research
Publication of WO2011129774A1 publication Critical patent/WO2011129774A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion 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 a probability table generator, a device including the probability table generator, an encoder, a decoder, a device including the encoder, a device including the decoder, and corresponding encoding methods and decoding methods for entropy encoding and decoding.
  • PDF probability density function
  • Various embodiments provide a probability table generator, an encoder, a decoder and corresponding encoding and decoding methods which realize a flexible solution to adapt to the real characteristics of the input signal without high requirement on memory space.
  • Various embodiments also provide an encoder, a decoder and corresponding encoding and decoding methods which improve encoding and decoding efficiency.
  • An embodiment provides a probability table generator for generating a probability table for entropy encoding a frame of a signal, wherein the frame includes a plurality of samples of the signal.
  • the probability table generator is configured to generate the probability table based on a probability template and a mean of the plurality of samples of the frame.
  • Another embodiment provides a probability table generator for generating a probability table for entropy decoding a frame of a signal, wherein the frame includes a plurality of samples of the signal.
  • the probability table generator is configured to generate the probability table based on a probability template and a mean of the plurality of samples of the frame.
  • a device e.g. an encoding device
  • a device e.g. a decoding device
  • a method for generating a probability table an encoding method including the method of generating a probability table
  • a decoding method including the method of generating a probability table
  • One embodiment provides an encoder for encoding a plurality of parameters, wherein each of said parameters is based on a mean of a plurality of samples of a respective frame of a signal.
  • the encoder includes a transformer configured to transform the plurality of parameters into a plurality of residual parameters based on progressive linear prediction, and the encoder is configured to encode the plurality of residual parameters
  • Another embodiment provides a decoder for decoding a plurality of encoded parameters, wherein each of said parameters is based on a mean of a plurality of samples of a respective frame of a signal.
  • the decoder is configured to decode the plurality of encoded parameters to generate a plurality of decoded residual parameters, and the decoder includes an inverse transformer configured to inversely transform the plurality of decoded residual parameters to reconstruct the plurality of parameters based on progressive linear prediction.
  • Fig. 1 shows a probability table generator according to an embodiment.
  • Fig. 2 shows a device according to an embodiment.
  • Fig. 3 shows a device according to another embodiment.
  • Fig. 4 shows a device according to a further embodiment.
  • Fig. 5 illustrates a plurality of PDF templates for various standard deviation.
  • Fig. 6 shows a probability table generator according to an embodiment.
  • Fig. 7 shows a device according to an embodiment.
  • Fig. 8 shows a device according to another embodiment.
  • Fig. 9 shows a device according to a further embodiment.
  • Fig. 10 shows a flowchart illustrating a probability table generating method according to an embodiment.
  • Fig. 11 shows a flowchart illustrating an encoding method according to an embodiment.
  • Fig. 12 shows a flowchart illustrating an encoding method according to another embodiment.
  • Fig. 13 shows a flowchart illustrating an encoding method according to a further embodiment.
  • Fig. 14 shows a flowchart illustrating a decoding method according to an embodiment.
  • Fig. 15 shows a flowchart illustrating a decoding method according to another embodiment.
  • Fig. 16 shows a flowchart illustrating a decoding method according to a further embodiment.
  • Fig. 17 shows an encoder according to an embodiment.
  • Fig. 18 shows a decoder according to an embodiment.
  • Fig. 19 shows an encoding method according to an embodiment.
  • Fig. 20 shows a decoding method according to an embodiment.
  • Fig. 21 shows a transformation based on multistage pair- wise integer transform in accordance with an embodiment.
  • Fig. 22 shows an exemplary embodiment of the pair-wise integer transform. Description
  • Various embodiments generate a probability table which is adapt to the characteristic of a signal to be encoded or decoded, thereby helping to achieve a good encoding or decoding performance in an efficient and resource-saving way.
  • Various embodiments transform a plurality of parameters to reduce redundancy and improve coding efficiency.
  • the probability table generator as described in this description may include a memory which is for example used in the processing carried out by the probability table generator.
  • the encoder, the decoder and the device 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).
  • the probability table generator, the encoder, the decoder and the device including the same as described in this description may be a probability table generation circuit, an encoding circuit, an decoding circuit and a 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.
  • One embodiment is directed to a probability table generator for generating a probability table for entropy encoding a frame of a signal, the frame including a plurality of samples of the signal.
  • the probability table generator is configured to generate the probability table based on a probability template and a mean of the plurality of samples of the frame.
  • the signal may include an audio signal, an image signal, or a video signal.
  • the signal may include a sequence of signals.
  • the signal may be partitioned or segmented into one or more frames, with each frame including a plurality of samples of the signal.
  • the probability table generator is configured to generate the probability table by scaling the probability template and re-sampling the scaled probability template based on the mean.
  • the probability table generator is configured to re-sample the scaled probability template by linear interpolation.
  • the probability template is a probability density function (the values of which are represented by y coordinate of a Cartesian coordinate plane) of a random variable (which is represented by x coordinate of the Cartesian coordinate plane).
  • the probability density function may be scaled in the direction of the random variable (i.e. in the x-axis direction) by a scaling factor.
  • the scaling factor may be determined based on the mean of the frame, so as to match the sample range in the frame.
  • the scaled probability density function is re-sampled at integer positions to obtain the corresponding values/entries of the probability table.
  • the probability table generator is configured to generate the probability table including a plurality of entries, wherein the entries correspond to a plurality of values of the probability template at a plurality of integer positions and the integer positions are determined based on the mean of the plurality of samples of the frame.
  • the correspondence made between the entries of the probability table and the values of the probability template at the plurality of integer positions provides for the scaling of the probability template based on the mean to match the sample range in the frame and re-sampling of the scaled probability at integer positions.
  • the integer positions are also referred to as integer indexes or integer sampling positions, at which the probability template is sampled to acquire a corresponding probability template value at these positions.
  • the probability table generator may be configured to generate the probability table based on the probability template and a de-quantized mean index.
  • the de-quantized mean index may be generated by quantizing the mean of the plurality of samples to generate a mean index, and de-quantizing the mean index is to generate the de-quantized mean index.
  • the probability table generator is configured to generate the probability table by scaling the probability template and resampling the scaled probability template based on the de-quantized mean index.
  • cp denotes the probability template value at symbol j
  • c. denotes the scaled probability template value at symbol i, denotes the largest integer not greater than x
  • mean denotes a de-quantized mean index, said de-quantized mean index being generated by de-quantizing a quantized mean.
  • c. may be the entries of the generated probability table, and cp j may be the plurality of values of the probability template at a plurality of integer -positions- V-wherein the integer positions / are determined-based-on-the-mean of the frame.
  • the probability template is scaled and re- sampled based on the mean.
  • the scaling factor of the scaling may be the de-quantized mean index mean .
  • the scaling factor may be the de-quantized mean index multiplied by a coefficient a, e.g., a ⁇ mean .
  • the scaled probability density function may be re-sampled by taking the values (e.g. c ) of the scaled function at integer positions i correspondingly.
  • the division by the de-quantized mean index in the mean above equation may be provided in a look-up table, such that the calculation of j is made with low complexity.
  • a - mean is taken as the scaling factor
  • integer positions j may be determined based on the mean of the frame according to other forms of equations varied from the above equation
  • the probability template may include a predetermined probability density function, for example, a probability density function predetermined for entropy encoding a predetermined type of signal.
  • the device may be an encoding device for data encoding.
  • the device e.g. the encoding device
  • the device may include an entropy encoder configured to entropy encoding the frame of the signal based on the probability table generated by the probability table generator. For example, the values of c. above in the probability table are used in accordance with common entropy encoding method by the entropy encoder for entropy encoding the frame of the signal.
  • the entropy encoder is an arithmetic encoder which encodes the frame of the signal using arithmetic encoding.
  • the arithmetic encoder uses the values of c. above in accordance with commonly used arithmetic encoding method to encode the frame of the signal.
  • the entropy encoder may be a Huffman encoder, a Golomb encoder, a Rice encoder, or other types of entropy encoder.
  • the device may include a probability template selection circuit configured to select the probability template from a look-up table including a plurality of probability templates. Each probability template may correspond to a probability density function.
  • the probability template selection circuit is configured to select the probability template based on a standard deviation of the plurality of samples of the frame. For example, if the standard deviation of the plurality of samples of the frame is 1.0, a probability density function corresponding to the standard deviation of 1.0 is selected as the probability template to be used in the device.
  • the device may include a standard deviation computation circuit configured to compute a standard deviation for the plurality of samples of the frame.
  • the device may further include a quantizer configured to quantize the standard deviation to generate a standard deviation index.
  • the probability template selection circuit may be configured to select the probability template based on the standard deviation index.
  • the device e.g. the encoding device
  • the standard deviation computation circuit may be configured to compute the standard deviation for the plurality of normalized samples of the frame.
  • the device may include an index encoder configured to encode the standard deviation index.
  • the device may further include a multiplexer configured to multiplex the encoded frame with the encoded standard deviation index to form a multiplexed bit-stream.
  • the device e.g. the encoding device
  • the device e.g. the encoding device
  • the device includes a mean computation circuit configured to compute the mean of the plurality of samples of the frame.
  • the device includes a quantizer configured to quantize the mean to generate a mean index, and a de-quantizer configured to de-quantize the mean index to generate a de-quantized mean index.
  • the de-quantized mean index may be used in generating the probability table as described in the above embodiments.
  • the device may include an index encoder configured to encode the mean index, and a multiplexer configured to multiplex the encoded frame with the encoded mean indexes.
  • the encoded mean indexes after being decoded, may be used in generating a probability table for decoding the encoded frame.
  • the index encoder may include a transformer configured to transform a plurality of mean indexes into a plurality of residual mean indexes based on progressive linear prediction, and the index encoder is configured to encode the residual mean indexes.
  • progressive linear prediction the mean indexes are transformed into residual mean indexes, which include less data content and the encoding of which helps to improve encoding efficiency.
  • another embodiment provides a corresponding method for generating a probability table for entropy encoding a frame of a signal, including the method implemented by the probability table generator described above.
  • a corresponding encoding method including the method for generating a probability table and implemented by the device for data encoding as described in the above embodiments, is provided in a further embodiment.
  • a method for generating a probability table for entropy encoding a frame of signal is provided.
  • the frame may include a plurality of samples of the signal.
  • the method includes generating the probability table based on a probability template and a mean of the plurality of samples of the frame.
  • the method may include generating the probability table by scaling the probability template and re-sampling the scaled probability template based on the mean.
  • the re-sampling of the scaled probability template is by linear interpolation.
  • the method may include generating the probability table including a plurality of entries, wherein the entries correspond to a plurality of values of the probability template at a plurality of integer positions and the integer positions are determined based on the mean of the plurality of samples of the frame.
  • the correspondence made between the entries of the probability table and the values of the probability template at the plurality of integer positions provides for the scaling of the probability template based on the mean to match the sample range in the frame and resampling of the scaled probability at integer positions.
  • the integer positions are also referred to as integer indexes or integer sampling positions, at which the probability template is sampled to acquire a corresponding probability template value at these positions.
  • generating the probability table is based on the probability template and the de-quantized mean index.
  • generating the probability table is by scaling the probability template and re- sampling the scaled probability template based on a de-quantized mean index.
  • the de-quantized mean index may be generated by quantizing the mean and de-quantizing the quantized mean.
  • the method includes generating the probability table in accordance with the following equation:
  • cp denotes the probability template value at symbol j
  • c. denotes the scaled probability template value at symbol i, denotes the largest integer not greater than x
  • mean denotes a de-quantized mean index, said de-quantized mean index being generated by de-quantizing a quantized mean.
  • c. may be the entries of the generated probability table, and cp j may be the plurality of values of the probability template at a plurality of integer positions j, wherein the integer positions j are determined based on the mean of the frame.
  • the probability template is scaled and re- sampled based on the mean.
  • the scaling factor of the scaling may be the de-quantized mean index mean .
  • the scaling factor may be the de-quantized mean index multiplied by a coefficient a, e.g., a - mean .
  • the scaled probability density function may be re-sampled by taking the values (e.g. c. ) of the scaled function at integer positions i correspondingly.
  • integer positions j may be determined based on the mean of the frame according to other forms of equations varied from the above equation
  • the probability template may include a predetermined probability density function.
  • an encoding method is provided.
  • the encoding method may include the various embodiments of the method for generating the probability table described above.
  • the encoding method include entropy encoding the frame based on the probability table. For example, the values of c. above in the probability table are used in accordance with commonly used entropy encoding method for entropy encoding the frame of the signal.
  • entropy encoding includes arithmetic encoding.
  • the entropy encoding may include one of Huffman encoding, Golomb encoding, Rice encoding, or other types of entropy encoding.
  • the encoding method may include selecting the probability template from a look-up table based on a standard deviation of the plurality of samples of the frame, wherein the look-up table includes a plurality of probability templates.
  • the encoding method may include computing a standard deviation for the plurality of samples of the frame, and quantizing the standard deviation to generate a standard deviation index. The selecting of the probability template may be based on the standard deviation index.
  • the encoding method may include normalizing the plurality of samples of the frame based on the mean of the plurality of samples. The encoding method may further include computing the standard deviation for the plurality of normalized samples of the frame.
  • the encoding method may include encoding the standard deviation index, and multiplexing the encoded frame with the encoded standard deviation index.
  • the encoding method may include partitioning the signal into one or more frames.
  • the encoding method may include computing the mean of the plurality of samples of the frame.
  • the encoding method may include quantizing the mean to generate a mean index.
  • the encoding method may include de-quantizing the mean index to generate a de- quantized mean index.
  • the encoding method may include encoding a plurality of mean indexes for a plurality of frames of the signal, and multiplexing the encoded frame with the encoded mean indexes.
  • encoding the mean indexes may include transforming the mean indexes into a plurality of residual mean indexes based on progressive linear prediction, and encoding the residual mean indexes.
  • Another embodiment provides a probability table generator for generating a probability table for entropy decoding an encoded frame of a signal, wherein the decoded frame includes a plurality of samples of the signal.
  • the probability table generator is configured to generate the probability table based on a probability template and a mean of the plurality of samples of the frame.
  • the probability table generator is configured to generate the probability table by scaling the probability template and re-sampling the scaled probability template based on the mean.
  • the probability table generator may be configured to re-sample the scaled probability template by linear interpolation.
  • the probability template is a probability density function (the values of which are represented by y coordinate of a Cartesian coordinate plane) of a random variable (which is represented by x coordinate of the Cartesian coordinate plane).
  • the probability density function may be scaled in the direction of the random variable (i.e. in the x-axis direction) by a scaling factor.
  • the scaling factor may be determined based on the mean of the frame, so as to match the sample range in the frame.
  • the scaled probability density function is re-sampled at integer positions to obtain the corresponding values/entries of the probability table.
  • the probability table generator may be configured to generate the probability table including a plurality of entries, wherein the entries correspond to a plurality of values of the probability template at a plurality of integer positions and the integer positions are determined based on the mean of the plurality of samples of the frame.
  • the correspondence made between the entries of the probability table and the values of the probability template at the plurality of integer positions provides for the scaling of the probability template based on the mean to match the sample range in the frame and re-sampling of the scaled probability at integer positions.
  • the integer positions are also referred to as integer indexes or integer sampling positions, at which the probability template is sampled to acquire a corresponding probability template value at these positions.
  • the probability table generator is configured to generate the probability table based on the probability template and a de-quantized mean index.
  • the de-quantized mean index is generated by de-quantizing a decoded mean index for the frame, and the decoded mean index is generated by decoding an encoded mean index.
  • the encoded mean index may be multiplexed with other encoded data in an encoded bit-stream, which is de-multiplexed to obtain the encoded mean index.
  • the probability table generator may be configured to generate the probability table by scaling the probability template and re-sampling the scaled probability template based on the de- quantized mean index, in an embodiment.
  • cpj denotes the probability template value at symbol j
  • c. denotes the scaled probability template value at symbol i
  • ⁇ _xj denotes the largest integer not greater than x
  • mean denotes a de-quantized mean index, said de-quantized mean index being generated by de-quantizing a decoded mean index for the frame.
  • c. may be the entries of the generated probability table, and cpj may be the plurality of values of the probability template at a plurality of integer positions j, wherein the integer positions j are determined based on the mean of the frame.
  • the probability template is scaled and re- sampled based on the mean.
  • the scaling factor of the scaling may be the de-quantized mean index mean .
  • the scaling factor may be the de-quantized mean index multiplied by a coefficient a, e.g., a - mean .
  • the scaled probability density function may be re-sampled by taking the values (e.g. c. ) of the scaled function at integer positions i correspondingly.
  • the division by the de-quantized mean index may be mean provided in a look-up table, such that the calculation of j is made with low complexity.
  • a - mean when taken as the scaling factor,— may be a ⁇ mean provided in a look-up table for easy storage of the look-up table.
  • integer positions j may be determined based on the mean of the frame according to other forms of equations varied from the above equation
  • the probability template used in the probability table generator may include a predetermined probability density function.
  • a further embodiment provides a device including the probability table generator described in the embodiments above.
  • the device may be a decoding device for data decoding.
  • the device may include an entropy decoder configured to entropy decode the encoded frame based on the probability table generated by the probability table generator. For example, the values of c. above in the probability table are used in accordance with commonly used entropy decoding method by the decoder for entropy decoding the encoded frame.
  • the entropy decoder may be an arithmetic decoder. In other embodiments, the entropy decoder may be a Huffman decoder, a Golomb decoder, a Rice decoder, or other types of entropy decoder.
  • the device may include a de-multiplexer configured to de-multiplex an encoded bit-stream to generate the encoded frame of the signal and an encoded mean index for the frame.
  • the encoded frame and the encoded mean index may be multiplexed into the encoded bit-stream during encoding.
  • the device e.g. the decoding device
  • the device includes an index decoder configured to decode the encoded mean index, and a de-quantizer configured to de-quantize the decoded mean index.
  • the probability table generator of the device may generate the probability table using the de-quantized mean index.
  • the de-quantizer may be included in the probability table generator in another embodiment.
  • the index decoder is configured to decode a plurality of encoded mean indexes.
  • the plurality of encoded mean indexes may have been encoded at an index encoder by transforming a plurality of mean indexes into a plurality of residual mean indexes based on progressive linear predication and encoding the plurality of residual mean indexes.
  • the transformation by the index encoder during the encoding of the mean indexes helps to reduce redundant data and improve encoding efficiency.
  • the index decoder may be configured to decode the plurality of encoded mean indexes to generate the plurality of decoded residual mean indexes, and the index decoder may include an inverse transformer configured to inversely transform the decoded residual mean indexes to reconstruct the plurality of mean indexes based on progressive linear prediction.
  • the de-quantizer may be configured to de-quantize the reconstructed mean indexes to generate de-quantized mean indexes, which may be used by the probability table generator in generating the probability table.
  • the device e.g. the decoding device further includes a probability template selection circuit configured to select the probability template from a look-up table including a plurality of probability templates. The selection may be based on a standard deviation of the plurality of samples of the frame in an embodiment.
  • the standard deviation information may be encoded during the encoding, and the device may receive the encoded standard deviation information and decode the encoded standard deviation information to reconstruct the standard deviation.
  • the device e.g. the decoding device
  • the device may include an index decoder configured to decode an encoded standard deviation index for the frame.
  • the probability template selection circuit may be configured to select the probability template from a look-up table based on the decoded standard deviation index.
  • another embodiment provides a corresponding method for generating a probability table for entropy decoding a frame of a signal, including the method implemented by the probability table generator described above.
  • a corresponding decoding method including the method for generating a probability table and implemented by the device for data decoding as described in the above embodiments, is provided in a further embodiment.
  • a method for generating a probability table for entropy decoding an encoded frame of a signal includes generating the probability table based on a probability template and a mean of the plurality of samples of the frame.
  • the method may include generating the probability table by scaling the probability template and re-sampling the scaled probability template based on the mean.
  • the re-sampling of the scaled probability template is by linear interpolation.
  • the method may include generating the probability table including a plurality of entries, wherein the entries correspond to a plurality of values of the probability template at a plurality of integer positions and the integer positions are determined based on the mean of the plurality of samples of the frame.
  • the correspondence made between the entries of the probability table and the values of the probability template at the plurality of integer positions provides for the scaling of the probability template based on the mean to match the sample range in the frame and resampling of the scaled probability at integer positions.
  • the integer positions are also referred to as integer indexes or integer sampling positions, at which the probability template is sampled to acquire a corresponding probability template value at these positions.
  • the method may include generating the probability table based on the probability template and a de-quantized mean index.
  • the de-quantized mean index may be generated by de-quantizing a decoded mean index for the frame, and the decoded mean index may be generated by decoding an encoded mean index.
  • generating the probability table is by scaling the probability template and re-sampling the scaled probability template based on the de-quantized mean index.
  • cp denotes the probability template value at symbol j
  • c. denotes the scaled probability template value at symbol i, denotes the largest integer not greater than x
  • mean denotes the de-quantized mean index, said de-quantized mean index being generated by de-quantizing a decoded mean index for the frame.
  • c. may be the entries of the generated probability table, and cp j may be the plurality of values of the probability template at a plurality of integer positions j, wherein the integer positions j are determined based on the mean of the frame.
  • the probability template is scaled and re- -sampled based-on-the-mean.
  • the division by the de-quantized mean index may be mean provided in a look-up table, such that the calculation of j is made with low complexity.
  • integer positions j may be determined based on the mean of the frame according to other forms of equations varied from the above equation
  • the probability template may include a predetermined probability density function.
  • a decoding method may include the various embodiments of the method for generating the probability table described above.
  • the decoding method include entropy decoding the encoded frame based on the probability table. For example, the values of c. above in the probability table are used in accordance with commonly used entropy decoding method for entropy decoding the encoded frame.
  • entropy decoding includes arithmetic decoding. In other embodiments, the entropy decoding may include one of Huffman decoding, Golomb decoding, Rice decoding, or other types of entropy decoding.
  • the decoding method may include de-multiplexing an encoded bit-stream to generate the encoded frame of the signal and an encoded mean index for the frame.
  • the decoding method may include decoding the encoded mean index, and de-quantizing the decoded mean index.
  • decoding the encoded mean index may include decoding a plurality of encoded mean indexes to generate a plurality of decoded residual mean indexes and inversely transforming the plurality of decoded residual mean indexes to reconstruct mean indexes based on progressive linear prediction.
  • the encoding method may include selecting the probability template from a look-up table based on a standard deviation of the plurality of samples of the frame, wherein the look-up table includes a plurality of probability templates.
  • the encoding method may include decoding an encoded standard deviation index for the frame, and selecting the probability template from a look-up table based on the decoded standard deviation index.
  • the look-up table includes a plurality of probability templates.
  • a further embodiment is directed to an encoder for encoding a plurality of parameters, wherein each of said parameters is based on a mean of a plurality of samples of a respective frame of a signal.
  • the mean information of the signal may be used in encoding the signal, and accordingly the encoded mean information may be provided at decoder side for decoding the encoded signal.
  • the encoder includes a transformer configured to transform the plurality of parameters into a plurality of residual parameters based on progressive linear prediction, and the encoder is configured to encode the plurality of residual parameters.
  • the encoder is configured to encode the plurality of residual parameters.
  • the transformer is configured to transform the plurality of parameters in accordance with the following equation:
  • N denotes the number of parameters
  • alpha(M,l) ...alpha ⁇ M,M) denote prediction coefficients of progressive linear prediction of order M
  • i'(n) denotes the nth residual parameter.
  • the transformer is configured to transform the plurality of parameters in accordance with other forms of equations based on progressive linear prediction.
  • one form of equation may be varied from the above equation by further including a constant item, b, in the equation.
  • the prediction coefficients alpha may be real numbers. The sum of the items to be subtracted from i(n) in the above equation, e.g., alpha(n,Y) * i(n - 1) + ... + alpha(n, n) * z(0) or alpha ⁇ n, ⁇ ) * i(n - 1) + ...
  • the transformer may further transform the residual parameter i ⁇ ri) to include an indication of whether the value of the residual parameter i' ⁇ n) is positive or negative. For example, if i'(ri) is equal to or above 0, '( «) is transformed to an even value 2- i'(n). If '( «) is below 0, i'(n) is transformed to an odd value -2 ⁇ z'( «)-l .
  • the plurality of parameters include a plurality of mean indexes of the respective frame of the signal, wherein each mean index is a quantized mean of the plurality of samples in the respective frame.
  • the plurality of parameters include a plurality of standard deviation indexes of the respective frame of the signal, wherein each standard deviation index is a quantized standard deviation of the plurality of samples in the respective frame.
  • the encoder may be configured to encode the plurality of residual parameters using entropy encoding.
  • the encoder may encode the plurality of residual parameters using one of Huffman encoding, Arithmetic encoding, Golomb encoding, Rice encoding and other entropy encoding methods.
  • Another embodiment provides a device including the encoder for encoding a plurality of parameters described above.
  • the device may be an encoding device for data encoding.
  • the device e.g. the encoding device
  • the device includes a framing circuit configured to partition the signal into one or more frames, wherein each frame includes a plurality of samples.
  • the device e.g. the encoding device
  • the device e.g. the encoding device
  • the device e.g. the encoding device
  • the device e.g. the encoding device
  • the device e.g. the encoding device
  • the standard deviation computation circuit may be configured to compute the standard deviation of the plurality of normalized samples in the respective frame as the respective standard deviation for the respective frame.
  • the device e.g. the encoding device
  • Another embodiment provides a method for encoding a plurality of parameters corresponding to the encoder as described above.
  • the method for encoding a plurality of parameters is provided, wherein each of the parameters is based on a mean of a plurality of samples of a respective frame of a signal.
  • the method may include transforming the plurality of parameters into a plurality of residual parameters based on progressive linear prediction, and encoding the plurality of residual parameters.
  • the method includes transforming the plurality of parameters in accordance with the following equation:
  • N denotes the number of parameters
  • alpha(M, 1) ...alpha(M,M) denote prediction coefficients of progressive linear prediction of order M
  • i'(n) denotes the nth residual parameter.
  • the method includes transforming the plurality of parameters in accordance with other forms of equations based on progressive linear prediction.
  • one form of equation may be varied from the above equation by further including a constant item in the equation.
  • the method may include transforming the plurality of parameters in accordance with other forms of equations described in the corresponding encoder above, and may further include transforming the parameters to include an indication of the positive or negative value of the parameters as described in _the_corresponding encoder above.
  • the plurality of parameters include a plurality of mean indexes of the respective frame of the signal, wherein each mean index is a quantized mean of the plurality of samples in the respective frame.
  • the plurality of parameters include a plurality of standard deviation indexes of the respective frame of the signal, wherein each standard deviation index is a quantized standard deviation of the plurality of samples in the respective frame.
  • the method may include encoding the plurality of residual parameters by entropy encoding.
  • the method may encode the plurality of residual parameters using one of Huffman encoding, Arithmetic encoding, Golomb encoding, Rice encoding and other entropy encoding methods.
  • Another embodiment provides an encoding method including the method for encoding a plurality of parameters described above.
  • the encoding method may be used to encode the signal.
  • the encoding method includes partitioning the signal into one or more frames, wherein each frame includes a plurality of samples.
  • the encoding method may further include computing a respective mean of the plurality of samples of the respective frame.
  • the encoding method includes quantizing the respective mean of the plurality of samples in the respective frame to generate a respective mean index.
  • the encoding method includes computing a respective standard deviation of the plurality of samples in the respective frame.
  • the encoding method may include quantizing the respective standard deviation to generate a respective standard deviation index.
  • the encoding method includes normalizing the plurality of samples in the respective frame based on the mean of the plurality of samples.
  • the encoding method may compute the standard deviation of the plurality of normalized samples in the respective frame as the respective standard deviation for the respective frame.
  • the encoding method may further include multiplexing the plurality of encoded parameters with encoded frames of the signal to generate an encoded bit-stream.
  • a further embodiment is directed to a decoder for decoding a plurality of encoded parameters, wherein each of the parameters is based on a mean of a plurality of samples of a respective frame of a signal.
  • the parameters may have been encoded at an encoder (e.g. the encoder for encoding a plurality of parameters as described above) by transforming the plurality of parameters into a plurality of residual parameters based on progressive linear prediction and encoding the plurality of residual parameters.
  • the decoder may be configured to decode the plurality of encoded parameters to generate a plurality of decoded residual parameters.
  • the decoder may include an inverse transformer configured to inversely transform the plurality of decoded residual parameters to reconstruct the plurality of parameters based on progressive linear prediction.
  • n 0,1,...,N i' (n) + alpha ⁇ n,X) */( « -!) +...+ alpha n, ri) * / ' (0), if ⁇ ⁇ n ⁇ M
  • the inverse transformer is configured to inversely transform the plurality of decoded residual parameters in accordance with other forms of equations based on progressive linear prediction.
  • one form of equation may be varied from the above equation by further including a constant item, b, in the equation.
  • the prediction coefficients alpha may be real numbers.
  • the sum of the items to be added to i(ri) in the above equation, e.g., alpha(n, ⁇ ) * i(n - 1) + ... + alpha(n, ri) * i(0) or alpha ⁇ n, ⁇ ) * i(n - 1) + ... + alpha(n, ri) * z ' (0) + b may be approximated to the largest integer not greater than the sum before the addition.
  • the decoded residual parameters may include an indication of whether their -values-are-positive or negativerergr- by-having-been further— transformed to be even value or odd value during the encoding of the residual parameters as described in the corresponding encoder above.
  • the inverse transformer of the decoder may transform the decoded residual parameter i'(ri) to reconstruct its positive or negative value. For example, if i'(n) is an even value, i '(n) is divided by 2. If i'(n) is an odd value, i'(n) is transformed to be (-2 ⁇ z'(n)-l)/2. The thus transformed i'(n) may be approximated to the largest integer not greater than '( «), in an embodiment.
  • the plurality of reconstructed parameters include a plurality of mean indexes of the respective frame of the signal, wherein each mean index is a quantized mean of the plurality of samples in the respective frame.
  • the plurality of reconstructed parameters include a plurality of standard deviation indexes of the respective frame of the signal, wherein each standard deviation index is a quantized standard deviation of the plurality of samples in the respective frame.
  • the decoder may be configured to decode the plurality of encoded parameters using entropy decoding.
  • the decoder may decode the plurality of encoded parameters using one of Huffman decoding, Arithmetic decoding, Golomb decoding, Rice decoding and other entropy decoding methods.
  • Another embodiment provides a device including the decoder for decoding a plurality of encoded parameters described above.
  • the device may be a decoding device for data decoding.
  • the device e.g. the decoding device
  • the device may include a de- quantizer configured to de-quantize the plurality of mean indexes to generate a plurality of de-quantized mean indexes for decoding encoded frames of the signal.
  • the device e.g. the decoding device
  • the device e.g. the decoding device
  • the plurality of encoded parameters are decoded by the decoder described above.
  • Another embodiment provides a method for decoding a plurality of encoded parameters corresponding to the decoder as described above.
  • the method for decoding a plurality of parameters is provided, wherein each of the parameters is based on a mean of a plurality of samples of a respective frame of a signal.
  • the method may include decoding the plurality of encoded parameters to generate a plurality of decoded residual parameters, and inversely transforming the plurality of decoded residual parameters to reconstruct the plurality of parameters based on progressive linear prediction.
  • the method includes inversely transforming the plurality of decoded residual parameters in accordance with the following equation:
  • N denotes the number of parameters
  • alpha(M, l) ...alpha(M,M) denote prediction coefficients of progressive linear prediction of order M
  • i n denotes the nth reconstructed parameter.
  • the method includes inversely transforming the plurality of decoded residual parameters in accordance with other forms of equations based on progressive linear prediction.
  • one form of equation may be varied from the above equation by further including a constant item in the equation.
  • the method may inversely transform the plurality of decoded residual parameters in accordance with the embodiments described in relation to the corresponding decoder above.
  • the plurality of reconstructed parameters include a plurality of mean indexes of the respective frame of the signal, wherein each mean index is a quantized mean of the plurality of samples in the respective frame.
  • the plurality of reconstructed parameters include a plurality of standard deviation indexes of the respective frame of the signal, wherein each standard deviation index is a quantized standard deviation of the plurality of samples in the respective frame.
  • the method may include decoding the plurality of encoded parameters using entropy decoding. In various embodiments, the method may include decoding the plurality of encoded parameters using one of Huffman decoding, Arithmetic decoding, Golomb decoding, Rice decoding and other entropy decoding methods.
  • Another embodiment provides a decoding method including the method for decoding a plurality of encoded parameters described above.
  • the decoding method includes de-quantizing a plurality of mean indexes to generate a plurality of de-quantized mean indexes for decoding encoded frames of the signal.
  • the decoding method includes de-quantizing a plurality of standard deviation indexes to generate a plurality of de-quantized standard deviation indexes for decoding encoded frames of the signal.
  • the decoding method may further includes de-multiplexing an encoded bit- stream to generate encoded frames of the signal and the plurality of encoded parameters.
  • the plurality of encoded parameters are decoded by the decoder described above.
  • Fig. 1 shows a probability table generator according to an embodiment.
  • the probability table generator 100 receives a probability template 101 and a mean 103.
  • the probability template 101 may be a predetermined probability template or a probability template selected from a look-up table.
  • the mean 103 is a mean of a plurality of samples of a frame of a signal.
  • the probability table generator 100 is configured to generate a probability table 105 for entropy encoding the frame, based on the probability template 101 and the mean 103.
  • the probability table generator 100 may be configured to scale the probability template 101 and re-sample the scaled probability template 101 based on the mean 103, thereby generating the probability table 105.
  • the probability template 101 is a probability density function (the values of which are represented by y coordinate of a Cartesian coordinate plane) of a random variable (which is represented by x coordinate of the Cartesian coordinate plane).
  • the probability density function may be scaled in the direction of the random variable (i.e. in the x-axis direction) by a scaling factor.
  • the scaling factor may be determined based on the mean 103 of the frame, so as to match the sample range in the frame.
  • the scaled probability density function is re-sampled at integer positions to obtain the corresponding values/entries of the probability table 105.
  • the probability table generator 100 is configured to generate the probability table 105 including a plurality of entries, wherein the entries correspond to a plurality of values of the probability template 101 at a plurality of integer positions and the integer positions are determined based on the mean 103 of the plurality of samples of the frame.
  • the correspondence made between the entries of the probability table 105 and the values of the probability template 101 at the plurality of integer positions provides for the scaling of the probability template based on the mean 103 to match the sample range in the frame and re-sampling of the scaled probability at integer positions.
  • the mean 103 may be processed before being utilized by the probability table generator 100.
  • the mean 103 may be quantized to generate a mean index, and the mean index may be de-quantized to generate a de- quantized mean index 103.
  • the mean index may be stored or transmitted for decoding purposes.
  • the probability table generator 100 may be configured to scale and re-sample the probability template 101 using the de-quantized mean index 103.
  • cp denotes the probability template value at symbol j
  • c. denotes the scaled probability template value at symbol i
  • ⁇ _xj denotes the largest integer not greater than x
  • mean denotes the de-quantized mean index.
  • c. may be the entries of the generated probability table
  • cp j may be the plurality of values of the probability template at a plurality of integer positions j, wherein the integer positions j are determined based on the mean of the frame.
  • the probability template is scaled and re- sampled based on the mean.
  • the scaling factor of the scaling may be the de-quantized mean index mean .
  • the scaling factor may be the de-quantized mean index multiplied by a coefficient a, e.g., a ⁇ mean .
  • the scaled probability density function may be re-sampled by taking the values (e.g. c. ) of the scaled function at integer positions i correspondingly.
  • the division by the de-quantized mean index ⁇ may be mean provided in a look-up table, such that the calculation of j is made with low complexity.
  • a ⁇ mean may be taken as the scaling factor,— may be a ⁇ mean provided in a look-up table for easy storage of the look-up table.
  • integer positions j may be determined based on the mean of the frame according to other forms of equations varied from the above equation
  • the probability table generator 100 may be configured to generate a plurality of probability tables for entropy encoding a plurality of frames of the signal, based on one or more probability templates and a plurality of means corresponding to the plurality of frames, which is not described in detail for brevity.
  • Fig. 2 shows a device according to an embodiment.
  • the device is for data encoding, and may be referred to as an encoding device or an encoder.
  • the encoder 200 may include the probability table generator 100 as described above.
  • the encoder 200 receives a signal to be encoded, which may include a plurality of frames.
  • the encoder 200 includes a mean computation unit 210 configured to compute a mean for a frame.
  • the mean is provided to the probability table generator 100.
  • the probability table generator 100 generates a probability table based on the mean and a probability template 220 provided from a probability template unit 220.
  • the probability template unit 220 may save a predefined probability table, or may include a plurality of probability templates for selection.
  • the encoder 200 further includes an entropy encoder 230 configured to entropy encode the signal based on the generated probability table.
  • the entropy encoder 230 configured to entropy encode the signal based on the generated probability table.
  • 230 may be an encoder selected from an Arithmetic encoder, a Huffman encoder, a
  • Golomb encoder a Rice encoder and other types of entropy encoders.
  • Fig. 3 shows a device according to another embodiment.
  • the device is for data encoding, and may be referred to as an encoding device or an encoder.
  • the encoder 300 may include a probability table generator 100, a mean computation unit 210, a probability template unit 220, and an entropy encoder 230 similar to those described in Fig. 2 above.
  • the encoder 200 may include a framing unit 310 which processes an input signal to be encoded.
  • the input signal may include a sequence of random signals.
  • the random signals may be audio signals, image pixel signals, video signals, etc. Accordingly, the encoder described in this description may be used for audio coding, image coding and video coding.
  • the framing unit 310 is configured to partition or segment an input signal into frames or blocks of a plurality of samples, such that the signal is encoded frame by frame.
  • a block of samples is also known as a frame of samples, and the terms "block” and "frame” may be used interchangeably in this context.
  • the mean computation unit 210 is configured to receive the frames, and compute a mean of a plurality of samples for each frame according to the following equation:
  • the encoder 300 includes an quantizer 330 configured to quantize the mean for each frame to generate an integer-valued index, also referred to as a mean index.
  • the quantizer 330 may be configured to quantize the mean value in accordance with a non-linear quantizer, for example, in accordance with the following equation:
  • s denotes the mean index after quantization
  • q is a scaling factor used to determine the quantization resolution of the quantization.
  • the value of q determines the trade-off between the accuracy of the quantization, which in turn will affect the overall coding efficiency, and the side information required to transmit the mean index to the decoder.
  • the actual value of q can be determined by experiment. For example, in lossless coding of 16-bit quantized audio signal, q - 3 is a good trade-off to deliver good overall performance.
  • the probability table generator 100 is configured to generate a probability table by scaling a probability template provided by the probability template unit 220 and interpolating the probability template under the control of the mean index.
  • the probability template unit 220 may save a predefined probability template, or may include a plurality of probability templates for selection.
  • the probability table generator 100 is configured to generate the probability table including a plurality of entries, wherein the entries correspond to a plurality of values of the probability template at a plurality of integer positions and the integer positions are determined based on the mean of the plurality of samples of the frame.
  • the correspondence made between the entries of the probability table and the values of the probability template at the plurality of integer positions provides for the scaling of the probability template based on the mean to match the sample range in the frame and re-sampling of the scaled probability at integer positions.
  • the encoder 300 further includes a de-quantizer 340 configured to de-quantize the mean index to generate a de-quantized mean index. Accordingly, the mean may be recovered by de-quantizing the mean index using the de- quantizer 340, and may be used to control the scaling and re-sampling of the probability template by the probability table generator 100.
  • the probability table generator 100 is configured to scale the probability template including a sampled PDF (probability density function) by the de-quantized mean index to match the sample range in the current frame of samples.
  • the sampled probability density function of a random variable may be scaled in the direction of the random variable (e.g. in the x-axis direction of a Cartesian coordinate plane) by a scaling factor.
  • the scaling factor may be determined based on the de-quantized mean index of the current frame.
  • the sampling points of the scaled sampled PDF are generally not at integer positions.
  • the scaled sampled PDF is re-sampled at integer positions to generate the probability table, e.g. to generate the corresponding values/entries of the probability table.
  • the scaled sampled PDF can be re- sampled by linear interpolation.
  • cpj denotes the probability template value at symbol j
  • c denotes the scaled probability template value at symbol i
  • _xj denotes the largest integer not greater than x
  • mean denotes the de-quantized mean index.
  • the integer positions j may be determined based on the mean of the frame according to other forms of equations varied from the above equation j + 0.5 mean
  • the entropy encoder 230 included in the encoder 300 is configured to entropy encode the plurality of samples in each frame based on the probability table generated by the probability table generator 100.
  • the entropy encoder 230 is an arithmetic encoder configured to arithmetic encode the plurality of samples based on the probability table, thereby generating an arithmetic coded (AC) bit-stream.
  • the encoder may further include an index encoder 350 configured to encode the mean indexes generated by the mean computation unit 210 and the quantizer 330.
  • the index encoder 350 may be configured to encode the mean indexes using entropy encoding, such as differential encoding, Rice encoding and Huffman encoding. Various embodiments of the index encoder 350 will be described in more detail below.
  • the encoder may include a multiplexer 360, also referred to as a bit-stream multiplexer, which is configured to multiplex or pack the encoded frame (e.g. the arithmetic coded bit-stream) with the encoded mean indexes into an encoded bit-stream.
  • a multiplexer 360 also referred to as a bit-stream multiplexer, which is configured to multiplex or pack the encoded frame (e.g. the arithmetic coded bit-stream) with the encoded mean indexes into an encoded bit-stream.
  • Fig. 4 shows a device according to a further embodiment.
  • the device is for data encoding, and may be referred to as an encoding device or an encoder.
  • the encoder 400 similar to the encoder 300 of Fig. 3, includes a framing unit 310, a mean computation unit 210, a quantizer 330, a de-quantizer 340, a probability table generator 100, an entropy encoder 230, an index encoder 350, and a multiplexer 360, which are similar to those in Figs. 1 to 3 described above.
  • the encoder 400 is different from the above embodiments in that a probability template selection unit 440 and various units related to probability template selection are provided in the encoder 400.
  • the framing unit 310 of the encoder 400 is configured to partition or segment an input signal into one or more frames, each including a plurality of samples.
  • the mean computation unit 210 is configured to receive the frames and compute a mean of a plurality of samples for each frame according to the above equation (2), for example.
  • the quantizer 330 is configured to quantize the mean for each frame to generate a mean index.
  • the quantizer 330 may be configured to quantize the mean value in accordance with a non-linear quantizer, for example, in accordance with the above equation (3).
  • the de-quantizer 340 is configured to de- quantize the mean index to generate a de-quantized mean index. The de-quantization may be performed in accordance with the above equation (4), in an embodiment.
  • the encoder 400 includes a normalization unit 410 configured to normalize the plurality of samples of each frame based on the mean of each frame.
  • the normalization of the samples maybe performed in accordance with the following equation:
  • a standard deviation computation unit 420 is included in the encoder 400 to compute a standard deviation (std) for each frame of normalized samples.
  • the standard deviation computation unit 420 may be configured to perform the computation in accordance with the following equation: [00182]
  • a further quantizer 430 is provided to quantize the standard deviation to generate an integer-valued index for the samples of each frame. This integer- valued index is also referred to as a standard deviation index.
  • the standard deviation is input to a probability template selection unit 440 of the encoder.
  • the probability template selection unit 440 the standard deviation is used to select a probability template from a look-up table (not shown).
  • the probability template selection unit 440 is configured to select a probability template based on the standard deviation index.
  • the look-up table includes a set of probability template entries.
  • the set of probability template may be predetermined.
  • Each probability template entry in the lookup table includes a sampled probability density function (PDF).
  • PDFs can be obtained or computed either by training with real samples, or by using known functions such as exponential, normal, generalized Gaussian, etc.
  • An example of the PDF templates for different standard deviation values are shown in Fig. 5.
  • a fixed probability density function used in conventional encoders may not properly represent the probability distribution of different signals to be compressed.
  • a look-up table with a large number of probability templates is normally required in order to adapt to the characteristics of various signals, which would require more memory space and compromise encoding performance.
  • the various embodiments only require a small number of probability templates in the look-up table, which may be further processed to generate a probability table adapted to the characteristics of the input signal.
  • the number of probability templates in the look-up table for selection is kept small to dynamically generate the probability table. In one example, a 448-word table is generated. This may reduce the memory footprint, and the use of simple interpolation also translates to minimal computational overheads.
  • the probability table generator 100 is configured to scale the selected probability template based on the de-quantized mean index to match the sample range in the current frame of samples.
  • the scaled PDF is re-sampled at integer positions to generate the probability table.
  • the scaled sampled PDF can be re-sampled by linear interpolation.
  • the probability table generator 100 may be configured to scale and re-sample the sampled PDF according to the equation (1) described above.
  • the entropy encoder 230 included in the encoder 400 is configured to entropy encode the plurality of samples in each frame based on the probability table generated by the probability table generator 100.
  • the entropy encoder 230 is an arithmetic encoder configured to arithmetic encode the plurality of samples based on the probability table, thereby generating an arithmetic coded (AC) bit-stream.
  • the index encoder 350 is configured to encode the mean indexes generated by the mean computation unit 210 and the quantizer 330, and to encode the standard deviation indexes generated by the standard deviation computation unit 420 and the quantizer 430. Various embodiments of the index encoder 350 will be described in more detail below. [00191] In one embodiment, the index encoder 350 is configured to encode the mean indexes and the standard deviation indexes for a plurality of frames by direct entropy encoding.
  • the index encoder 350 is configured to integer transform N indexes into one index value and N-l residual values to remove the redundancy existing among the indexes. After the transformation, the coding efficiency of the residual values is in general higher than that of the original indexes, leading to a more efficient coding system.
  • the integer transformation can be performed based on progressive linear prediction in one embodiment, or based on multistage pair- wise integer transform in another embodiment.
  • the multiplexer 360 is configured to multiplex the encoded frame (e.g. the arithmetic coded bit-stream) with the encoded mean indexes and the encoded standard deviation indexes, to generate an encoded bit-stream.
  • the encoded frame e.g. the arithmetic coded bit-stream
  • the encoded mean indexes and the encoded standard deviation indexes to generate an encoded bit-stream.
  • the probability template that best matches the distribution of the input signal is selected based on the standard deviation information of the input signal.
  • the mean information is used to scale the selected probability template to the dynamic range of the signal.
  • the signal to be encoded may be pre-processed to generate predicted residual data, and the embodiments of the encoders described above may be used for encoding the predicted residual data to provide predicted residual compression.
  • Fig. 6 shows a probability table generator according to an embodiment.
  • the probability table generator 600 is similar to the probability table generator
  • the probability table generator 600 is used for entropy decoding an encoded frame of signal. Similar to Fig. 1, the probability table generator 600 is configured to generate a probability table 605 based on a probability template 601 and a mean 603, for entropy decoding the frame.
  • the mean 603 may be the mean of a plurality of samples of a frame of a signal received by the probability table generator 600, or may be the mean information of the frame decoded from an encoded bit-stream.
  • the probability table generator 600 may be configured to scale the probability template 601 and re-sample the scaled probability template 601 based on the mean 603, thereby generating the probability table 605.
  • the probability table generator 100 may be configured to generate the probability table 105 according to the equation (1) above.
  • Fig. 7 shows a device according to an embodiment.
  • the device is for data decoding, and may be referred to as a decoding device or an decoder.
  • the decoder 700 includes the probability table generator 600 of Fig. 6.
  • the probability table generator 600 is configured to generate a probability table based on the mean information and a probability template provided by a probability template unit 720.
  • the decoder 700 further includes an entropy decoder 730 configured to decode an encoded signal based on the generated probability table.
  • the encoded signal may include a plurality of encoded frames, and may be the arithmetic encoded bit-stream described in Figs. 3 and 4 above.
  • Fig. 8 shows a device according to another embodiment.
  • the device is for data decoding, and may be referred to as a decoding device or an decoder.
  • the decoder 800 corresponds to the encoder 300 of Fig. 3.
  • the decoder 800 includes a de-multiplexer 810, also referred to as a bit- stream de-multiplexer, which is configured to receive an encoded bit-stream and split the encoded bit-stream to encoded frames of a signal and encoded indexes.
  • the encoded indexes include encoded mean indexes.
  • the encoded frames of the signal may be the arithmetic encoded bit-stream described in Figs. 3.and 4 above.
  • the decoder 800 includes an index decoder 820 configured to decode the encoded mean index to acquire the mean indexes.
  • the index decoder 820 may be an entropy decoder, in an example. Various embodiments of the index decoder 820 will be described in more detail below.
  • a de-quantizer 830 is provided to de-quantize the mean indexes to generate de-quantized mean indexes.
  • the probability table generator 600 may be configured to generate the probability table based on the de-quantized mean indexes and the probability template provided by the probability template unit 720. In an embodiment, the generation of the probability table is in accordance with the equation (1) described above.
  • the entropy decoder 730 is configured to entropy decode the encoded frames based on the probability table, thereby generating a decoded signal.
  • the entropy decoder 730 may be an arithmetic decoder, a Huffman decoder, a Golomb decoder, a Rice decoder, etc.
  • Fig. 9 shows a device according to a further embodiment.
  • the device is for data decoding, and may be referred to as a decoding device or an decoder.
  • the decoder 900 corresponds to the encoder 400 of Fig. 4.
  • the decoder 900 is similar to the decoder 800 of Fig. 8, and includes the de-multiplexer 810, the index decoder 820, the de-quantizer 830, the probability table generator 600 and the entropy decoder 730 described above.
  • an encoded bit-stream received by the de-multiplexer 810 may include encoded standard deviation indexes. Accordingly, the index decoder 820 is configured to decode the encoded standard deviation indexes output from the demultiplexer 810.
  • the decoder 900 includes a probability template selection unit 910.
  • the probability template selection unit 910 is configured to receive the decoded standard deviation indexes, and select a probability template from a look-up table based on the decoded standard deviation index.
  • the probability table generator 600 uses the selected probability template and the de-quantized mean indexes to generate a probability table, which is used by the entropy decoder 730 to decode the encoded frames.
  • the generation of the probability table based on the de-quantized mean index and the selection of the probability template based on the standard deviation index are similar to those described in the encoders of Figs. 2 to 4.
  • Fig. 10 shows a flowchart illustrating a probability table generating method according to an embodiment.
  • a probability template and a mean of a plurality of samples of a frame of a signal are received.
  • a probability table is generated based on the probability template and the mean.
  • the probability table is generated by scaling a probability template and re-sampling the scaled probability template based on the mean.
  • the probability table including a plurality of entries is generated, wherein the entries correspond to a plurality of values of the probability template at a plurality of integer positions and the integer positions are determined based on the mean of the plurality of samples of the frame. The correspondence made between the entries of the probability table and the values of the probability template at the plurality of integer positions provides for the scaling of the probability template based on the mean to match the sample range in the frame and re-sampling of the scaled probability at integer positions.
  • Fig. 1 1 shows a flowchart illustrating an encoding method according to an embodiment.
  • a probability template and a mean of a plurality of samples of a frame of a signal are received.
  • the probability template is scaled and the scaled probability template is re-sampled based on the mean, thereby generating a probability table.
  • Fig. 12 shows a flowchart illustrating an encoding method according to another embodiment.
  • a signal is partitioned into one or more frames, wherein each frame includes a plurality of samples.
  • a mean of the plurality of samples of a frame is computed.
  • the mean is quantized to generate a mean index.
  • the mean index is de-quantized to generate a de-quantized mean index.
  • a probability template is scaled and the scaled probability template is re-sampled based on the de-quantized mean index, thereby generating a probability table.
  • the frame of the signal is encoded based on the probability table.
  • the mean index is encoded.
  • the encoded frame and the encoded index are multiplexed to generate an encoded bit-stream.
  • FIG. 13 shows a flowchart illustrating an encoding method according to a further embodiment.
  • a signal is partitioned into one or more frames, wherein each frame includes a plurality of samples.
  • a mean of the plurality of samples of a frame is computed.
  • the mean is quantized to generate a mean index.
  • the mean index is de-quantized to generate a de-quantized mean index.
  • the plurality of samples of the frame are normalized based on the mean.
  • the standard deviation is quantized to generate a standard deviation index.
  • a probability template is selected from a look-up table based on the standard deviation index.
  • a probability template is scaled and the scaled probability template is re-sampled based on the de-quantized mean index, thereby generating a probability table.
  • the frame of the signal is encoded based on the probability table.
  • the mean index and the standard deviation index are encoded.
  • the encoded frame and the encoded indexes are multiplexed to generate an encoded bit-stream.
  • the probability table generating method and the encoding methods described in Figs. 10 to 13 are corresponding to the probability generator 100 and the encoder 200, 300, 400 described above, and may include various embodiments as described in relation to Figs. 1 to 4 above.
  • Fig. 14 shows a flowchart illustrating a decoding method according to an embodiment.
  • a probability template and a mean of a plurality of samples of a frame of a signal are received.
  • the probability template is scaled and the scaled probability template is re-sampled based on the mean, thereby generating a probability table.
  • an encoded frame of the signal is decoded based on the probability table.
  • FIG. 15 shows a flowchart illustrating a decoding method according to another embodiment.
  • an encoded bit-stream is de-multiplexed to generate an encoded frame of a signal and an encoded mean index for the frame.
  • the encoded mean index is decoded.
  • the decoded mean index is de-quantized to generate a de-quantized mean index.
  • the probability template is scaled and the scaled probability template is re-sampled based on the mean, thereby generating a probability table.
  • the encoded frame of the signal is decoded based on the probability table.
  • FIG. 16 shows a flowchart illustrating a decoding method according to a further embodiment.
  • an encoded bit-stream is de-multiplexed to generate an encoded frame of a signal and encoded indexes for the frame.
  • the encoded indexes are decoded to generate a decoded mean index and a decoded standard deviation index.
  • a probability template is selected from a look-up table based on the decoded standard deviation index.
  • the decoded mean index is de-quantized to generate a de-quantized mean index.
  • the probability template is scaled and the scaled probability template is re-sampled based on the mean, thereby generating a probability table.
  • the encoded frame of the signal is decoded based on the probability table.
  • Fig. 17 shows an encoder according to an embodiment.
  • the encoder 1700 may be the index encoder 350 of Figs. 3 and 4.
  • the encoder 1700 may be a component included in the context of the device (e.g. the encoding device or the encoder) 300, 400 in Figs. 3 and 4 for entropy encoding a signal.
  • the encoder 1700 is used for encoding a plurality parameters, wherein each of the parameters is based on a mean of a plurality of samples of a respective frame of a signal.
  • the plurality of parameters may include the mean indexes described in the various embodiments above.
  • the encoder 1700 includes a transformer 1701 configured to transform the plurality of parameters into a plurality of residual parameters based on progressive linear prediction.
  • the transformation based on progressive linear prediction is a redundancy removal process for the plurality of parameters to be encoded.
  • the plurality of parameters may be transformed based on progressive linear prediction of a selected order M.
  • the value of M may be determined depending on the signal to be coded or the required complexity of the encoder.
  • the transformation based on linear prediction of order M may be in accordance with the following:
  • N denotes the number of parameters
  • alpha(M, l)...alpha(M,M) denote prediction coefficients of progressive linear prediction of order M
  • i'(n) denotes the nth residual parameter.
  • the transformation may be performed in accordance with other forms of equations varied from the above equation based on progressive linear prediction.
  • one form of equation may be varied from the above equation by further including a constant item, b, in the equation.
  • the prediction coefficients alpha may be real numbers. The sum of the items to be subtracted from i(n) in the above equation, e.g., alpha(n, ⁇ ) * i(n - 1) + ... + alpha(n, n) * z ' (0) or
  • alpha(n, ⁇ ) * i(n - 1) + ... + alpha(n, n) * z ' (0) + b may be approximated to the largest integer not greater than the sum before the subtraction.
  • the transformer may further transform the residual parameter '( «) to include an indication of whether the value of the residual parameter i'(ri) is positive or negative. For example, if i'(n) is equal to or above 0, i'(n) is transformed to an even value 2 ⁇ /'(«). If i'(n) is below 0, i'(ri) is transformed to an odd value -2 ⁇ i'(n)-l .
  • i'(l) i(l) - alpha(l, l)*i(0)
  • i'(2) i(2) - alpha(2, l)*i(l) - alpha(2,2)*i(0)
  • i'(3) i(3) - alpha(3, l)*i(2) - alpha(3,2)*i(l) - alpha(3,3)*i(0)
  • i'( ) i(N) - alpha(N,l)*i(N-l) - ... - alpha(N,N)*i(0)
  • N denotes the number of parameters
  • alpha(N,l) ...alpha(N,N) denote prediction coefficients of progressive linear prediction of order N.
  • the prediction coefficients alpha ⁇ N,l) ...alpha(N,N) of the order N linear predictor used at each step in the above linear prediction operation may be determined by using Levinson-Durbin algorithm on a typical index sequence decided at the designed stage. According to an embodiment, the resulting prediction coefficients may be stored at the encoder and the decoder for correctly encoding/decoding.
  • i'(l) i(l) - alpha(l,l)*i(0)
  • i'(2) i(2) - alpha(2, l)*i(l) - alpha(2,2)*i(0)
  • i'(3) i(3) - alpha(2, l)*i(2) - alpha(2,2)*i(l)
  • i'(N) i(N) - alpha(2,l)*i(N-l) -alpha(2,2)*i(N-2)
  • alpha ⁇ , ⁇ ), alpha ⁇ 2, ⁇ ) and alpha(2,2) may have a value of 1, 3/4, 1/4, respectively.
  • the constant item b to be deducted from i ⁇ n) may have a value of 1/4.
  • the encoder 1700 further includes an encoding unit 1703 configured to encode the plurality of residual parameters, z'(l). .. i'(N).
  • i'(0) is equal to the original parameter i(0), and is also be encoded together with the residual parameters .. i'(N) by the encoding unit 1703 .
  • the encoding unit 1703 may perform the encoding using an entropy encoding scheme, such as Huffman code, Arithmetic code, or Rice code.
  • an entropy encoding scheme such as Huffman code, Arithmetic code, or Rice code.
  • the plurality of parameters to be encoded may include a plurality of mean indexes and a plurality of standard deviation indexes described in the various embodiments above.
  • Fig. 18 shows a decoder according to an embodiment.
  • the decoder 1800 corresponds to the encoder 1700 of Fig. 17.
  • the decoder 1800 may be the index decoder 820 of Figs. 8 and 9.
  • the decoder 1800 may be a component included in the context of the device (e.g. the decoding device or the decoder) 800, 900 in Figs. 8 and 9 for entropy decoding an encoded signal.
  • the decoder 1800 is used for decoding a plurality of encoded parameters. Each of the parameters is based on a mean of a plurality of samples of a respective frame of a signal.
  • the parameters may have been encoded at an encoder (e.g. the encoder 1700 —described-above) by transforming the plurality of parameters into ⁇ a-plurality " of residual parameters based on progressive linear prediction and encoding the plurality of residual parameters.
  • the thus encoded parameters are received at the decoder 1800 for further processing.
  • the decoder 1800 includes a decoding unit 1801 configured to decode the plurality of encoded parameters to generate a plurality of decoded residual parameters. [00282] The decoder 1800 further includes an inverse transformer 1803 configured to inversely transform the plurality of decoded residual parameters to reconstruct the plurality of parameters based on progressive linear prediction.
  • the plurality of parameters may be inversely transformed based on progressive linear prediction of a selected order M.
  • the inverse transformation based on linear prediction of order M may be in accordance with the following:
  • '( «) denotes the nth decoded residual parameter
  • N denotes the number of parameters
  • alpha ⁇ M, l) ...alpha ⁇ M,M) denote prediction coefficients of progressive linear prediction of order M, i(n) denotes the nth reconstructed parameter.
  • the inverse transformation may be performed in accordance with other forms of equations varied from the above equation based on progressive linear prediction.
  • one form of equation may be varied from the above equation by further including a constant item, b, in the equation.
  • the prediction coefficients alpha may be real numbers.
  • the sum of the items to be added to i(ri) in the above equation, e.g. alpha(n, ⁇ ) * i(n - 1) + ... + alpha(n, n) * z ' (0) or alpha(n, ⁇ ) * i(n - 1) + ... + alphain, n) * i(0) + b may be approximated to the largest integer not greater than the sum before the addition.
  • the decoded residual parameters may include an indication of whether their values are positive or negative, e.g. by having been further transformed to be even value or odd value during the encoding of the residual parameters as described in the corresponding encoder above. Accordingly, before performing the inverse transformation in accordance with the above equation, the inverse transformer of the decoder may transform the decoded residual parameter i'(n) to reconstruct its positive or negative value. For example, if i'(n) is an even value, /'( «) is divided by 2. If i'(n) is an odd value, i'(n) is transformed to be (-2 ⁇ ( «)-1)/2.
  • i'(n) may be approximated to the largest integer not greater than /'( «), in an embodiment.
  • i(l) i'(l) + alpha(l, l)*i(0)
  • i(2) i'(2) + alpha(2, l)*i(l) + alpha(2,2)*i(0)
  • i(3) i*(3) + alpha(3, l)*i(2) + alpha(3,2)*i(l) + alpha(3,3)*i(0)
  • i(N) i'(N) + alpha(N,l)*i(N-l) + ... + alpha(N,N)*i(0)
  • the progressive linear prediction of order 2 is used.
  • i(l) i'(l) + alpha(l , l)*i(0)
  • i(2) i'(2) + alpha(2, l)*i(l) + alpha(2,2)*i(0)
  • i(3) i'(3) + alpha(2, l)*i(2) + alpha(2,2)*i(l)
  • i(N) i'(N) + alpha(2,l)*i(N-l) +alpha(2,2)*i(N-2)
  • alpha ⁇ , ⁇ ), alpha ⁇ 2, ⁇ ) and alpha(2,2) may have a value of 1, 3/4, 1/4, respectively.
  • the constant item b to be added to /'( «) may have a value of 1/4.
  • Fig. 19 shows an encoding method according to an embodiment. [00290] The encoding method of Fig. 19 corresponds to the encoder 1700 of Fig. 17.
  • a plurality of parameters are transformed into a plurality of residual parameters based on progressive linear prediction, wherein each of the parameters is based on a mean of a plurality of samples of a respective frame of a signal.
  • the plurality of residual parameters are encoded.
  • Fig. 20 shows a decoding method according to an embodiment.
  • the decoding method of Fig. 20 corresponds to the decoder 1800 of Fig. 18.
  • a plurality of encoded parameters are decoded to generate a plurality of decoded residual parameters.
  • Each of the parameters is based on a mean of a plurality -of-samples ⁇ of-a respective frame-of ⁇ a-signal.
  • the parameters _ have _ been ⁇ en " CO " ded ⁇ b ' transforming the plurality of parameters into a plurality of residual parameters based on progressive linear prediction and encoding the plurality of residual parameters.
  • the plurality of decoded residual parameters are inversely transforming to reconstruct the plurality of parameters based on progressive linear prediction.
  • the transformer 1701, the inverse transformer 1803 and the corresponding methods may be configured to perform the transformation and the inverse transformation based on multistage pair-wise integer transform.
  • Fig. 21 shows a transformation based on multistage pair- wise integer transform in accordance with an embodiment.
  • i'[2j*cc] (i[2j*cc] + i[(2j+l)*cc])/2
  • the inverse transformation may be described as:
  • i((2 + l).2*) i(2y - 2*)-i'((2y + l)- 2* )

Abstract

Embodiments provide a probability table generator for generating a probability table for entropy encoding a frame of a signal, an encoder and a decoder including the probability table generator. The frame includes a plurality of samples of the signal. The probability table generator is configured to generate the probability table based on a probability template and a mean of the plurality of samples of the frame

Description

PROBABILITY TABLE GENERATOR, ENCODER AND DECODER
Field of Invention
[0001] Embodiments relate generally to signal encoding and decoding. Specifically, embodiments relate to a probability table generator, a device including the probability table generator, an encoder, a decoder, a device including the encoder, a device including the decoder, and corresponding encoding methods and decoding methods for entropy encoding and decoding.
Background
[0002] 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.
[0003] Normally, a probability density function (PDF) is used in entropy encoding. The probability density function may be a fixed probability density function, or a probability density function selected from a look-up table including many probability templates.
Summary of the Invention
[0004] Various embodiments provide a probability table generator, an encoder, a decoder and corresponding encoding and decoding methods which realize a flexible solution to adapt to the real characteristics of the input signal without high requirement on memory space.
[0005] Various embodiments also provide an encoder, a decoder and corresponding encoding and decoding methods which improve encoding and decoding efficiency.
[0006] An embodiment provides a probability table generator for generating a probability table for entropy encoding a frame of a signal, wherein the frame includes a plurality of samples of the signal. The probability table generator is configured to generate the probability table based on a probability template and a mean of the plurality of samples of the frame.
[0007] Another embodiment provides a probability table generator for generating a probability table for entropy decoding a frame of a signal, wherein the frame includes a plurality of samples of the signal. The probability table generator is configured to generate the probability table based on a probability template and a mean of the plurality of samples of the frame.
[0008] Other embodiments provide a device (e.g. an encoding device) including a probability table generator, a device (e.g. a decoding device) including a probability table generator, a method for generating a probability table, an encoding method including the method of generating a probability table, and a decoding method including the method of generating a probability table.
[0009] One embodiment provides an encoder for encoding a plurality of parameters, wherein each of said parameters is based on a mean of a plurality of samples of a respective frame of a signal. The encoder includes a transformer configured to transform the plurality of parameters into a plurality of residual parameters based on progressive linear prediction, and the encoder is configured to encode the plurality of residual parameters
[0010] Another embodiment provides a decoder for decoding a plurality of encoded parameters, wherein each of said parameters is based on a mean of a plurality of samples of a respective frame of a signal. The decoder is configured to decode the plurality of encoded parameters to generate a plurality of decoded residual parameters, and the decoder includes an inverse transformer configured to inversely transform the plurality of decoded residual parameters to reconstruct the plurality of parameters based on progressive linear prediction.
Brief Description of the Drawings
[0011] 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 probability table generator according to an embodiment.
Fig. 2 shows a device according to an embodiment.
Fig. 3 shows a device according to another embodiment.
Fig. 4 shows a device according to a further embodiment.
Fig. 5 illustrates a plurality of PDF templates for various standard deviation.
Fig. 6 shows a probability table generator according to an embodiment.
Fig. 7 shows a device according to an embodiment. Fig. 8 shows a device according to another embodiment.
Fig. 9 shows a device according to a further embodiment.
Fig. 10 shows a flowchart illustrating a probability table generating method according to an embodiment.
Fig. 11 shows a flowchart illustrating an encoding method according to an embodiment.
Fig. 12 shows a flowchart illustrating an encoding method according to another embodiment.
Fig. 13 shows a flowchart illustrating an encoding method according to a further embodiment.
Fig. 14 shows a flowchart illustrating a decoding method according to an embodiment.
Fig. 15 shows a flowchart illustrating a decoding method according to another embodiment.
Fig. 16 shows a flowchart illustrating a decoding method according to a further embodiment.
Fig. 17 shows an encoder according to an embodiment.
Fig. 18 shows a decoder according to an embodiment.
Fig. 19 shows an encoding method according to an embodiment.
Fig. 20 shows a decoding method according to an embodiment.
Fig. 21 shows a transformation based on multistage pair- wise integer transform in accordance with an embodiment.
Fig. 22 shows an exemplary embodiment of the pair-wise integer transform. Description
[0012] Various embodiments generate a probability table which is adapt to the characteristic of a signal to be encoded or decoded, thereby helping to achieve a good encoding or decoding performance in an efficient and resource-saving way.
[0013] Various embodiments transform a plurality of parameters to reduce redundancy and improve coding efficiency.
[0014] Embodiments described below in context of the encoder and encoding method are analogously valid for the decoder and decoding method, and vice versa.
[0015] Various features described below in the context of the encoder and the decoder may analogously hold true for the corresponding encoding method and decoding method, and vice versa.
[0016] In this context, the probability table generator as described in this description may include a memory which is for example used in the processing carried out by the probability table generator. The encoder, the decoder and the device 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). [0017] In this context, the probability table generator, the encoder, the decoder and the device including the same as described in this description may be a probability table generation circuit, an encoding circuit, an decoding circuit and a circuit, respectively.
[0018] 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.
[0019] One embodiment is directed to a probability table generator for generating a probability table for entropy encoding a frame of a signal, the frame including a plurality of samples of the signal. The probability table generator is configured to generate the probability table based on a probability template and a mean of the plurality of samples of the frame.
[0020] The signal may include an audio signal, an image signal, or a video signal. The signal may include a sequence of signals. The signal may be partitioned or segmented into one or more frames, with each frame including a plurality of samples of the signal. [0021] In an embodiment, the probability table generator is configured to generate the probability table by scaling the probability template and re-sampling the scaled probability template based on the mean. In another embodiment, the probability table generator is configured to re-sample the scaled probability template by linear interpolation.
[0022] In an embodiment, the probability template is a probability density function (the values of which are represented by y coordinate of a Cartesian coordinate plane) of a random variable (which is represented by x coordinate of the Cartesian coordinate plane). The probability density function may be scaled in the direction of the random variable (i.e. in the x-axis direction) by a scaling factor. The scaling factor may be determined based on the mean of the frame, so as to match the sample range in the frame. The scaled probability density function is re-sampled at integer positions to obtain the corresponding values/entries of the probability table.
[0023] In an embodiment, the probability table generator is configured to generate the probability table including a plurality of entries, wherein the entries correspond to a plurality of values of the probability template at a plurality of integer positions and the integer positions are determined based on the mean of the plurality of samples of the frame. The correspondence made between the entries of the probability table and the values of the probability template at the plurality of integer positions provides for the scaling of the probability template based on the mean to match the sample range in the frame and re-sampling of the scaled probability at integer positions. The integer positions are also referred to as integer indexes or integer sampling positions, at which the probability template is sampled to acquire a corresponding probability template value at these positions.
[0024] In one embodiment, the probability table generator may be configured to generate the probability table based on the probability template and a de-quantized mean index. The de-quantized mean index may be generated by quantizing the mean of the plurality of samples to generate a mean index, and de-quantizing the mean index is to generate the de-quantized mean index. In an embodiment, the probability table generator is configured to generate the probability table by scaling the probability template and resampling the scaled probability template based on the de-quantized mean index.
[0025] According to an embodiment, the probability table generator is configured to generate the probability table in accordance with the following equation: cl = cp ζ' = 0,1,2,· · · , wherein
i
J = + 0.5
mean
cp denotes the probability template value at symbol j, c. denotes the scaled probability template value at symbol i, denotes the largest integer not greater than x, and
mean denotes a de-quantized mean index, said de-quantized mean index being generated by de-quantizing a quantized mean.
[0026] In this embodiment, c. may be the entries of the generated probability table, and cp j may be the plurality of values of the probability template at a plurality of integer -positions- V-wherein the integer positions / are determined-based-on-the-mean of the frame. In accordance with the above equation, the probability template is scaled and re- sampled based on the mean. In the above embodiment, the scaling factor of the scaling may be the de-quantized mean index mean . In another embodiment, the scaling factor may be the de-quantized mean index multiplied by a coefficient a, e.g., a · mean . The scaled probability density function may be re-sampled by taking the values (e.g. c ) of the scaled function at integer positions i correspondingly.
[0027] In an embodiment, the division by the de-quantized mean index in the mean above equation may be provided in a look-up table, such that the calculation of j is made with low complexity. In other embodiments, e.g., when a - mean is taken as the scaling factor,— =L= may be provided in a look-up table for easy storage of the look-up table. a mean
[0028] It is understood that the integer positions j may be determined based on the mean of the frame according to other forms of equations varied from the above equation
J + 0.5 in other embodiments.
mean
[0029] The probability template may include a predetermined probability density function, for example, a probability density function predetermined for entropy encoding a predetermined type of signal.
[0030] Another embodiment is directed to a device including the probability table generator as described in the embodiments above. The device may be an encoding device for data encoding. The device (e.g. the encoding device) may include an entropy encoder configured to entropy encoding the frame of the signal based on the probability table generated by the probability table generator. For example, the values of c. above in the probability table are used in accordance with common entropy encoding method by the entropy encoder for entropy encoding the frame of the signal. In an embodiment, the entropy encoder is an arithmetic encoder which encodes the frame of the signal using arithmetic encoding. For example, the arithmetic encoder uses the values of c. above in accordance with commonly used arithmetic encoding method to encode the frame of the signal. In other embodiments, the entropy encoder may be a Huffman encoder, a Golomb encoder, a Rice encoder, or other types of entropy encoder.
[0031] The device (e.g. the encoding device) may include a probability template selection circuit configured to select the probability template from a look-up table including a plurality of probability templates. Each probability template may correspond to a probability density function. In one embodiment, the probability template selection circuit is configured to select the probability template based on a standard deviation of the plurality of samples of the frame. For example, if the standard deviation of the plurality of samples of the frame is 1.0, a probability density function corresponding to the standard deviation of 1.0 is selected as the probability template to be used in the device.
[0032] In an embodiment, the device (e.g. the encoding device) may include a standard deviation computation circuit configured to compute a standard deviation for the plurality of samples of the frame. The device may further include a quantizer configured to quantize the standard deviation to generate a standard deviation index. The probability template selection circuit may be configured to select the probability template based on the standard deviation index. [0033J In another embodiment, the device (e.g. the encoding device) may include a normalization circuit configured to normalize the plurality of samples of the frame based on the mean of the plurality of samples. The standard deviation computation circuit may be configured to compute the standard deviation for the plurality of normalized samples of the frame.
[0034] In a further embodiment, the device (e.g. the encoding device) may include an index encoder configured to encode the standard deviation index. The device may further include a multiplexer configured to multiplex the encoded frame with the encoded standard deviation index to form a multiplexed bit-stream.
[0035] The device (e.g. the encoding device) may include a framing circuit configured to partition the signal into one or more frames.
[0036] According to an embodiment, the device (e.g. the encoding device) includes a mean computation circuit configured to compute the mean of the plurality of samples of the frame. In another embodiment, the device includes a quantizer configured to quantize the mean to generate a mean index, and a de-quantizer configured to de-quantize the mean index to generate a de-quantized mean index. The de-quantized mean index may be used in generating the probability table as described in the above embodiments. In one embodiment, the device may include an index encoder configured to encode the mean index, and a multiplexer configured to multiplex the encoded frame with the encoded mean indexes. The encoded mean indexes, after being decoded, may be used in generating a probability table for decoding the encoded frame.
[0037] In another embodiment, the index encoder may include a transformer configured to transform a plurality of mean indexes into a plurality of residual mean indexes based on progressive linear prediction, and the index encoder is configured to encode the residual mean indexes. By progressive linear prediction, the mean indexes are transformed into residual mean indexes, which include less data content and the encoding of which helps to improve encoding efficiency.
[0038] In the context of this description described above and below, the embodiments are described in relation to a frame of a signal, a mean, a mean index, a standard deviation, a standard deviation index, etc. for simplicity. However, it should be understood that various embodiments also include processing, encoding and decoding in relation to a plurality of frames of a signal and correspondingly a plurality of means, a plurality of mean indexes, a plurality of standard deviations, a plurality of standard deviation indexes, etc.
[0039] Corresponding to the probability table generator described in the above embodiments, another embodiment provides a corresponding method for generating a probability table for entropy encoding a frame of a signal, including the method implemented by the probability table generator described above. A corresponding encoding method, including the method for generating a probability table and implemented by the device for data encoding as described in the above embodiments, is provided in a further embodiment.
[0040] In one embodiment, a method for generating a probability table for entropy encoding a frame of signal is provided. The frame may include a plurality of samples of the signal. The method includes generating the probability table based on a probability template and a mean of the plurality of samples of the frame. [0041] In an embodiment, the method may include generating the probability table by scaling the probability template and re-sampling the scaled probability template based on the mean. In one embodiment, the re-sampling of the scaled probability template is by linear interpolation.
[0042] In an embodiment, the method may include generating the probability table including a plurality of entries, wherein the entries correspond to a plurality of values of the probability template at a plurality of integer positions and the integer positions are determined based on the mean of the plurality of samples of the frame. The correspondence made between the entries of the probability table and the values of the probability template at the plurality of integer positions provides for the scaling of the probability template based on the mean to match the sample range in the frame and resampling of the scaled probability at integer positions. The integer positions are also referred to as integer indexes or integer sampling positions, at which the probability template is sampled to acquire a corresponding probability template value at these positions.
[0043] According to an embodiment, generating the probability table is based on the probability template and the de-quantized mean index. In one embodiment, generating the probability table is by scaling the probability template and re- sampling the scaled probability template based on a de-quantized mean index. The de-quantized mean index may be generated by quantizing the mean and de-quantizing the quantized mean.
[0044] According to an embodiment, the method includes generating the probability table in accordance with the following equation:
ct = cpj , i = 0,1,2,· · · , wherein
J = + 0.5
mean
cp denotes the probability template value at symbol j, c. denotes the scaled probability template value at symbol i, denotes the largest integer not greater than x, and
mean denotes a de-quantized mean index, said de-quantized mean index being generated by de-quantizing a quantized mean.
[0045] In this embodiment, c. may be the entries of the generated probability table, and cp j may be the plurality of values of the probability template at a plurality of integer positions j, wherein the integer positions j are determined based on the mean of the frame. In accordance with the above equation, the probability template is scaled and re- sampled based on the mean. In the above embodiment, the scaling factor of the scaling may be the de-quantized mean index mean . In another embodiment, the scaling factor may be the de-quantized mean index multiplied by a coefficient a, e.g., a - mean . The scaled probability density function may be re-sampled by taking the values (e.g. c. ) of the scaled function at integer positions i correspondingly.
[0046] In an embodiment,
Figure imgf000015_0001
provided in a look-up table, such that the calculation of j is made with low complexity. In
1
other embodiments, e.g., when a - mean is taken as the scaling factor, may be a mean provided in a look-up table for easy storage of the look-up table. [0047] It is understood that the integer positions j may be determined based on the mean of the frame according to other forms of equations varied from the above equation
J + 0.5 in other embodiments.
mean
[0048] The probability template may include a predetermined probability density function.
[0049] In another embodiment, an encoding method is provided. The encoding method may include the various embodiments of the method for generating the probability table described above.
[0050] In an embodiment, the encoding method include entropy encoding the frame based on the probability table. For example, the values of c. above in the probability table are used in accordance with commonly used entropy encoding method for entropy encoding the frame of the signal. In one embodiment, entropy encoding includes arithmetic encoding. In other embodiments, the entropy encoding may include one of Huffman encoding, Golomb encoding, Rice encoding, or other types of entropy encoding.
[0051] In one embodiment, the encoding method may include selecting the probability template from a look-up table based on a standard deviation of the plurality of samples of the frame, wherein the look-up table includes a plurality of probability templates.
[0052] According to an embodiment, the encoding method may include computing a standard deviation for the plurality of samples of the frame, and quantizing the standard deviation to generate a standard deviation index. The selecting of the probability template may be based on the standard deviation index. [0053] In another embodiment, the encoding method may include normalizing the plurality of samples of the frame based on the mean of the plurality of samples. The encoding method may further include computing the standard deviation for the plurality of normalized samples of the frame.
[0054] In an embodiment, the encoding method may include encoding the standard deviation index, and multiplexing the encoded frame with the encoded standard deviation index.
[0055] The encoding method may include partitioning the signal into one or more frames.
[0056] The encoding method may include computing the mean of the plurality of samples of the frame.
[0057] The encoding method may include quantizing the mean to generate a mean index. The encoding method may include de-quantizing the mean index to generate a de- quantized mean index.
[0058] In an embodiment, the encoding method may include encoding a plurality of mean indexes for a plurality of frames of the signal, and multiplexing the encoded frame with the encoded mean indexes. In another embodiment, encoding the mean indexes may include transforming the mean indexes into a plurality of residual mean indexes based on progressive linear prediction, and encoding the residual mean indexes.
[0059] Another embodiment provides a probability table generator for generating a probability table for entropy decoding an encoded frame of a signal, wherein the decoded frame includes a plurality of samples of the signal. The probability table generator is configured to generate the probability table based on a probability template and a mean of the plurality of samples of the frame.
[0060] In one embodiment, the probability table generator is configured to generate the probability table by scaling the probability template and re-sampling the scaled probability template based on the mean. The probability table generator may be configured to re-sample the scaled probability template by linear interpolation.
[0061] In an embodiment, the probability template is a probability density function (the values of which are represented by y coordinate of a Cartesian coordinate plane) of a random variable (which is represented by x coordinate of the Cartesian coordinate plane). The probability density function may be scaled in the direction of the random variable (i.e. in the x-axis direction) by a scaling factor. The scaling factor may be determined based on the mean of the frame, so as to match the sample range in the frame. The scaled probability density function is re-sampled at integer positions to obtain the corresponding values/entries of the probability table.
[0062] In an embodiment, the probability table generator may be configured to generate the probability table including a plurality of entries, wherein the entries correspond to a plurality of values of the probability template at a plurality of integer positions and the integer positions are determined based on the mean of the plurality of samples of the frame. The correspondence made between the entries of the probability table and the values of the probability template at the plurality of integer positions provides for the scaling of the probability template based on the mean to match the sample range in the frame and re-sampling of the scaled probability at integer positions. The integer positions are also referred to as integer indexes or integer sampling positions, at which the probability template is sampled to acquire a corresponding probability template value at these positions.
[0063] In another embodiment, the probability table generator is configured to generate the probability table based on the probability template and a de-quantized mean index. The de-quantized mean index is generated by de-quantizing a decoded mean index for the frame, and the decoded mean index is generated by decoding an encoded mean index. The encoded mean index may be multiplexed with other encoded data in an encoded bit-stream, which is de-multiplexed to obtain the encoded mean index. The probability table generator may be configured to generate the probability table by scaling the probability template and re-sampling the scaled probability template based on the de- quantized mean index, in an embodiment.
[0064] According to an embodiment, the probability table generator is configured to generate the probability table in accordance with the following equation: c. = cpj , i = 0,1,2,· · · , wherein
i
J = + 0.5
mean
cpj denotes the probability template value at symbol j, c. denotes the scaled probability template value at symbol i, \_xj denotes the largest integer not greater than x, and
mean denotes a de-quantized mean index, said de-quantized mean index being generated by de-quantizing a decoded mean index for the frame. [0065] In this embodiment, c. may be the entries of the generated probability table, and cpj may be the plurality of values of the probability template at a plurality of integer positions j, wherein the integer positions j are determined based on the mean of the frame. In accordance with the above equation, the probability template is scaled and re- sampled based on the mean. In the above embodiment, the scaling factor of the scaling may be the de-quantized mean index mean . In another embodiment, the scaling factor may be the de-quantized mean index multiplied by a coefficient a, e.g., a - mean . The scaled probability density function may be re-sampled by taking the values (e.g. c. ) of the scaled function at integer positions i correspondingly.
[0066] In an embodiment, the division by the de-quantized mean index may be mean provided in a look-up table, such that the calculation of j is made with low complexity. In other embodiments, e.g., when a - mean is taken as the scaling factor,— may be a mean provided in a look-up table for easy storage of the look-up table.
[0067] It is understood that the integer positions j may be determined based on the mean of the frame according to other forms of equations varied from the above equation
J in other embodiments.
mean
[0068] The probability template used in the probability table generator may include a predetermined probability density function. [0069] A further embodiment provides a device including the probability table generator described in the embodiments above. The device may be a decoding device for data decoding.
[0070] In one embodiment, the device (e.g. the decoding device) may include an entropy decoder configured to entropy decode the encoded frame based on the probability table generated by the probability table generator. For example, the values of c. above in the probability table are used in accordance with commonly used entropy decoding method by the decoder for entropy decoding the encoded frame. The entropy decoder may be an arithmetic decoder. In other embodiments, the entropy decoder may be a Huffman decoder, a Golomb decoder, a Rice decoder, or other types of entropy decoder.
[0071] The device (e.g. the decoding device) may include a de-multiplexer configured to de-multiplex an encoded bit-stream to generate the encoded frame of the signal and an encoded mean index for the frame. The encoded frame and the encoded mean index may be multiplexed into the encoded bit-stream during encoding.
[0072] In one embodiment, the device (e.g. the decoding device) includes an index decoder configured to decode the encoded mean index, and a de-quantizer configured to de-quantize the decoded mean index. The probability table generator of the device may generate the probability table using the de-quantized mean index. The de-quantizer may be included in the probability table generator in another embodiment.
[0073] In a further embodiment, the index decoder is configured to decode a plurality of encoded mean indexes. The plurality of encoded mean indexes may have been encoded at an index encoder by transforming a plurality of mean indexes into a plurality of residual mean indexes based on progressive linear predication and encoding the plurality of residual mean indexes. The transformation by the index encoder during the encoding of the mean indexes helps to reduce redundant data and improve encoding efficiency. Accordingly, the index decoder may be configured to decode the plurality of encoded mean indexes to generate the plurality of decoded residual mean indexes, and the index decoder may include an inverse transformer configured to inversely transform the decoded residual mean indexes to reconstruct the plurality of mean indexes based on progressive linear prediction. The de-quantizer may be configured to de-quantize the reconstructed mean indexes to generate de-quantized mean indexes, which may be used by the probability table generator in generating the probability table.
[0074] According to one embodiment, the device (e.g. the decoding device) further includes a probability template selection circuit configured to select the probability template from a look-up table including a plurality of probability templates. The selection may be based on a standard deviation of the plurality of samples of the frame in an embodiment. The standard deviation information may be encoded during the encoding, and the device may receive the encoded standard deviation information and decode the encoded standard deviation information to reconstruct the standard deviation.
[0075] In one embodiment, the device (e.g. the decoding device) may include an index decoder configured to decode an encoded standard deviation index for the frame. The probability template selection circuit may be configured to select the probability template from a look-up table based on the decoded standard deviation index.
[0076] Corresponding to the probability table generator described in the above embodiments, another embodiment provides a corresponding method for generating a probability table for entropy decoding a frame of a signal, including the method implemented by the probability table generator described above. A corresponding decoding method, including the method for generating a probability table and implemented by the device for data decoding as described in the above embodiments, is provided in a further embodiment.
[0077] In one embodiment, a method for generating a probability table for entropy decoding an encoded frame of a signal is provided. The decoded frame may include a plurality of samples of the signal. The method includes generating the probability table based on a probability template and a mean of the plurality of samples of the frame.
[0078] In an embodiment, the method may include generating the probability table by scaling the probability template and re-sampling the scaled probability template based on the mean. In one embodiment, the re-sampling of the scaled probability template is by linear interpolation.
[0079] In an embodiment, the method may include generating the probability table including a plurality of entries, wherein the entries correspond to a plurality of values of the probability template at a plurality of integer positions and the integer positions are determined based on the mean of the plurality of samples of the frame. The correspondence made between the entries of the probability table and the values of the probability template at the plurality of integer positions provides for the scaling of the probability template based on the mean to match the sample range in the frame and resampling of the scaled probability at integer positions. The integer positions are also referred to as integer indexes or integer sampling positions, at which the probability template is sampled to acquire a corresponding probability template value at these positions. [0080] According to an embodiment, the method may include generating the probability table based on the probability template and a de-quantized mean index. The de-quantized mean index may be generated by de-quantizing a decoded mean index for the frame, and the decoded mean index may be generated by decoding an encoded mean index. In one embodiment, generating the probability table is by scaling the probability template and re-sampling the scaled probability template based on the de-quantized mean index.
[0081] According to an embodiment, the method includes generating the probability table in accordance with the following equation: c,. = cpj , i = 0, 1,2,· · · , wherein
i
J - + 0.5
mean
cp denotes the probability template value at symbol j, c. denotes the scaled probability template value at symbol i, denotes the largest integer not greater than x, and
mean denotes the de-quantized mean index, said de-quantized mean index being generated by de-quantizing a decoded mean index for the frame.
[0082] In this embodiment, c. may be the entries of the generated probability table, and cp j may be the plurality of values of the probability template at a plurality of integer positions j, wherein the integer positions j are determined based on the mean of the frame. In accordance with the above equation, the probability template is scaled and re- -sampled based-on-the-mean. [0083] In an embodiment, the division by the de-quantized mean index may be mean provided in a look-up table, such that the calculation of j is made with low complexity. In
1
other embodiments, e.g., when a■ mean is taken as the scaling factor,— = may be a mean provided in a look-up table for easy storage of the look-up table.
[0084] It is understood that the integer positions j may be determined based on the mean of the frame according to other forms of equations varied from the above equation
J = + 0.5 in other embodiments.
mean
[0085] The probability template may include a predetermined probability density function.
[0086] In another embodiment, a decoding method is provided. The decoding method may include the various embodiments of the method for generating the probability table described above.
[0087] In an embodiment, the decoding method include entropy decoding the encoded frame based on the probability table. For example, the values of c. above in the probability table are used in accordance with commonly used entropy decoding method for entropy decoding the encoded frame. In one embodiment, entropy decoding includes arithmetic decoding. In other embodiments, the entropy decoding may include one of Huffman decoding, Golomb decoding, Rice decoding, or other types of entropy decoding.
[0088] In one embodiment, the decoding method may include de-multiplexing an encoded bit-stream to generate the encoded frame of the signal and an encoded mean index for the frame. In another embodiment, the decoding method may include decoding the encoded mean index, and de-quantizing the decoded mean index.
[0089] In an embodiment, decoding the encoded mean index may include decoding a plurality of encoded mean indexes to generate a plurality of decoded residual mean indexes and inversely transforming the plurality of decoded residual mean indexes to reconstruct mean indexes based on progressive linear prediction.
[0090] In one embodiment, the encoding method may include selecting the probability template from a look-up table based on a standard deviation of the plurality of samples of the frame, wherein the look-up table includes a plurality of probability templates.
[0091] According to an embodiment, the encoding method may include decoding an encoded standard deviation index for the frame, and selecting the probability template from a look-up table based on the decoded standard deviation index. The look-up table includes a plurality of probability templates.
[0092] A further embodiment is directed to an encoder for encoding a plurality of parameters, wherein each of said parameters is based on a mean of a plurality of samples of a respective frame of a signal. The mean information of the signal may be used in encoding the signal, and accordingly the encoded mean information may be provided at decoder side for decoding the encoded signal.
[0093] In one embodiment, the encoder includes a transformer configured to transform the plurality of parameters into a plurality of residual parameters based on progressive linear prediction, and the encoder is configured to encode the plurality of residual parameters. By the transformation conducted at the transformer, redundancy in the plurality of parameters is reduced to acquire the residual parameters. The encoding of the residual parameters would improve encoding efficiency.
[0094] In an embodiment, the transformer is configured to transform the plurality of parameters in accordance with the following equation:
Figure imgf000027_0001
{i{n)-alpha{M,\)*i{n-\)-...-alphaM,M)*i{n-M), if n > M wherein
/(«) denotes the nth parameter,
N denotes the number of parameters,
alpha(M,l) ...alpha{M,M) denote prediction coefficients of progressive linear prediction of order M,
i'(n) denotes the nth residual parameter.
[0095] In other embodiments, the transformer is configured to transform the plurality of parameters in accordance with other forms of equations based on progressive linear prediction. For example, one form of equation may be varied from the above equation by further including a constant item, b, in the equation. In an embodiment, the prediction coefficients alpha may be real numbers. The sum of the items to be subtracted from i(n) in the above equation, e.g., alpha(n,Y) * i(n - 1) + ... + alpha(n, n) * z(0) or alpha{n,\) * i(n - 1) + ... + alpha{n, n) * z'(0) + b , may be approximated to the largest integer not greater than the sum before the subtraction. [0096] In another embodiment, the transformer may further transform the residual parameter i\ri) to include an indication of whether the value of the residual parameter i'{n) is positive or negative. For example, if i'(ri) is equal to or above 0, '(«) is transformed to an even value 2- i'(n). If '(«) is below 0, i'(n) is transformed to an odd value -2· z'(«)-l .
[0097] In one embodiment, the plurality of parameters include a plurality of mean indexes of the respective frame of the signal, wherein each mean index is a quantized mean of the plurality of samples in the respective frame.
[0098] In another embodiment, the plurality of parameters include a plurality of standard deviation indexes of the respective frame of the signal, wherein each standard deviation index is a quantized standard deviation of the plurality of samples in the respective frame.
[0099] The encoder may be configured to encode the plurality of residual parameters using entropy encoding. In various embodiments, the encoder may encode the plurality of residual parameters using one of Huffman encoding, Arithmetic encoding, Golomb encoding, Rice encoding and other entropy encoding methods.
[00100] Another embodiment provides a device including the encoder for encoding a plurality of parameters described above. The device may be an encoding device for data encoding.
[00101] In an embodiment, the device (e.g. the encoding device) includes a framing circuit configured to partition the signal into one or more frames, wherein each frame includes a plurality of samples. [00102] The device (e.g. the encoding device) may further include a mean computation circuit configured to compute a respective mean of the plurality of samples of the respective frame.
[00103] In an embodiment, the device (e.g. the encoding device) may include a quantizer configured to quantize the respective mean to generate a respective mean index.
[00104] In an embodiment, the device (e.g. the encoding device) may further include a standard deviation computation circuit configured to compute a respective standard deviation of the plurality of samples in the respective frame.
[00105] The device (e.g. the encoding device) may include a quantizer configured to quantize the respective standard deviation to generate a respective standard deviation index.
[00106] In an embodiment, the device (e.g. the encoding device) may include a normalization circuit configured to normalize the plurality of samples in the respective frame. The standard deviation computation circuit may be configured to compute the standard deviation of the plurality of normalized samples in the respective frame as the respective standard deviation for the respective frame.
[00107] In an embodiment, the device (e.g. the encoding device) may include a multiplexer configured to multiplex the plurality of encoded parameters with encoded frames of the signal to generate an encoded bit-stream.
[00108] Another embodiment provides a method for encoding a plurality of parameters corresponding to the encoder as described above.
[00109] In an embodiment, the method for encoding a plurality of parameters is provided, wherein each of the parameters is based on a mean of a plurality of samples of a respective frame of a signal. The method may include transforming the plurality of parameters into a plurality of residual parameters based on progressive linear prediction, and encoding the plurality of residual parameters.
[00110] In an embodiment, the method includes transforming the plurality of parameters in accordance with the following equation:
Figure imgf000030_0001
[i(n) - alphc(M,\) * i(n - l) - ... - alphdM, M) * i{n -M), ifn >M wherein i(n) denotes the nth parameter,
N denotes the number of parameters, alpha(M, 1) ...alpha(M,M) denote prediction coefficients of progressive linear prediction of order M, i'(n) denotes the nth residual parameter.
[00111] In other embodiments, the method includes transforming the plurality of parameters in accordance with other forms of equations based on progressive linear prediction. For example, one form of equation may be varied from the above equation by further including a constant item in the equation. The method may include transforming the plurality of parameters in accordance with other forms of equations described in the corresponding encoder above, and may further include transforming the parameters to include an indication of the positive or negative value of the parameters as described in _the_corresponding encoder above. [00112] In one embodiment, the plurality of parameters include a plurality of mean indexes of the respective frame of the signal, wherein each mean index is a quantized mean of the plurality of samples in the respective frame.
[00113] In another embodiment, the plurality of parameters include a plurality of standard deviation indexes of the respective frame of the signal, wherein each standard deviation index is a quantized standard deviation of the plurality of samples in the respective frame.
[00114] The method may include encoding the plurality of residual parameters by entropy encoding. In various embodiments, the method may encode the plurality of residual parameters using one of Huffman encoding, Arithmetic encoding, Golomb encoding, Rice encoding and other entropy encoding methods.
[00115] Another embodiment provides an encoding method including the method for encoding a plurality of parameters described above. The encoding method may be used to encode the signal.
[00116] In an embodiment, the encoding method includes partitioning the signal into one or more frames, wherein each frame includes a plurality of samples.
[00117] The encoding method may further include computing a respective mean of the plurality of samples of the respective frame.
[00118] In an embodiment, the encoding method includes quantizing the respective mean of the plurality of samples in the respective frame to generate a respective mean index.
[00119] In an embodiment, the encoding method includes computing a respective standard deviation of the plurality of samples in the respective frame. In another embodiment, the encoding method may include quantizing the respective standard deviation to generate a respective standard deviation index.
[00120] In an embodiment, the encoding method includes normalizing the plurality of samples in the respective frame based on the mean of the plurality of samples. The encoding method may compute the standard deviation of the plurality of normalized samples in the respective frame as the respective standard deviation for the respective frame.
[00121] In an embodiment, the encoding method may further include multiplexing the plurality of encoded parameters with encoded frames of the signal to generate an encoded bit-stream.
[00122] A further embodiment is directed to a decoder for decoding a plurality of encoded parameters, wherein each of the parameters is based on a mean of a plurality of samples of a respective frame of a signal. The parameters may have been encoded at an encoder (e.g. the encoder for encoding a plurality of parameters as described above) by transforming the plurality of parameters into a plurality of residual parameters based on progressive linear prediction and encoding the plurality of residual parameters. Accordingly, the decoder may be configured to decode the plurality of encoded parameters to generate a plurality of decoded residual parameters. The decoder may include an inverse transformer configured to inversely transform the plurality of decoded residual parameters to reconstruct the plurality of parameters based on progressive linear prediction. [00123] In an embodiment, the inverse transformer is configured to inversely transform the plurality of decoded residual parameters in accordance with the following equation: i' (0), if n = 0
i' (l) +alpha(l,l) *i(0), if n = \
for n = 0,1,...,N i' (n) + alpha{n,X) */(« -!) +...+ alpha n, ri) * /' (0), if \ < n < M
[ϊ (ri) + alpha(M,l) *i(n -!) +...+ alpha(M, M) * i(n -M), if n > M wherein i'{n) denotes the nth decoded residual parameter, N denotes the number of parameters, alpha(M,l) ...alpha(M,M) denote prediction coefficients of progressive linear prediction of order M, i(ri) denotes the nth reconstructed parameter.
[00124] In other embodiments, the inverse transformer is configured to inversely transform the plurality of decoded residual parameters in accordance with other forms of equations based on progressive linear prediction. For example, one form of equation may be varied from the above equation by further including a constant item, b, in the equation. In an embodiment, the prediction coefficients alpha may be real numbers. The sum of the items to be added to i(ri) in the above equation, e.g., alpha(n,\) * i(n - 1) + ... + alpha(n, ri) * i(0) or alpha{n,\) * i(n - 1) + ... + alpha(n, ri) * z'(0) + b , may be approximated to the largest integer not greater than the sum before the addition.
[00125] In another embodiment, the decoded residual parameters may include an indication of whether their -values-are-positive or negativerergr- by-having-been further— transformed to be even value or odd value during the encoding of the residual parameters as described in the corresponding encoder above. Accordingly, before performing the inverse transformation in accordance with the above equation, the inverse transformer of the decoder may transform the decoded residual parameter i'(ri) to reconstruct its positive or negative value. For example, if i'(n) is an even value, i '(n) is divided by 2. If i'(n) is an odd value, i'(n) is transformed to be (-2· z'(n)-l)/2. The thus transformed i'(n) may be approximated to the largest integer not greater than '(«), in an embodiment.
[00126] In one embodiment, the plurality of reconstructed parameters include a plurality of mean indexes of the respective frame of the signal, wherein each mean index is a quantized mean of the plurality of samples in the respective frame.
[00127] In another embodiment, the plurality of reconstructed parameters include a plurality of standard deviation indexes of the respective frame of the signal, wherein each standard deviation index is a quantized standard deviation of the plurality of samples in the respective frame.
[00128] The decoder may be configured to decode the plurality of encoded parameters using entropy decoding. In various embodiments, the decoder may decode the plurality of encoded parameters using one of Huffman decoding, Arithmetic decoding, Golomb decoding, Rice decoding and other entropy decoding methods.
[00129] Another embodiment provides a device including the decoder for decoding a plurality of encoded parameters described above. The device may be a decoding device for data decoding. [00130] In an embodiment, the device (e.g. the decoding device) may include a de- quantizer configured to de-quantize the plurality of mean indexes to generate a plurality of de-quantized mean indexes for decoding encoded frames of the signal.
[00131] In another embodiment, the device (e.g. the decoding device) may include a de-quantizer configured to de-quantize the plurality of standard deviation indexes to generate a plurality of de-quantized standard deviation indexes for decoding encoded frames of the signal.
[00132] The device (e.g. the decoding device) may include a de-multiplexer configured to de-multiplex an encoded bit-stream to generate encoded frames of the signal and the plurality of encoded parameters. The plurality of encoded parameters are decoded by the decoder described above.
[00133] Another embodiment provides a method for decoding a plurality of encoded parameters corresponding to the decoder as described above.
[00134] In an embodiment, the method for decoding a plurality of parameters is provided, wherein each of the parameters is based on a mean of a plurality of samples of a respective frame of a signal. The method may include decoding the plurality of encoded parameters to generate a plurality of decoded residual parameters, and inversely transforming the plurality of decoded residual parameters to reconstruct the plurality of parameters based on progressive linear prediction.
[00135] In an embodiment, the method includes inversely transforming the plurality of decoded residual parameters in accordance with the following equation:
Figure imgf000036_0001
i n)+alph M,l) *i(n -l) +...+alpha(M,M) *i(n -Ai), if n > M wherein
'(«) denotes the nth decoded residual parameter,
N denotes the number of parameters,
alpha(M, l) ...alpha(M,M) denote prediction coefficients of progressive linear prediction of order M,
i n) denotes the nth reconstructed parameter.
[00136] In other embodiments, the method includes inversely transforming the plurality of decoded residual parameters in accordance with other forms of equations based on progressive linear prediction. For example, one form of equation may be varied from the above equation by further including a constant item in the equation. The method may inversely transform the plurality of decoded residual parameters in accordance with the embodiments described in relation to the corresponding decoder above.
[00137] In one embodiment, the plurality of reconstructed parameters include a plurality of mean indexes of the respective frame of the signal, wherein each mean index is a quantized mean of the plurality of samples in the respective frame.
[00138] In another embodiment, the plurality of reconstructed parameters include a plurality of standard deviation indexes of the respective frame of the signal, wherein each standard deviation index is a quantized standard deviation of the plurality of samples in the respective frame. [00139] The method may include decoding the plurality of encoded parameters using entropy decoding. In various embodiments, the method may include decoding the plurality of encoded parameters using one of Huffman decoding, Arithmetic decoding, Golomb decoding, Rice decoding and other entropy decoding methods.
[00140] Another embodiment provides a decoding method including the method for decoding a plurality of encoded parameters described above.
[00141] In an embodiment, the decoding method includes de-quantizing a plurality of mean indexes to generate a plurality of de-quantized mean indexes for decoding encoded frames of the signal.
[00142] In another embodiment, the decoding method includes de-quantizing a plurality of standard deviation indexes to generate a plurality of de-quantized standard deviation indexes for decoding encoded frames of the signal.
[00143] The decoding method may further includes de-multiplexing an encoded bit- stream to generate encoded frames of the signal and the plurality of encoded parameters. The plurality of encoded parameters are decoded by the decoder described above.
[00144] Fig. 1 shows a probability table generator according to an embodiment.
[00145] The probability table generator 100 receives a probability template 101 and a mean 103. The probability template 101 may be a predetermined probability template or a probability template selected from a look-up table. The mean 103 is a mean of a plurality of samples of a frame of a signal. The probability table generator 100 is configured to generate a probability table 105 for entropy encoding the frame, based on the probability template 101 and the mean 103. [00146] In an embodiment, the probability table generator 100 may be configured to scale the probability template 101 and re-sample the scaled probability template 101 based on the mean 103, thereby generating the probability table 105.
[00147] In an embodiment, the probability template 101 is a probability density function (the values of which are represented by y coordinate of a Cartesian coordinate plane) of a random variable (which is represented by x coordinate of the Cartesian coordinate plane). The probability density function may be scaled in the direction of the random variable (i.e. in the x-axis direction) by a scaling factor. The scaling factor may be determined based on the mean 103 of the frame, so as to match the sample range in the frame. The scaled probability density function is re-sampled at integer positions to obtain the corresponding values/entries of the probability table 105.
[00148] In an embodiment, the probability table generator 100 is configured to generate the probability table 105 including a plurality of entries, wherein the entries correspond to a plurality of values of the probability template 101 at a plurality of integer positions and the integer positions are determined based on the mean 103 of the plurality of samples of the frame. The correspondence made between the entries of the probability table 105 and the values of the probability template 101 at the plurality of integer positions provides for the scaling of the probability template based on the mean 103 to match the sample range in the frame and re-sampling of the scaled probability at integer positions.
[00149] In an embodiment, the mean 103 may be processed before being utilized by the probability table generator 100. In one embodiment, the mean 103 may be quantized to generate a mean index, and the mean index may be de-quantized to generate a de- quantized mean index 103. The mean index may be stored or transmitted for decoding purposes.
[00150] According to an embodiment, the probability table generator 100 may be configured to scale and re-sample the probability template 101 using the de-quantized mean index 103. In an embodiment, the probability table generator 100 may be configured to generate the probability table 105 according to the following equation: ct = cpj , i = 0,1,2,· · · , (1) wherein
i
J = + 0.5
mean
cp denotes the probability template value at symbol j, c. denotes the scaled probability template value at symbol i, \_xj denotes the largest integer not greater than x, and
mean denotes the de-quantized mean index.
[00151] In this embodiment, c.may be the entries of the generated probability table, and cp j may be the plurality of values of the probability template at a plurality of integer positions j, wherein the integer positions j are determined based on the mean of the frame. In accordance with the above equation, the probability template is scaled and re- sampled based on the mean. In the above embodiment, the scaling factor of the scaling may be the de-quantized mean index mean . In another embodiment, the scaling factor may be the de-quantized mean index multiplied by a coefficient a, e.g., a · mean . The scaled probability density function may be re-sampled by taking the values (e.g. c. ) of the scaled function at integer positions i correspondingly.
[00152] In an embodiment, the division by the de-quantized mean index ^ may be mean provided in a look-up table, such that the calculation of j is made with low complexity. In other embodiments, e.g., when a · mean is taken as the scaling factor,— may be a · mean provided in a look-up table for easy storage of the look-up table.
[00153] It is understood that the integer positions j may be determined based on the mean of the frame according to other forms of equations varied from the above equation
J = + 0.5 in other embodiments.
mean
[00154] It is to be noted that the probability table generator 100 may be configured to generate a plurality of probability tables for entropy encoding a plurality of frames of the signal, based on one or more probability templates and a plurality of means corresponding to the plurality of frames, which is not described in detail for brevity.
[00155] Fig. 2 shows a device according to an embodiment. The device is for data encoding, and may be referred to as an encoding device or an encoder.
[00156] The encoder 200 may include the probability table generator 100 as described above.
[00157] The encoder 200 receives a signal to be encoded, which may include a plurality of frames. The encoder 200 includes a mean computation unit 210 configured to compute a mean for a frame. The mean is provided to the probability table generator 100. The probability table generator 100 generates a probability table based on the mean and a probability template 220 provided from a probability template unit 220. The probability template unit 220 may save a predefined probability table, or may include a plurality of probability templates for selection.
[00158] The encoder 200 further includes an entropy encoder 230 configured to entropy encode the signal based on the generated probability table. The entropy encoder
230 may be an encoder selected from an Arithmetic encoder, a Huffman encoder, a
Golomb encoder, a Rice encoder and other types of entropy encoders.
[00159] Fig. 3 shows a device according to another embodiment. The device is for data encoding, and may be referred to as an encoding device or an encoder.
[00160] The encoder 300 may include a probability table generator 100, a mean computation unit 210, a probability template unit 220, and an entropy encoder 230 similar to those described in Fig. 2 above.
[00161] The encoder 200 may include a framing unit 310 which processes an input signal to be encoded. The input signal may include a sequence of random signals. In an embodiment, the random signals may be audio signals, image pixel signals, video signals, etc. Accordingly, the encoder described in this description may be used for audio coding, image coding and video coding.
[00162] The framing unit 310 is configured to partition or segment an input signal into frames or blocks of a plurality of samples, such that the signal is encoded frame by frame. A block of samples is also known as a frame of samples, and the terms "block" and "frame" may be used interchangeably in this context. [00163] In one embodiment, the mean computation unit 210 is configured to receive the frames, and compute a mean of a plurality of samples for each frame according to the following equation:
u- J .
mean = ^-1 " n ^2) wherein i*nl represents the absolute values of the nth sample in each frame, and N represents the number of samples in each frame.
[00164] The encoder 300 includes an quantizer 330 configured to quantize the mean for each frame to generate an integer-valued index, also referred to as a mean index.
[00165] In an embodiment, the quantizer 330 may be configured to quantize the mean value in accordance with a non-linear quantizer, for example, in accordance with the following equation:
2^ *log (wean) + 0.5 (3) wherein s denotes the mean index after quantization, and q is a scaling factor used to determine the quantization resolution of the quantization. The value of q determines the trade-off between the accuracy of the quantization, which in turn will affect the overall coding efficiency, and the side information required to transmit the mean index to the decoder. The actual value of q can be determined by experiment. For example, in lossless coding of 16-bit quantized audio signal, q - 3 is a good trade-off to deliver good overall performance.
[00166] In one embodiment, the probability table generator 100 is configured to generate a probability table by scaling a probability template provided by the probability template unit 220 and interpolating the probability template under the control of the mean index. The probability template unit 220 may save a predefined probability template, or may include a plurality of probability templates for selection.
[00167] In an embodiment, the probability table generator 100 is configured to generate the probability table including a plurality of entries, wherein the entries correspond to a plurality of values of the probability template at a plurality of integer positions and the integer positions are determined based on the mean of the plurality of samples of the frame. The correspondence made between the entries of the probability table and the values of the probability template at the plurality of integer positions provides for the scaling of the probability template based on the mean to match the sample range in the frame and re-sampling of the scaled probability at integer positions.
[00168] In another embodiment, the encoder 300 further includes a de-quantizer 340 configured to de-quantize the mean index to generate a de-quantized mean index. Accordingly, the mean may be recovered by de-quantizing the mean index using the de- quantizer 340, and may be used to control the scaling and re-sampling of the probability template by the probability table generator 100.
[00169] In an embodiment, the de-quantizer 340 may perform the de-quantization in accordance with the following equation: mean = 22' (4) wherein mean denotes the de-quantized mean index.
[00170] The probability table generator 100 is configured to scale the probability template including a sampled PDF (probability density function) by the de-quantized mean index to match the sample range in the current frame of samples. For example, the sampled probability density function of a random variable may be scaled in the direction of the random variable (e.g. in the x-axis direction of a Cartesian coordinate plane) by a scaling factor. The scaling factor may be determined based on the de-quantized mean index of the current frame. After scaling, the sampling points of the scaled sampled PDF are generally not at integer positions. The scaled sampled PDF is re-sampled at integer positions to generate the probability table, e.g. to generate the corresponding values/entries of the probability table. In an example, the scaled sampled PDF can be re- sampled by linear interpolation.
[00171] In an embodiment, the probability table generator 100 may be configured to scale and re-sample the sampled PDF according to the equation (1) described above: c; = cpj , i = 0,1,2,· · · , (1) wherein
i
J = + 0.5
mean
cpj denotes the probability template value at symbol j, c, denotes the scaled probability template value at symbol i, |_xj denotes the largest integer not greater than x, and
mean denotes the de-quantized mean index.
[00172] The integer positions j may be determined based on the mean of the frame according to other forms of equations varied from the above equation j + 0.5 mean [00173] The entropy encoder 230 included in the encoder 300 is configured to entropy encode the plurality of samples in each frame based on the probability table generated by the probability table generator 100. In an embodiment, the entropy encoder 230 is an arithmetic encoder configured to arithmetic encode the plurality of samples based on the probability table, thereby generating an arithmetic coded (AC) bit-stream.
[00174] The encoder may further include an index encoder 350 configured to encode the mean indexes generated by the mean computation unit 210 and the quantizer 330. In an embodiment, the index encoder 350 may be configured to encode the mean indexes using entropy encoding, such as differential encoding, Rice encoding and Huffman encoding. Various embodiments of the index encoder 350 will be described in more detail below.
[00175] The encoder may include a multiplexer 360, also referred to as a bit-stream multiplexer, which is configured to multiplex or pack the encoded frame (e.g. the arithmetic coded bit-stream) with the encoded mean indexes into an encoded bit-stream.
[00176] Fig. 4 shows a device according to a further embodiment. The device is for data encoding, and may be referred to as an encoding device or an encoder.
[00177] The encoder 400, similar to the encoder 300 of Fig. 3, includes a framing unit 310, a mean computation unit 210, a quantizer 330, a de-quantizer 340, a probability table generator 100, an entropy encoder 230, an index encoder 350, and a multiplexer 360, which are similar to those in Figs. 1 to 3 described above. The encoder 400 is different from the above embodiments in that a probability template selection unit 440 and various units related to probability template selection are provided in the encoder 400. [00178] The framing unit 310 of the encoder 400 is configured to partition or segment an input signal into one or more frames, each including a plurality of samples. The mean computation unit 210 is configured to receive the frames and compute a mean of a plurality of samples for each frame according to the above equation (2), for example.
[00179] The quantizer 330 is configured to quantize the mean for each frame to generate a mean index. In an embodiment, the quantizer 330 may be configured to quantize the mean value in accordance with a non-linear quantizer, for example, in accordance with the above equation (3). The de-quantizer 340 is configured to de- quantize the mean index to generate a de-quantized mean index. The de-quantization may be performed in accordance with the above equation (4), in an embodiment.
[00180] According to an embodiment, the encoder 400 includes a normalization unit 410 configured to normalize the plurality of samples of each frame based on the mean of each frame. The normalization of the samples maybe performed in accordance with the following equation:
Figure imgf000046_0001
[00181] A standard deviation computation unit 420 is included in the encoder 400 to compute a standard deviation (std) for each frame of normalized samples. The standard deviation computation unit 420 may be configured to perform the computation in accordance with the following equation:
Figure imgf000046_0002
[00182] In an embodiment, a further quantizer 430 is provided to quantize the standard deviation to generate an integer-valued index for the samples of each frame. This integer- valued index is also referred to as a standard deviation index.
[00183] According to an embodiment, the standard deviation is input to a probability template selection unit 440 of the encoder. In the probability template selection unit 440, the standard deviation is used to select a probability template from a look-up table (not shown). In an embodiment, the probability template selection unit 440 is configured to select a probability template based on the standard deviation index.
[00184] The look-up table includes a set of probability template entries. The set of probability template may be predetermined. Each probability template entry in the lookup table includes a sampled probability density function (PDF). The PDFs can be obtained or computed either by training with real samples, or by using known functions such as exponential, normal, generalized Gaussian, etc. An example of the PDF templates for different standard deviation values are shown in Fig. 5.
[00185] A fixed probability density function used in conventional encoders may not properly represent the probability distribution of different signals to be compressed. In other conventional encoders, a look-up table with a large number of probability templates is normally required in order to adapt to the characteristics of various signals, which would require more memory space and compromise encoding performance. In contrast, the various embodiments only require a small number of probability templates in the look-up table, which may be further processed to generate a probability table adapted to the characteristics of the input signal. [00186] In various embodiments, the number of probability templates in the look-up table for selection is kept small to dynamically generate the probability table. In one example, a 448-word table is generated. This may reduce the memory footprint, and the use of simple interpolation also translates to minimal computational overheads.
[00187] The probability table generator 100 is configured to scale the selected probability template based on the de-quantized mean index to match the sample range in the current frame of samples. The scaled PDF is re-sampled at integer positions to generate the probability table. For example, the scaled sampled PDF can be re-sampled by linear interpolation.
[00188] In an embodiment, the probability table generator 100 may be configured to scale and re-sample the sampled PDF according to the equation (1) described above.
[00189] The entropy encoder 230 included in the encoder 400 is configured to entropy encode the plurality of samples in each frame based on the probability table generated by the probability table generator 100. In an embodiment, the entropy encoder 230 is an arithmetic encoder configured to arithmetic encode the plurality of samples based on the probability table, thereby generating an arithmetic coded (AC) bit-stream.
[00190] The index encoder 350 is configured to encode the mean indexes generated by the mean computation unit 210 and the quantizer 330, and to encode the standard deviation indexes generated by the standard deviation computation unit 420 and the quantizer 430. Various embodiments of the index encoder 350 will be described in more detail below. [00191] In one embodiment, the index encoder 350 is configured to encode the mean indexes and the standard deviation indexes for a plurality of frames by direct entropy encoding.
[00192] In another embodiment, the index encoder 350 is configured to integer transform N indexes into one index value and N-l residual values to remove the redundancy existing among the indexes. After the transformation, the coding efficiency of the residual values is in general higher than that of the original indexes, leading to a more efficient coding system. The integer transformation can be performed based on progressive linear prediction in one embodiment, or based on multistage pair- wise integer transform in another embodiment.
[00193] The multiplexer 360 is configured to multiplex the encoded frame (e.g. the arithmetic coded bit-stream) with the encoded mean indexes and the encoded standard deviation indexes, to generate an encoded bit-stream.
[00194] In accordance with some embodiments above, the probability template that best matches the distribution of the input signal is selected based on the standard deviation information of the input signal. In accordance with various embodiments above, the mean information is used to scale the selected probability template to the dynamic range of the signal. These embodiments advantageously provide an extra freedom of using second order statistics to realize a more flexible solution to adapt to the real characteristics of the input signal.
[00195] In other embodiments, the signal to be encoded may be pre-processed to generate predicted residual data, and the embodiments of the encoders described above may be used for encoding the predicted residual data to provide predicted residual compression.
[00196] Fig. 6 shows a probability table generator according to an embodiment.
[00197] The probability table generator 600 is similar to the probability table generator
100 of Fig. 1. The probability table generator 600 is used for entropy decoding an encoded frame of signal. Similar to Fig. 1, the probability table generator 600 is configured to generate a probability table 605 based on a probability template 601 and a mean 603, for entropy decoding the frame. The mean 603 may be the mean of a plurality of samples of a frame of a signal received by the probability table generator 600, or may be the mean information of the frame decoded from an encoded bit-stream.
[00198] In an embodiment, the probability table generator 600 may be configured to scale the probability template 601 and re-sample the scaled probability template 601 based on the mean 603, thereby generating the probability table 605.
[00199] In an embodiment, the probability table generator 100 may be configured to generate the probability table 105 according to the equation (1) above.
[00200] Fig. 7 shows a device according to an embodiment. The device is for data decoding, and may be referred to as a decoding device or an decoder.
[00201] The decoder 700 includes the probability table generator 600 of Fig. 6. The probability table generator 600 is configured to generate a probability table based on the mean information and a probability template provided by a probability template unit 720.
[00202] The decoder 700 further includes an entropy decoder 730 configured to decode an encoded signal based on the generated probability table. The encoded signal may include a plurality of encoded frames, and may be the arithmetic encoded bit-stream described in Figs. 3 and 4 above.
[00203] Fig. 8 shows a device according to another embodiment. The device is for data decoding, and may be referred to as a decoding device or an decoder.
[00204] The decoder 800 corresponds to the encoder 300 of Fig. 3.
[00205] The decoder 800 includes a de-multiplexer 810, also referred to as a bit- stream de-multiplexer, which is configured to receive an encoded bit-stream and split the encoded bit-stream to encoded frames of a signal and encoded indexes. In this embodiment, the encoded indexes include encoded mean indexes. The encoded frames of the signal may be the arithmetic encoded bit-stream described in Figs. 3.and 4 above.
[00206] The decoder 800 includes an index decoder 820 configured to decode the encoded mean index to acquire the mean indexes. The index decoder 820 may be an entropy decoder, in an example. Various embodiments of the index decoder 820 will be described in more detail below.
[00207] A de-quantizer 830 is provided to de-quantize the mean indexes to generate de-quantized mean indexes.
[00208] The probability table generator 600 may be configured to generate the probability table based on the de-quantized mean indexes and the probability template provided by the probability template unit 720. In an embodiment, the generation of the probability table is in accordance with the equation (1) described above.
[00209] The entropy decoder 730 is configured to entropy decode the encoded frames based on the probability table, thereby generating a decoded signal. The entropy decoder 730 may be an arithmetic decoder, a Huffman decoder, a Golomb decoder, a Rice decoder, etc.
[00210] Fig. 9 shows a device according to a further embodiment. The device is for data decoding, and may be referred to as a decoding device or an decoder.
[00211] The decoder 900 corresponds to the encoder 400 of Fig. 4. The decoder 900 is similar to the decoder 800 of Fig. 8, and includes the de-multiplexer 810, the index decoder 820, the de-quantizer 830, the probability table generator 600 and the entropy decoder 730 described above.
[00212] In the decoder 900, an encoded bit-stream received by the de-multiplexer 810 may include encoded standard deviation indexes. Accordingly, the index decoder 820 is configured to decode the encoded standard deviation indexes output from the demultiplexer 810.
[00213] According to this embodiment, the decoder 900 includes a probability template selection unit 910. The probability template selection unit 910 is configured to receive the decoded standard deviation indexes, and select a probability template from a look-up table based on the decoded standard deviation index.
[00214] The probability table generator 600 uses the selected probability template and the de-quantized mean indexes to generate a probability table, which is used by the entropy decoder 730 to decode the encoded frames. The generation of the probability table based on the de-quantized mean index and the selection of the probability template based on the standard deviation index are similar to those described in the encoders of Figs. 2 to 4. [00215] Fig. 10 shows a flowchart illustrating a probability table generating method according to an embodiment.
[00216] At 1001, a probability template and a mean of a plurality of samples of a frame of a signal are received.
[00217] At 1003, a probability table is generated based on the probability template and the mean.
[00218] In one embodiment, the probability table is generated by scaling a probability template and re-sampling the scaled probability template based on the mean. In an embodiment, the probability table including a plurality of entries is generated, wherein the entries correspond to a plurality of values of the probability template at a plurality of integer positions and the integer positions are determined based on the mean of the plurality of samples of the frame. The correspondence made between the entries of the probability table and the values of the probability template at the plurality of integer positions provides for the scaling of the probability template based on the mean to match the sample range in the frame and re-sampling of the scaled probability at integer positions.
[00219] Fig. 1 1 shows a flowchart illustrating an encoding method according to an embodiment.
[00220] At 1101, a probability template and a mean of a plurality of samples of a frame of a signal are received.
[00221] At 1103, the probability template is scaled and the scaled probability template is re-sampled based on the mean, thereby generating a probability table.
[00222] At 1105, the frame of the signal is encoded based on the probability table. [00223] Fig. 12 shows a flowchart illustrating an encoding method according to another embodiment.
[00224] At 1201, a signal is partitioned into one or more frames, wherein each frame includes a plurality of samples.
[00225] At 1203, a mean of the plurality of samples of a frame is computed.
[00226] At 1205, the mean is quantized to generate a mean index.
[00227] At 1207, the mean index is de-quantized to generate a de-quantized mean index.
[00228] At 1209, a probability template is scaled and the scaled probability template is re-sampled based on the de-quantized mean index, thereby generating a probability table.
[00229] At 1211, the frame of the signal is encoded based on the probability table.
[00230] At 1213, the mean index is encoded.
[00231] At 1215, the encoded frame and the encoded index are multiplexed to generate an encoded bit-stream.
[00232] Fig. 13 shows a flowchart illustrating an encoding method according to a further embodiment.
[00233] At 1301, a signal is partitioned into one or more frames, wherein each frame includes a plurality of samples.
[00234] At 1303, a mean of the plurality of samples of a frame is computed.
[00235] At 1305, the mean is quantized to generate a mean index.
[00236] At 1307, the mean index is de-quantized to generate a de-quantized mean index. [00237] At 1309, the plurality of samples of the frame are normalized based on the mean.
[00238] At 1311 , a standard deviation of the normalized samples is computed.
[00239] At 1313, the standard deviation is quantized to generate a standard deviation index.
[00240] At 1315, a probability template is selected from a look-up table based on the standard deviation index.
[00241] At 1317, a probability template is scaled and the scaled probability template is re-sampled based on the de-quantized mean index, thereby generating a probability table.
[00242] At 1319, the frame of the signal is encoded based on the probability table.
[00243] At 1321, the mean index and the standard deviation index are encoded.
[00244] At 1323, the encoded frame and the encoded indexes are multiplexed to generate an encoded bit-stream.
[00245] The probability table generating method and the encoding methods described in Figs. 10 to 13 are corresponding to the probability generator 100 and the encoder 200, 300, 400 described above, and may include various embodiments as described in relation to Figs. 1 to 4 above.
[00246] Fig. 14 shows a flowchart illustrating a decoding method according to an embodiment.
[00247] At 1401, a probability template and a mean of a plurality of samples of a frame of a signal are received.
[00248] At 1403, the probability template is scaled and the scaled probability template is re-sampled based on the mean, thereby generating a probability table. [00249] At 1105, an encoded frame of the signal is decoded based on the probability table.
[00250] Fig. 15 shows a flowchart illustrating a decoding method according to another embodiment.
[00251] At 1501, an encoded bit-stream is de-multiplexed to generate an encoded frame of a signal and an encoded mean index for the frame.
[00252] At 1503, the encoded mean index is decoded.
[00253] At 1505, the decoded mean index is de-quantized to generate a de-quantized mean index.
[00254] At 1507, the probability template is scaled and the scaled probability template is re-sampled based on the mean, thereby generating a probability table.
[00255] At 1509, the encoded frame of the signal is decoded based on the probability table.
[00256] Fig. 16 shows a flowchart illustrating a decoding method according to a further embodiment.
[00257] At 1601, an encoded bit-stream is de-multiplexed to generate an encoded frame of a signal and encoded indexes for the frame.
[00258] At 1603, the encoded indexes are decoded to generate a decoded mean index and a decoded standard deviation index.
[00259] At 1605, a probability template is selected from a look-up table based on the decoded standard deviation index.
[00260] At 1607, the decoded mean index is de-quantized to generate a de-quantized mean index. [00261] At 1609, the probability template is scaled and the scaled probability template is re-sampled based on the mean, thereby generating a probability table.
[00262] At 1611, the encoded frame of the signal is decoded based on the probability table.
[00263] Fig. 17 shows an encoder according to an embodiment.
[00264] The encoder 1700 may be the index encoder 350 of Figs. 3 and 4. The encoder 1700 may be a component included in the context of the device (e.g. the encoding device or the encoder) 300, 400 in Figs. 3 and 4 for entropy encoding a signal.
[00265] In an embodiment, the encoder 1700 is used for encoding a plurality parameters, wherein each of the parameters is based on a mean of a plurality of samples of a respective frame of a signal. The plurality of parameters may include the mean indexes described in the various embodiments above.
[00266] The encoder 1700 includes a transformer 1701 configured to transform the plurality of parameters into a plurality of residual parameters based on progressive linear prediction. The transformation based on progressive linear prediction is a redundancy removal process for the plurality of parameters to be encoded.
[00267] In an embodiment, the plurality of parameters may be transformed based on progressive linear prediction of a selected order M. The value of M may be determined depending on the signal to be coded or the required complexity of the encoder. The transformation based on linear prediction of order M may be in accordance with the following:
Figure imgf000058_0001
{i(n) - alpha(M,\) * i(n - \) - ... - alpha(M,M) * i(n - M), if n > M wherein
z'(«) denotes the nth parameter,
N denotes the number of parameters,
alpha(M, l)...alpha(M,M) denote prediction coefficients of progressive linear prediction of order M,
i'(n) denotes the nth residual parameter.
[00268] The transformation may be performed in accordance with other forms of equations varied from the above equation based on progressive linear prediction. For example, one form of equation may be varied from the above equation by further including a constant item, b, in the equation. In an embodiment, the prediction coefficients alpha may be real numbers. The sum of the items to be subtracted from i(n) in the above equation, e.g., alpha(n,\) * i(n - 1) + ... + alpha(n, n) * z'(0) or
alpha(n,\) * i(n - 1) + ... + alpha(n, n) * z'(0) + b , may be approximated to the largest integer not greater than the sum before the subtraction.
[00269] In another embodiment, the transformer may further transform the residual parameter '(«) to include an indication of whether the value of the residual parameter i'(ri) is positive or negative. For example, if i'(n) is equal to or above 0, i'(n) is transformed to an even value 2· /'(«). If i'(n) is below 0, i'(ri) is transformed to an odd value -2· i'(n)-l . [00270] In one embodiment, the plurality of parameters may be transformed based on progressive linear prediction of order N in accordance with the following equations: i'(0) = i(0)
i'(l) = i(l) - alpha(l, l)*i(0)
i'(2) = i(2) - alpha(2, l)*i(l) - alpha(2,2)*i(0)
i'(3) = i(3) - alpha(3, l)*i(2) - alpha(3,2)*i(l) - alpha(3,3)*i(0) i'( ) = i(N) - alpha(N,l)*i(N-l) - ... - alpha(N,N)*i(0) wherein
N denotes the number of parameters, alpha(N,l) ...alpha(N,N) denote prediction coefficients of progressive linear prediction of order N.
[00271] The prediction coefficients alpha{N,l) ...alpha(N,N) of the order N linear predictor used at each step in the above linear prediction operation may be determined by using Levinson-Durbin algorithm on a typical index sequence decided at the designed stage. According to an embodiment, the resulting prediction coefficients may be stored at the encoder and the decoder for correctly encoding/decoding.
[00272] In another embodiment to further simplify the encoding/decoding process, from experiment results it is found that it may be sufficient to use linear prediction of up to order 2 when there are N index values to be transformed. In this embodiment, the transformation based on the progress linear prediction becomes:
i'(0) = i(0)
i'(l) = i(l) - alpha(l,l)*i(0)
i'(2) = i(2) - alpha(2, l)*i(l) - alpha(2,2)*i(0)
i'(3) = i(3) - alpha(2, l)*i(2) - alpha(2,2)*i(l) i'(N) = i(N) - alpha(2,l)*i(N-l) -alpha(2,2)*i(N-2)
[00273] In an example, alpha{\, \), alpha{2,\) and alpha(2,2) may have a value of 1, 3/4, 1/4, respectively. In another example wherein a constant item b is further included in the above equations, the constant item b to be deducted from i\n) may have a value of 1/4.
[00274] The encoder 1700 further includes an encoding unit 1703 configured to encode the plurality of residual parameters, z'(l). .. i'(N). In this embodiment, i'(0) is equal to the original parameter i(0), and is also be encoded together with the residual parameters .. i'(N) by the encoding unit 1703 .
[00275] The encoding unit 1703 may perform the encoding using an entropy encoding scheme, such as Huffman code, Arithmetic code, or Rice code.
[00276] The plurality of parameters to be encoded may include a plurality of mean indexes and a plurality of standard deviation indexes described in the various embodiments above.
[00277] Fig. 18 shows a decoder according to an embodiment.
[00278] The decoder 1800 corresponds to the encoder 1700 of Fig. 17.
[00279] The decoder 1800 may be the index decoder 820 of Figs. 8 and 9. The decoder 1800 may be a component included in the context of the device (e.g. the decoding device or the decoder) 800, 900 in Figs. 8 and 9 for entropy decoding an encoded signal.
[00280] The decoder 1800 is used for decoding a plurality of encoded parameters. Each of the parameters is based on a mean of a plurality of samples of a respective frame of a signal. The parameters may have been encoded at an encoder (e.g. the encoder 1700 —described-above) by transforming the plurality of parameters into~a-plurality"of residual parameters based on progressive linear prediction and encoding the plurality of residual parameters. The thus encoded parameters are received at the decoder 1800 for further processing.
[00281] The decoder 1800 includes a decoding unit 1801 configured to decode the plurality of encoded parameters to generate a plurality of decoded residual parameters. [00282] The decoder 1800 further includes an inverse transformer 1803 configured to inversely transform the plurality of decoded residual parameters to reconstruct the plurality of parameters based on progressive linear prediction.
[00283] In an embodiment, the plurality of parameters may be inversely transformed based on progressive linear prediction of a selected order M. The inverse transformation based on linear prediction of order M may be in accordance with the following:
Figure imgf000061_0001
V n + a p a ,l i n - + ... + ap a , i n - , i n > wherein '(«) denotes the nth decoded residual parameter, N denotes the number of parameters,
alpha{M, l) ...alpha{M,M) denote prediction coefficients of progressive linear prediction of order M, i(n) denotes the nth reconstructed parameter.
[00284] The inverse transformation may be performed in accordance with other forms of equations varied from the above equation based on progressive linear prediction. For example, one form of equation may be varied from the above equation by further including a constant item, b, in the equation. In an embodiment, the prediction coefficients alpha may be real numbers. The sum of the items to be added to i(ri) in the above equation, e.g. alpha(n,\) * i(n - 1) + ... + alpha(n, n) * z'(0) or alpha(n,\) * i(n - 1) + ... + alphain, n) * i(0) + b , may be approximated to the largest integer not greater than the sum before the addition.
[00285] In another embodiment, the decoded residual parameters may include an indication of whether their values are positive or negative, e.g. by having been further transformed to be even value or odd value during the encoding of the residual parameters as described in the corresponding encoder above. Accordingly, before performing the inverse transformation in accordance with the above equation, the inverse transformer of the decoder may transform the decoded residual parameter i'(n) to reconstruct its positive or negative value. For example, if i'(n) is an even value, /'(«) is divided by 2. If i'(n) is an odd value, i'(n) is transformed to be (-2· («)-1)/2. The thus transformed i'(n) may be approximated to the largest integer not greater than /'(«), in an embodiment. [00286] In one embodiment, the plurality of parameters may be inversely transformed based on progressive linear prediction of order N in accordance with the following equations: i(0) = i'(0)
i(l) = i'(l) + alpha(l, l)*i(0)
i(2) = i'(2) + alpha(2, l)*i(l) + alpha(2,2)*i(0)
i(3) = i*(3) + alpha(3, l)*i(2) + alpha(3,2)*i(l) + alpha(3,3)*i(0) i(N) = i'(N) + alpha(N,l)*i(N-l) + ... + alpha(N,N)*i(0)
wherein
-N-denotes-the-number-of-parameters alpha{N, 1) ...alpha(N,N) denote prediction coefficients of progressive linear prediction of order N.
[00287] In another embodiment, the progressive linear prediction of order 2 is used. In this embodiment, the inverse transformation based on the progressive linear prediction becomes: i(0) = i'(0)
i(l) = i'(l) + alpha(l , l)*i(0)
i(2) = i'(2) + alpha(2, l)*i(l) + alpha(2,2)*i(0)
i(3) = i'(3) + alpha(2, l)*i(2) + alpha(2,2)*i(l) i(N) = i'(N) + alpha(2,l)*i(N-l) +alpha(2,2)*i(N-2)
[00288] In an example, alpha{\, \), alpha{2, \) and alpha(2,2) may have a value of 1, 3/4, 1/4, respectively. In another example wherein a constant item b is further included in the above equations, the constant item b to be added to /'(«) may have a value of 1/4. [00289] Fig. 19 shows an encoding method according to an embodiment. [00290] The encoding method of Fig. 19 corresponds to the encoder 1700 of Fig. 17. [00291] At 1901, a plurality of parameters are transformed into a plurality of residual parameters based on progressive linear prediction, wherein each of the parameters is based on a mean of a plurality of samples of a respective frame of a signal. [00292] At 1903, the plurality of residual parameters are encoded. [00293] Fig. 20 shows a decoding method according to an embodiment. [00294] The decoding method of Fig. 20 corresponds to the decoder 1800 of Fig. 18. [00295] At 2001, a plurality of encoded parameters are decoded to generate a plurality of decoded residual parameters. Each of the parameters is based on a mean of a plurality -of-samples~of-a respective frame-of~a-signal. "The parameters_have_been~en"CO"ded~b ' transforming the plurality of parameters into a plurality of residual parameters based on progressive linear prediction and encoding the plurality of residual parameters.
[00296] At 2003, the plurality of decoded residual parameters are inversely transforming to reconstruct the plurality of parameters based on progressive linear prediction.
[00297] According to an alternative embodiment, the transformer 1701, the inverse transformer 1803 and the corresponding methods may be configured to perform the transformation and the inverse transformation based on multistage pair-wise integer transform. Fig. 21 shows a transformation based on multistage pair- wise integer transform in accordance with an embodiment.
[00298] At each stage, the neighboring parameters or indexes are integer transformed into one index and one residual value. At the next stages the process is repeated until only one index is left and the rest are all residual indexes. The process is realized by count = ["log 2(N)"| stages of integer transform, wherein represents the smallest integer not less than x.
[00299] At stage k (wherein k is an integer), the transformation may be described as:
Figure imgf000064_0001
- 2* )
where j = 0, j = N/2k+1 - 1
[00300] Fig. 22 shows an exemplary embodiment of the pair-wise integer transform based on the above equations and N=4.
[00301] The pseudo code for the above multistage pair-wise integer transform is —provided- as fol lows : count = ceiling(log2(N))
for (kk=0; kk<count; j++)
cc = 2Akk;
for (j=0; j<N/(2*cc); j++)
if ((2j+l)*cc <N)
i'[2j*cc] = (i[2j*cc] + i[(2j+l)*cc])/2
i'[(2j+l)*cc] = i[2j*cc] - i[(2j+l)*cc]
i[2j*cc] = i'[2j*cc];
i[(2j+l)*cc] = i'[(2j+l)*cc]
end
end
end
[00302] The above transformation process based on multistage pair-wise integer transform is reverted in the decoder and the decoding method to losslessly reproduce the original parameters.
[00303] At the decoder, the inverse transformation may be described as:
Figure imgf000065_0001
i((2 + l).2*)= i(2y - 2*)-i'((2y + l)- 2* )
where j = 0, j = N/2k+1 - 1
[00304] 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

Claims What is claimed is:
1. A probability table generator for generating a probability table for entropy encoding a frame of a signal, the frame comprising a plurality of samples of the signal,
wherein the probability table generator is configured to generate the probability table based on a probability template and a mean of the plurality of samples of the frame.
2. The probability table generator of claim 1, wherein the probability table generator is configured to generate the probability table by scaling the probability template and resampling the scaled probability template based on the mean.
3. The probability table generator of claim 2, wherein the probability table generator is configured to re-sample the scaled probability template by linear interpolation.
4. The probability table generator of any one of claims 1 to 3, wherein the probability table generator is configured to generate the probability table comprising a plurality of entries, said entries corresponding to a plurality of values of the probability template at a plurality of integer positions, the integer positions being determined based on the mean of the plurality of samples of the frame.
5. The probability table generator of any one of claims 1 to 4,
wherein the probability table generator is configured to generate the probability table based on the probability template and a de-quantized mean index, said de-quantized mean index generated by de-quantizing a quantized mean.
6. The probability table generator of claim 5, wherein the probability table generator is configured to generate the probability table by scaling the probability template and resampling the scaled probability template based on the de-quantized mean index.
7. The probability table generator of any one of claims 1 to 5, wherein the probability table generator is configured to generate the probability table in accordance with the following equation:
c, = cpj , i = 0, 1,2,· · · ,
wherein mean
denotes the probability template value at symbol j, c. denotes the scaled probability template value at symbol i, denotes the largest integer not greater than x, and mean denotes a de-quantized mean index generated by de-quantizing a quantized mean.
8. The probability table generator of any one of claims 1 to 7, wherein the probability template comprises a predetermined problibiniyllenS^
9. A device comprising the probability table generator of any one of claims 1 to 8.
10. The device of claim 9, further comprising:
an entropy encoder configured to entropy encoding the frame based on the probability table.
1 1. The device of claim 10, wherein the entropy encoder is an arithmetic encoder.
12. The device of claim any one of claims 9 to 1 1, further comprising:
a probability template selection circuit configured to select the probability template from a look-up table based on a standard deviation of the plurality of samples of the frame, said look-up table comprising a plurality of probability templates.
13. The device of claim 12, further comprising:
a standard deviation computation circuit configured to compute a standard deviation for the plurality of samples of the frame, and
a quantizer configured to quantize the standard deviation to generate a standard deviation index,
wherein the probability template selection circuit is configured to select the probability template based on the standard deviation index.
14. The device of claim 13, further comprising: a normalization circuit configured to normalize the plurality of samples of the frame based on the mean of the plurality of samples.
15. The device of claim 14, wherein the standard deviation computation circuit is configured to compute the standard deviation for the plurality of normalized samples of the frame.
16. The device of any one of claims 13 to 15, further comprising:
an index encoder configured to encode the standard deviation index, and
a multiplexer configured to multiplex the encoded frame with the encoded standard deviation index.
17. The device of any one of claims 9 to 16, further comprising:
a framing circuit configured to partition the signal into one or more frames.
18. The device of any one of claims 9 to 17, further comprising:
a mean computation circuit configured to compute the mean of the plurality of samples of the frame.
19. The device of any one of claims 9 to 18, further comprising:
a quantizer configured to quantize the mean to generate a mean index, and
a de-quantizer configured to de-quantize the mean index to generate a de-quantized mean index.
20. The device of claim 19, further comprising:
an index encoder configured to encode the mean index, and
a multiplexer configured to multiplex the encoded frame with the encoded mean indexes.
21. The device of claim 20, wherein the index encoder comprises a transformer configured to transform a plurality of mean indexes into a plurality of residual mean indexes based on progressive linear prediction, and the index encoder is configured to encode the residual mean indexes.
22. A probability table generator for generating a probability table for entropy decoding an encoded frame of a signal, the decoded frame comprising a plurality of samples of the signal,
wherein the probability table generator is configured to generate the probability table based on a probability template and a mean of the plurality of samples of the frame.
23. The probability table generator of claim 22, wherein the probability table generator is configured to generate the probability table by scaling the probability template and resampling the scaled probability template based on the mean.
24. The probability table generator of claim 23, wherein the probability table generator is configured to re-sample the scaled probability template by linear interpolation.
25. The probability table generator of any one of claims 22 to 24, wherein the probability table generator is configured to generate the probability table comprising a plurality of entries, said entries corresponding to a plurality of values of the probability template at a plurality of integer positions, the integer positions being determined based on the mean of the plurality of samples of the frame.
26. The probability table generator of any one of claims 22 to 25,
wherein the probability table generator is configured to generate the probability table based on the probability template and a de-quantized mean index, said de-quantized mean index being generated by de-quantizing a decoded mean index for the frame, said decoded mean index being generated by decoding an encoded mean index.
27. The probability table generator of claim 26, wherein the probability table generator is configured to generate the probability table by scaling the probability template and resampling the scaled probability template based on the de-quantized mean index.
28. The probability table generator of any one of claims 22 to 27, wherein the probability table generator is configured to generate the probability table in accordance with the following equation: ct = cpj , i = 0,1,2,· · · , wherein
, + 0.5
mean cpj denotes the probability template value at symbol j, c. denotes the scaled probability template value at symbol z, [xj denotes the largest integer not greater than x, and mean denotes a de-quantized mean index generated by de-quantizing a decoded mean index.
29. The probability table generator of any one of claims 22 to 28, wherein the probability template comprises a predetermined probability density function.
30. A device comprising the probability table generator of any one of claims 22 to 29.
31. The device of claim 30, further comprising
an entropy decoder configured to entropy decoding the encoded frame based on the probability table.
32. The device of claim 31, wherein the entropy decoder is an arithmetic decoder.
33. The device of any one of claims 30 to 32, further comprising:
a de-multiplexer configured to de-multiplex an encoded bit-stream to generate the encoded frame of the signal and an encoded mean index for the frame.
34. The device of claim 33, further comprising
an index decoder configured to decode the encoded mean index; and a de-quantizer configured to de-quantize the decoded mean index.
35. The device of claim 34,
wherein the index decoder is configured to decode a plurality of encoded mean indexes to generate a plurality of decoded residual mean indexes, and the index decoder comprises an inverse transformer configured to inversely transform the decoded residual mean indexes to reconstruct a plurality of mean indexes based on progressive linear predication, and
wherein the de-quantizer is configured to de-quantize the reconstructed mean indexes to generate de-quantized mean indexes.
36. The device of any one of claims 30 to 35, further comprising:
a probability template selection circuit configured to select the probability template from a look-up table based on a standard deviation of the plurality of samples of the frame, said look-up table comprising a plurality of probability templates.
37. The device of claim 36, further comprising
an index decoder configured to decode an encoded standard deviation index for the frame, and
the probability template selection circuit is configured to select the probability template from a look-up table based on the decoded standard deviation index.
38. A method for generating a probability table for entropy encoding a frame of a signal, the frame comprising a plurality of samples of the signal, the method comprising:
generating the probability table based on a probability template and a mean of the plurality of samples of the frame.
39. The method of claim 38, further comprising:
generating the probability table by scaling the probability template and re-sampling the scaled probability template based on the mean.
40. The method of claim 39, wherein the re-sampling of the scaled probability template is by linear interpolation.
41. The method of any one of claims 38 to 40, further comprising:
generating the probability table comprising a plurality of entries, said entries corresponding to a plurality of values of the probability template at a plurality of integer positions, the integer positions being determined based on the mean of the plurality of samples of the frame.
42. The method of any one of claims 38 to 41,
wherein generating the probability table is based on the probability template and a de- quantized mean index, said de-quantized mean index generated by de-quantizing a quantized mean.
43. The method of claim 42, further comprising:
generating the probability table by scaling the probability template and re-sampling the scaled probability template based on the de-quantized mean index.
44. The method of any one of claims 38 to 43, further comprising:
generating the probability table in accordance with the following equation:
ct = cpj , i = 0,1,2,· · · ,
wherein
J = 0.5
mean
cp . denotes the probability template value at symbol j, c. denotes the scaled probability template value at symbol i, [xj denotes the largest integer not greater than x, and mean denotes a de-quantized mean index generated by de-quantizing a quantized mean.
45. The method of any one of claims 38 to 44, wherein the probability template comprises a predetermined probability density function.
46. An encoding method comprising the method for generating the probability table in accordance with any one of claims 38 to 45.
47. The encoding method of claim 46, further comprising:
sntropy encoding the frame based'oh the probability tabled
48. The encoding method of claim 47, wherein the entropy encoding comprises arithmetic encoding.
49. The encoding method of any one of claims 46 to 48, further comprising:
selecting the probability template from a look-up table based on a standard deviation of the plurality of samples of the frame, said look-up table comprising a plurality of probability templates.
50. The encoding method of any one of claims 46 to 49, further comprising:
computing a standard deviation for the plurality of samples of the frame, and quantizing the standard deviation to generate a standard deviation index,
wherein the selecting of the probability template is based on the standard deviation index.
51. The encoding method of claim 50, further comprising:
normalizing the plurality of samples of the frame based on the mean of the plurality of samples.
52. The encoding method of claim 51 , further comprising:
computing the standard deviation for the plurality of normalized samples of the frame.
53. The encoding method of any one of claims 50 to 52, further comprising:
encoding the standard deviation index, and
multiplexing the encoded frame with the encoded standard deviation index.
54. The encoding method of any one of claims 46 to 53, further comprising:
partitioning the signal into one or more frames.
55. The encoding method of any one of claims 46 to 54, further comprising:
computing the mean of the plurality of samples of the frame.
56. The encoding method of any one of claims 46 to 55, further comprising:
quantizing the mean to generate a mean index, and
de-quantizing the mean index to generate a de-quantized mean index.
57. The encoding method of claim 56, further comprising:
encoding a plurality of mean indexes for a plurality of frames of the signal, and multiplexing the encoded frame with the encoded mean indexes.
58. The encoding method of claim 57, wherein encoding the mean index comprises: transforming the mean indexes into a plurality of residual mean indexes based on progressive linear prediction, and
encoding the residual mean indexes.
59. A method for generating a probability table for entropy decoding an encoded frame of a signal, the decoded frame comprising a plurality of samples of the signal, the method comprising:
generating the probability table based on a probability template and a mean of the plurality of samples of the frame.
60. The method of claim 59, further comprising:
generate the probability table by scaling the probability template and re-sampling the scaled probability template based on the mean.
61. The method of claim 60, the re-sampling of the scaled probability template is by linear interpolation.
62. The method of any one of claims 59 to 61, further comprising:
generating the probability table comprising a plurality of entries, said entries corresponding to a plurality of values of the probability template at a plurality of integer positions, the integer positions being determined based on the mean of the plurality of samples of the frame.
63. The method of any one of claims 59 to 62, further comprising:
generating the probability table based on the probability template and a de-quantized mean index, said de-quantized mean index being generated by de-quantizing a decoded mean index for the frame, said decoded mean index being generated by decoding an encoded mean index.
64. The method of claim 63, further comprising:
generating the probability table by scaling the probability template and re-sampling the scaled probability template based on the de-quantized mean index.
65. The method of any one of claims 59 to 64, further comprising:
generating the probability table in accordance with the following equation:
c, = cpj , i = 0,1,2,· · · ,
wherein
J = + 0.5
mean
cp . denotes the probability template value at symbol j, c. denotes the scaled probability template value at symbol i, [J J denotes the largest integer not greater than x, and mean denotes a de-quantized mean index generated by de-quantizing a decoded mean index.
66. The method of any one of claims 59 to 65, wherein the probability template comprises a predetermined probability density function.
67. A decoding method comprising the method for generating a probability table in accordance with any one of claims 59 to 66.
68. The decoding method of claim 67, further comprising:
entropy decoding the encoded frame based on the probability table.
69. The decoding method of claim 68, wherein the entropy decoding comprises arithmetic decoding.
70. The decoding method of any one of claims 67 to 69, further comprising:
de-multiplexing an encoded bit-stream to generate the encoded frame of the signal and an encoded mean index for the frame.
71. The decoding method of claim 70, further comprising
decoding the encoded mean index; and
de-quantizing the decoded mean index.
72. The decoding method of claim 71, wherein decoding the encoded mean index comprises decoding a plurality of encoded mean indexes to generate a plurality of decoded residual mean indexes and inversely transforming the plurality of decoded residual mean indexes to reconstruct mean indexes based on progressive linear prediction.
73. The decoding method of any one of claims 67 to 72, further comprising: selecting the probability template from a look-up table based on a standard deviation of the plurality of samples of the frame, said look-up table comprising a plurality of probability templates.
74. The decoding method of any one of claims 67 to 73, further comprising: decoding an encoded standard deviation index for the frame, and selecting the probability template from a look-up table based on the decoded standard deviation index, said look-up table comprising a plurality of probability templates.
75. An encoder for encoding a plurality of parameters, each of said parameters being based on a mean of a plurality of samples of a respective frame of a signal, wherein the encoder comprises a transformer configured to transform the plurality of parameters into a plurality of residual parameters based on progressive linear prediction, and wherein the encoder is configured to encode the plurality of residual parameters.
76. The encoder of claim 75, wherein the transformer is configured to transform the plurality of parameters in accordance with the following equation: i(0), if = 0
i{\) - alpha(\,\) *i(Q), if n = \
(«) = for n - Q,\,..., N i(n) - alpha(n,\) * i(n - 1) - ... - alpha(n, n) * z'(0), z ijf \ < n≤M
i(n) - alpha(M,\) * i(n - 1) - ... - alpha{M, M) * i{n -M) I,, if n > M wherein i(n) denotes the nth parameter,
N denotes the number of parameters,
alpha(M,l)...alpha{M,M) denote prediction coefficients of progressive linear prediction of order M,
i'(n) denotes the nth residual parameter.
77. The encoder of claim 75 or 76,
wherein the plurality of parameters comprise a plurality of mean indexes, wherein each mean index is a quantized mean of the plurality of samples in the respective frame.
78. The encoder of any one of claims 75 to 77,
wherein the plurality of parameters comprise a plurality of standard deviation indexes, wherein each standard deviation index is a quantized standard deviation of the plurality of samples in the respective frame.
79. The encoder of any one of claims 75 to 78, wherein the encoder is configured to entropy encode the plurality of residual parameters.
80. A device comprising the encoder of any one of claims 75 to 79.
81. The device of claim 80, further comprising
a framing circuit configured to partition the signal into one or more frames, each frame comprising a plurality of samples.
82. The device of claim 80 or 81, further comprising
a mean computation circuit configured to compute a respective mean of the plurality of samples of the respective frame.
83. The device of claim 82, further comprising
a quantizer configured to quantize the respective mean of the plurality of samples in the respective frame to generate a respective mean index.
84. The device of any one of claims 80 to 83, further comprising
a standard deviation computation circuit configured to compute a respective standard deviation of the plurality of samples in the respective frame.
85. The device of claim 84, further comprising
a quantizer configured to quantize the respective standard deviation of the plurality of samples in the respective frame to generate a respective standard deviation index.
86. The device of claim 84 or 85, further comprising
a normalization circuit configured to normalize the plurality of samples in the respective frame based on the mean of the plurality of samples,
wherein the standard deviation computation circuit is configured to compute the standard deviation of the plurality of normalized samples in the respective frame as the respective standard deviation for the respective frame.
87. The device of any one of claims 80 to 86, further comprising a multiplexer configured to multiplex the plurality of encoded parameters with encoded frames of the signal to generate an encoded bit-stream.
88. A decoder for decoding a plurality of encoded parameters, each of said parameters being based on a mean of a plurality of samples of a respective frame of a signal, wherein the decoder is configured to decode the plurality of encoded parameters to generate a plurality of decoded residual parameters, and wherein the decoder comprises an inverse transformer configured to inversely transform the plurality of decoded residual parameters to reconstruct the plurality of parameters based on progressive linear prediction.
89. The decoder of claim 88, wherein the inverse transformer is configured to inversely transform the plurality of decoded parameters in accordance with the following equation: i'( ), if n = 0
i' (l) + alpha(l,l) *i(0), if n = \
'(«) = for n = 0,1,.
i' (n) + alpha{n,\) * i{n - 1) + ... + alpha(n, n) * i(0), if \ < n≤M
{i' (n) + alpha(M,l) *i(n -l) + ... + alpha(M,M) *i(n -M), if n > M wherein i'(n) denotes the nth decoded residual parameter, alpha(M, 1) ... alpha(M,M) denote prediction coefficients of progressive linear prediction of order N, i(n) denotes the nth reconstructed parameter.
90. The decoder of claim 88 or 89,
wherein the plurality of reconstructed parameters comprise a plurality of mean indexes, wherein each mean index is a quantized mean of the plurality of samples in the respective frame.
91. The decoder of any one of claims 88 to 90,
wherein the plurality of reconstructed parameters comprise a plurality of standard deviation indexes, wherein each standard deviation index is a quantized standard deviation of the plurality of samples in the respective frame.
92. The decoder of any one of claims 88 to 91, wherein the decoder is configured to entropy decode the plurality of encoded parameters.
93. A device comprising the decoder of any one of claims 88 to 92.
94. The device of claim 93, further comprising
a de-quantizer configured to de-quantize a plurality of mean indexes to generate a plurality of de-quantized mean indexes for decoding encoded frames of the signal.
95. The device of claim 93 or 94, further comprising
a de-quantizer configured to de-quantize a plurality of standard deviation indexes to generate a plurality of de-quantized standard deviation indexes for decoding encoded frames of the signal.
96. The device of any one of claims 93 to 95, further comprising a de-multiplexer configured to de-multiplex an encoded bit-stream to generate encoded frames of the signal and the plurality of encoded parameters.
97. A method for encoding a plurality of parameters, each of said parameters being based on a mean of a plurality of samples of a respective frame of a signal, the method comprising: transforming the plurality of parameters into a plurality of residual parameters based on progressive linear prediction, and encoding the plurality of residual parameters.
98. The method of claim 97, further comprising transforming the plurality of parameters in accordance with the following equation: i(0), ifn=Q
i(l)-alpha(l,\)*i(0), if n = \
*'(") = forn = 0,1,...
i(n) - alph n,Y) *i(n-l)-...- alph^n, ri) * z'(0), if\<n<M
[i(n)-alphc^M,l)*i(n-l)-...-alpha{M,M)*i(n-M), if n>M wherein i(n) denotes the nth parameter,
N denotes the number of parameters, alpha{M,l) ...alpha(M,M) denote prediction coefficients of progressive linear prediction of order M, i'(n) denotes the nth residual parameter.
99. The method of claim 97 or 98,
wherein the plurality of parameters comprise a plurality of mean indexes, wherein each mean index is a quantized mean of the plurality of samples in the respective frame.
100. The method of any one of claims 97 to 99,
wherein the plurality of parameters comprise a plurality of standard deviation indexes, wherein each standard deviation index is a quantized standard deviation of the plurality of samples in the respective frame.
101. The method of any one of claims 97 to 100, further comprising:
encoding the plurality of residual parameters by entropy encoding.
102. An encoding method comprising the method for encoding a plurality of parameters in accordance with any one of claims 97 to 101.
103. The encoding method of claim 102, further comprising:
partitioning the signal into one or more frames, each frame comprising a plurality of samples.
104. The encoding method of claim 102 or 103, further comprising:
computing a respective mean of the plurality of samples of the respective frame.
105. The encoding method of claim 104, further comprising: quantizing the respective mean of the plurality of samples in the respective frame to generate a respective mean index.
106. The encoding method of any one of claims 102 to 105, further comprising:
computing a respective standard deviation of the plurality of samples in the respective frame.
107. The encoding method of claim 106, further comprising:
quantizing the respective standard deviation of the plurality of samples in the respective frame to generate a respective standard deviation index.
108. The encoding method of claim 106 or 107, further comprising:
normalizing the plurality of samples in the respective frame based on the mean of the plurality of samples, and
computing the standard deviation of the plurality of normalized samples in the respective frame as the respective standard deviation for the respective frame.
109. The encoding method of any one of claims 102 to 108, further comprising:
multiplexing the plurality of encoded parameters with encoded frames of the signal to generate an encoded bit-stream.
110. A method for decoding a plurality of encoded parameters, each of said parameters being based on a mean of a plurality of samples of a respective frame of a signal, the method comprising: decoding the plurality of encoded parameters to generate a plurality of decoded residual parameters, and inversely transforming the plurality of decoded residual parameters to reconstruct the plurality of parameters based on progressive linear prediction.
111. The method of claim 110, further comprising inversely transforming the plurality of decoded residual parameters in accordance with the following equation: i'(O), ifn = 0
+ alpha (U)*j(0), ifn = \
/(«) = for n = 0,1,..., N i' (n) + alpha (n,l) * z'(n - 1) + ... + alpha (n, n) * i(0), if\<n≤M
[Ϊ (n) + alpha ( ,l) */(«-!) + ... + alpha (M,M)*i(n-M), ifn>M wherein i'(n) denotes the nth decoded residual parameter, alpha(M,l)...alpha{M,M) denote prediction coefficients of progressive linear prediction of order M, i(n) denotes the nth reconstructed parameter.
112. The method of claim 110 or 111, wherein the plurality of reconstructed parameters comprise a plurality of mean indexes, wherein each mean index is a quantized mean of the plurality of samples in the respective frame.
113. The method of any one of claims 110 to 112,
wherein the plurality of reconstructed parameters comprise a plurality of standard deviation indexes, wherein each standard deviation index is a quantized standard deviation of the plurality of samples in the respective frame.
114. The method of any one of claims 110 to 113, further comprising:
decoding the plurality of encoded parameters by entropy decoding.
115. A decoding method comprising the method for decoding a plurality of encoded parameters in accordance with any one of claims 110 to 114.
116. The decoding method of claim 1 15, further comprising
de-quantizing a plurality of mean indexes to generate a plurality of de-quantized mean indexes for decoding encoded frames of the signal.
117. The decoding method of claim 115 or 116, further comprising
de-quantizing a plurality of standard deviation indexes to generate a plurality of de- quantized standard deviation indexes for decoding encoded frames of the signal.
118. The decoding method of any one of claims 115 to 117, further comprising
de-multiplexing an encoded bit-stream to generate encoded frames of the signal and the plurality of encoded parameters.
PCT/SG2011/000151 2010-04-15 2011-04-15 Probability table generator, encoder and decoder WO2011129774A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
SG201002656 2010-04-15
SG201002656-5 2010-04-15
SG201004437 2010-06-21
SG201004437-8 2010-06-21

Publications (1)

Publication Number Publication Date
WO2011129774A1 true WO2011129774A1 (en) 2011-10-20

Family

ID=44798913

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SG2011/000151 WO2011129774A1 (en) 2010-04-15 2011-04-15 Probability table generator, encoder and decoder

Country Status (1)

Country Link
WO (1) WO2011129774A1 (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4942467A (en) * 1988-12-05 1990-07-17 General Electric Company Predictor controlled encoder for digital transmission systems
EP0266620B1 (en) * 1986-10-21 1991-07-31 CSELT Centro Studi e Laboratori Telecomunicazioni S.p.A. Method of and device for speech signal coding and decoding by parameter extraction and vector quantization techniques
US5235418A (en) * 1991-11-19 1993-08-10 Scientific-Atlanta, Inc. Method and apparatus for low frequency removal in vector quantization
US5379355A (en) * 1992-08-24 1995-01-03 Ricoh Corporation Data encoding using one or more adaptive decision trees
US5471207A (en) * 1994-02-23 1995-11-28 Ricoh Company Ltd. Compression of palettized images and binarization for bitwise coding of M-ary alphabets therefor
US5864780A (en) * 1995-10-24 1999-01-26 Georgia Tech Research Corp. Jointly optimized subband coding system and method
US6111914A (en) * 1997-12-01 2000-08-29 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
US6161089A (en) * 1997-03-14 2000-12-12 Digital Voice Systems, Inc. Multi-subframe quantization of spectral parameters
US6233550B1 (en) * 1997-08-29 2001-05-15 The Regents Of The University Of California Method and apparatus for hybrid coding of speech at 4kbps
US20010017941A1 (en) * 1997-03-14 2001-08-30 Navin Chaddha Method and apparatus for table-based compression with embedded coding
US6636641B1 (en) * 1996-03-19 2003-10-21 Mitsubishi Denki Kabushiki Kaisha Encoding apparatus, decoding apparatus, encoding method and decoding method
JP2009031519A (en) * 2007-07-26 2009-02-12 Nippon Telegr & Teleph Corp <Ntt> Vector quantization encoding device, vector quantization decoding device and methods of them, and program and recording medium for the devices

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0266620B1 (en) * 1986-10-21 1991-07-31 CSELT Centro Studi e Laboratori Telecomunicazioni S.p.A. Method of and device for speech signal coding and decoding by parameter extraction and vector quantization techniques
US4942467A (en) * 1988-12-05 1990-07-17 General Electric Company Predictor controlled encoder for digital transmission systems
US5235418A (en) * 1991-11-19 1993-08-10 Scientific-Atlanta, Inc. Method and apparatus for low frequency removal in vector quantization
US5379355A (en) * 1992-08-24 1995-01-03 Ricoh Corporation Data encoding using one or more adaptive decision trees
US5471207A (en) * 1994-02-23 1995-11-28 Ricoh Company Ltd. Compression of palettized images and binarization for bitwise coding of M-ary alphabets therefor
US5864780A (en) * 1995-10-24 1999-01-26 Georgia Tech Research Corp. Jointly optimized subband coding system and method
US6636641B1 (en) * 1996-03-19 2003-10-21 Mitsubishi Denki Kabushiki Kaisha Encoding apparatus, decoding apparatus, encoding method and decoding method
US6161089A (en) * 1997-03-14 2000-12-12 Digital Voice Systems, Inc. Multi-subframe quantization of spectral parameters
US20010017941A1 (en) * 1997-03-14 2001-08-30 Navin Chaddha Method and apparatus for table-based compression with embedded coding
US6233550B1 (en) * 1997-08-29 2001-05-15 The Regents Of The University Of California Method and apparatus for hybrid coding of speech at 4kbps
US6111914A (en) * 1997-12-01 2000-08-29 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
JP2009031519A (en) * 2007-07-26 2009-02-12 Nippon Telegr & Teleph Corp <Ntt> Vector quantization encoding device, vector quantization decoding device and methods of them, and program and recording medium for the devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MEHROTRA S. ET AL.: "Predictive Hierarchical Table-Lookup Vector Quantization with Quadtree Encoding", PROCEEDINGS OF 3RD IEEE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, vol. 3, 16 September 1996 (1996-09-16) - 19 September 1996 (1996-09-19), LAUSANNE, SWITZERLAND, pages 407 - 410 *

Similar Documents

Publication Publication Date Title
US10404984B2 (en) Method and apparatus for pyramid vector quantization indexing and de-indexing of audio/video sample vectors
KR101226566B1 (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
EP2282310B1 (en) Entropy coding by adapting coding between level and run-length/level modes
CN110085238B (en) Audio encoder and decoder
NO341186B1 (en) Selective application using multiple entropy models in adaptive coding and decoding
EP2191381A1 (en) Encoding and/or decoding digital content
KR20100113172A (en) Reduced-complexity vector indexing and de-indexing
US11475600B2 (en) Method and device for digital data compression
WO2009097284A1 (en) Intermediate compression of reference frames for transcoding
KR20120096541A (en) Method, system, and apparatus for compression or decompression of digital signals
JP4163680B2 (en) Adaptive method and system for mapping parameter values to codeword indexes
JP2004258603A (en) Entropy encoding adapting encoding between level mode and run length/level mode
WO2011162723A1 (en) Entropy encoder arrangement and entropy decoder arrangement
EP2301157A1 (en) Entropy-coded lattice vector quantization
WO2011129774A1 (en) Probability table generator, encoder and decoder
US8487789B2 (en) Method and apparatus for lossless encoding and decoding based on context
CN104318926B (en) Lossless audio coding method based on IntMDCT, coding/decoding method
RU2765654C9 (en) Method and device for digital data compression
KR20160105848A (en) Method and apparatus for performing an arithmetic coding for data symbols
WO2022178405A1 (en) Dependent quantization and residual coding method

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: 11769189

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: 11769189

Country of ref document: EP

Kind code of ref document: A1